MỘT SỐ NGUYÊN TẮC CƠ BẢN KHI TẠO ACL

Một phần của tài liệu Tiểu luận ứng dụng truyền thông và an toàn thông tin Router & Access Control Lists (Trang 35)

D. Access Control Lists

MỘT SỐ NGUYÊN TẮC CƠ BẢN KHI TẠO ACL

E. Tạo Access Control Lists

MỘT SỐ NGUYÊN TẮC CƠ BẢN KHI TẠO ACL

o Một ACL cho một giao thức trên một chiều của một cổng. o ACL cơ bản nên đặt ở vị trí gần mạng đích nhất.

o ACL mở rộng nên đặt ở vị trí gần mạng nguồn nhất.

o Các câu lệnh trong một ACL sẽ được kiểm tra tuần tự từ trên xuống cho đến khi có một câu lệnh được thoả, nếu không thì gói dữ liệu đó cũng sẽ bị từ chối.

o Có một câu lệnh từ chối tuyệt đối nằm ẩn ở cuối cùng trong ACL. o Các câu lệnh trong ACL nên xếp từ chi tiết đến tổng quát.

o Trong một câu lệnh ACL, điều kiện được kiểm tra trước rồi mới kiểm tra tới việc cho phép hay từ chối.

o Nên sử dụng công cụ soạn thảo văn bản để soạn trước các câu lệnh ACL. o Dòng lệnh mới luôn được thêm vào cuối danh sách ACL.

o Lệnh no access-list x sẽ xóa tòan bộ ACL x.

PHÂN LOẠI

o ACL mở rộng (100-199): kiểm tra địa chỉ nguồn và đích của gói dữ liệu, kiểm tra giao thức lẫn số port.

o ACL đặt tên (Name): từ phiên bản Cisco IOS 11.2 trở đi, cho phép tạo ACL cơ bản và mở rộng theo tên thay vì theo số.

1. ACL cơ bản

Lọc (Filter) địa chỉ ip nguồn (Source) vào trong mạng – đặt gần đích (Destination). Router(config)#access-list access-list-number {permit|deny}source [ source-mask] ……

Router(config-if)#{protocols} access-group access-list-number {in|out} 2. ACL mở rộng

Router(config)#access-list access-list-number {permit|deny} protocol source source-

mask destination destination-mask [operator|operand] [established] [log]

o access-list-number là một giá trị giữa 100 và 199 hoặc 2000 đến 2699, được chọn để tạo ra một mở rộng ACL.

o permit|deny dòng khai báo mày thể hiện việc chấp nhận hay hủy bỏ gói tin. o protocol: chỉ ra giao thức được lọc như IP, ICMP, TCP…..

o source/destination là giá trị của địa chỉ IP nguồn và đích.

o Source/destination-mask :là mặt nạ wildcard để kiểm tra địa chỉ nguồn và đích. o operator|operand là giá trị xác các tùy chọn cho danh sách này.

Các lựa chọn bao gồm:

- GT-Lớn hơn

- LT - Ít hơn

- EQ-Bằng

- Neq- Không bằng

o Established: chỉ sử dụng cho giao thức TCP theo chiều vào. Cho phép các gói tin TCP đi qua khi gói tin này là gói trả lời phiên làm việc khỏi tạo bên ngoài. Loại gói tin này có bit ACK

o Log: lưu lại nhật kí trên màn hình console.

Khi đã tạo ACL giai đoạn thứ hai là áp dụng ACL cho một giao diện (interface): Router(config-if)#ip access-group access-list-number{in|out}

o access-list-number là giá trị được gán vào danh sách thực được thực hiện trên giao

diện này.

o In | out là giá xác định xem danh sách sẽ lọc các gói tin gửi đến và gửi đi.

Hình 1-16: Một mạng lưới mẫu đối với ACL triển khai thực hiện. (Sử dụng hình 1.16 cho tất cả các cấu hình bên dưới)

2.1 Từ chối một máy chủ cụ thể

Cấu hình fragment cho ví dụ này là:

Router#configure terminal Router(config)#access-list 23 deny 192.168.10.7 0.0.0.0 Router(config)#access-list 23 permit 0.0.0.0 255.255.255.255 Router(config)#interface Ethernet 0 Router(config-if)#ip access-group 23 in Router(config-if)#^Z Router# 2.2 Từ chối một Subnet Router#configure terminal

Router(config)#access-list 45 deny 192.168.10.7 0.0.0.0 Router(config)#access-list 45 deny 192.168.20.0 0.0.0.255 Router(config)#access-list 45 permit 0.0.0.0 255.255.255.255 Router(config)#interface Serial 0

Router(config-if)#ip access-group 45 out Router(config-if)#^Z

Router#

2.3 Từ chối một mạng

Trong ví dụ này ta từ chối hoàn toàn 1 mạng:

Router#configure terminal

Router(config)#access-list 57 deny 192.168.20.0 0.0.0.255 Router(config)#access-list 57 deny 192.168.10.0 0.0.0.255 Router(config)#access-list 57 permit 0.0.0.0 255.255.255.255 Router(config)#interface Ethernet 0

Router(config-if)#ip access-group 57 out Router(config-if)#interface Ethernet 1 Router(config-if)#ip access-group 57 out Router(config-if)#^Z

Router#

2.4 Cấp Telnet từ một máy chủ cụ thể

Ta cấu hình trường hợp này như sau:

Router#configure terminal Router(config)#access-list 123 permit tcp 192.168.20.16 0.0.0.0 0.0.0.0 255.255.255.255 eq 23 Router(config)#access-list 123 permit tcp 192.168.10.7 0.0.0.0 0.0.0.0 255.255.255.255 eq 23 Router(config)#access-list 123 deny tcp 192.168.0.0 0.0.255.255 0.0.0.0 255.255.255.255 eq 23 Router(config)#access-list 123 permit ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 Router(config)#interface Serial 0

Router(config-if)#ip access-group 123 out Router(config-if)#^Z

2.5 Cấp FTP cho Subnet

Ta cấp FTP cho một subnet bằng ACL mở rộng:

Router#configure terminal Router(config)#access-list 145 permit tcp 192.168.20.0 0.0.0.255 0.0.0.0 255.255.255.255 eq 20 Router(config)#access-list 145 permit tcp 192.168.20.0 0.0.0.255 0.0.0.0 255.255.255.255 eq 21 Router(config)#access-list 145 deny tcp 192.168.10.0 0.0.0.255 0.0.0.0 255.255.255.255 eq 20 Router(config)#access-list 145 deny tcp 192.168.10.0 0.0.0.255 0.0.0.0 255.255.255.255 eq 21

Router(config)#access-list 145 permit ip any any Router(config)#interface Serial 0

Router(config-if)#ip access-group 145 out Router(config-if)#^Z

Router#

3. Bảo vệ chống lại tấn công với ACL

Trên thực tế thì ACL còn được sử dụng nhiều hơn là việc cho phép hoặc từ chối gói tin trên mạng. ACL còn được sử dụng để phòng ngừa các cuộc tấn công, ví dụ như là các cuộc tấn công SYN, DoS

3.1 Anti-DoS ACLs

Những công việc ACL là nhận ra các giao thức và các port của các cuộc tấn công DoS. Bằng cách sử dụng các ACL, bạn có thể khóa các ứng dụng đã lựa chọn các port giá trị lớn. Tốt nhất chúng ta nên đặt ACL ở các interface, nếu không thì bạn cũng nên đặt nó ở công ra internet.

Trong cấu hình sau, phần đầu (cổng 27665, 31335, 27444) của danh sách được thiết kế chặn DDoS TRINOO, và phần thứ hai (cổng 6776, 6669, 2222, 7000) được thiết kế để ngăn chặn DDoS SubSeven.

Router(config)#access-list 160 deny tcp any any eq 27665 Router(config)#access-list 160 deny udp any any eq 31335 Router(config)#access-list 160 deny udp any any eq 27444 Router(config)#access-list 160 deny tcp any any eq 6776 Router(config)#access-list 160 deny tcp any any eq 6669 Router(config)#access-list 160 deny tcp any any eq 2222 Router(config)#access-list 160 deny tcp any any eq 7000

Mô hình bắt tay 3 bước bình thường

Cuộc tấn công TCP SYN là tấn công làm tràn các máy chủ mục tiêu và không cho phép bất kỳ kết nối hợp pháp được thực hiện bởi các máy chủ mục tiêu . Để làm việc ngăn chặn điều này, ACL phải cho phép các kết nối TCP hợp pháp, được tạo ra bằng các máy trong mạng, nhưng không cho phép kết nối đến các máy chủ từ bên ngoài (như Internet).

Trong fragment cấu hình đầu tiên này,ta cho phép kết nối ra ngoài, và kết nối đến(in) không có khả năng để tạo ra các phiên mới.

Router#configure terminal

Router(config)#access-list 170 permit tcp any 192.168.20.0 0.0.0.255 established

Router(config)#access-list 170 deny ip any any Router(config)#interface Serial 0

Router(config-if)#ip access-group 170 in Router(config-if)#^Z

Router#

3.3 Anti-Land ACLs

Một dạng khác tấn công là Land attack dễ để thiết kế, nhưng nó có thể gây thiệt mạng nghiêm trọng cho hệ thống không được bảo vệ cuộc tấn công này hoạt động bằng cách gửi

một gói tin từ một địa chỉ IP giống nhau địa chỉ IP của máy bị tấn công, và sử dụng cùng một cổng(tức là gửi cho chính mình). Vì vậy, một gói tin sẽ được gửi từ 10.10.10.10:5700 cho 10.10.10.10:5700 gây ra sự chậm lại đáng kể hoặc DoS của mục tiêu.

Cấu hình sau đây cho việc bảo vệ chống lại một Land trên 10.20.30.50 máy chủ, đây là một địa chỉ IP của một giao diện bên trên router.

Router#configure terminal Router(config)#interface Serial 0

Router(config-if)#ip address 10.20.30.50 255.255.255.0 Router(config-if)#exit

Router(config)#

Router(config)#access-list 110 deny ip host 10.20.30.50 host 10.20.30.50 log

Router(config)#access-list 110 permit ip any any Router(config)#interface Serial 0

Router(config-if)#ip access-group 110 in Router(config-if)#^Z

Router#

3.4 Anti-spoofing ACLs

Giả mạo các gói tin đã trở thành phổ biến hơn do số lượng gia tăng của các công cụ cung chức năng này. Bạn có thể sử dụng router của bạn để chống lại vấn đề này bằng cách không cho các gói tin để vào mạng nếu chúng đến từ một địa chỉ IP nội .

Khi bạn tạo các danh sách này, bạn muốn chúng được hoàn thành. Nói cách khác, đừng quên để chặn các địa chỉ phát sóng (cho 10.10.10.10:5700 ngăn chặn các cuộc tấn công như Smurf), địa mạng, địa cá nhân hoặc dành riêng. Trong các cấu hình fragment, mạng nội bộ là 152.148.10.0/24, và bạn sẽ thấy rằng có một vài dòng cần để cung cấp bảo vệ toàn spoof:

Router#configure terminal

Router(config)#access-list 130 deny ip 152.148.10.0 0.0.0.255 any Router(config)#access-list 130 deny ip 127.0.0.0 0.255.255.255 any

Router(config)#access-list 130 deny ip 0.0.0.0 255.255.255.255 any Router(config)#access-list 130 deny ip 10.0.0.0 0.255.255.255 any Router(config)#access-list 130 deny ip 172.16.0.0 0.0.240.255 any Router(config)#access-list 130 deny ip 192.168.0.0 0.0.255.255 any Router(config)#access-list 130 deny ip host 255.255.255.255 any Router(config)#access-list 130 permit ip any 152.148.10.0 0.0.0.255 Router(config)#interface Serial 0 Router(config-if)#ip access-group 130 in Router(config-if)#^Z Router# V. Logging Concepts

Đăng nhập vào router từ xa là công việc hết sức quan trọng và cần thiết . Logs là một chương trình cho phép bạn nghiên cứu cuộc tấn công , tìm các vấn đề trong mạng, và phân tích mạng .

Khi bạn cấu hình các tùy chọn đăng nhập vào một bộ định tuyến, thì bạn có thể đăng nhập bất kỳ nơi nào , và bạn vẫn theo dõi những sự thay đổi từ các thiết bị của mình , từ đó bạn có thể đưa ra các quyết đính kịp thời và phù hợp .

Có nhiều loại thiết bị của các hãng khác nhau có thể giải quyết được công việc này như gửi tin nhắn qua điện thoại , gửi thông điệp qua email.Trong phần này, chúng ta sẽ tìm hiểu một thiết bị có sẵn chức năng đó, mà không cần sử dụng bất kỳ ứng dụng nào của bên thứ 3 .

Cisco Logging Options :

Trên một router Cisco, thiết bị có thể đăng nhập thông tin bằng cách sử dụng một số phương pháp khác nhau, chẳng hạn như:

 console Logging: Tin nhắn đăng nhập được gửi đến thông qua cổng console của PC .

 Logging Terminal: Tin nhắn được gửi đến các phiên VTY.

 Buffered Logging: Tin nhắn được lưu giữ trong bộ nhớ RAM trên router, một khi bộ đệm đầy, các tin nhắn cũ nhất được ghi đè bởi các thông báo mới .

 Syslog Logging: Tin nhắn được gửi đến một máy chủ syslog bên ngoài để lưu trữ và sắp xếp các tin nhắn theo thời gian .

 SNMP Logging: Tin nhắn được gửi đến một máy chủ SNMP trên mạng (bằng cách sử dụng traps SNMP).

Log Priority :

Router có một chức năng được xây dựng trong danh sách ưu tiên cho các tin nhắn đăng nhập mức độ khoảng 0-7. Nếu một thông báo có mức là thấp hơn thì đó là một thông điệp quan trọng . Vì vậy, ở mức 1 là quan trọng hơn mức 6.

Khi bạn chọn một cấp độ, và tất cả những thông điệp khác ở mức độ thấp hơn sẽ được hiển thị .Ví dụ : nếu bạn chọn cấp độ 3, bạn sẽ được trình bày với những thông điệp từ cấp 3-0. Nếu bạn chọn cấp 7, bạn sẽ được trình bày với những thông điệp từ tầng 7 đến 0.

1. Cấu hình các Logging

Trong ví dụ sau đây, bạn sẽ thấy làm thế nào để cấu hình thiết bị khi đăng nhập. Một số sẽ sử dụng bộ đệm khác trên giao diện điều khiển. Xem những đoạn cấu hình thông qua phần này sẽ cho phép bạn xác định loại hình đăng nhập, bạn sẽ sử dụng trong các tình huống nhất định.Các giao thức định tuyến của Cisco được quy định theo một chuẩn trên toàn cầu .

Timestamping

Để bạn có thể phân tích các bản ghi, bạn sẽ cần phải biết những những ký hiệu cũng như những thông điệp đã xảy . Mỗi khi có một sự thay đổi trên thiết bị sẽ có một thông điệp được gửi kèm nhãn thời gian tương ứng .Câu lệnh cấu hình cho Cisco tùy chọn đánh dấu thời gian là service timestamp log datetime. có ba lựa chọn có thể được thêm vào thông điệp này.

 Msec Các tùy chọn sẽ bao gồm một phần nghìn giây trong một bản ghi Điều này có thể có hoặc không được yêu cầu, dựa trên mục tiêu của bạn. Nếu không bổ sung, đăng nhập sẽ vòng quanh sự kiện lần thứ hai gần nhất .

 Các tùy chọn localtime sẽ làm cho các bộ định tuyến đánh dấu các bản ghi bằng cách sử dụng thời gian hệ thống, do đó nó dễ dàng hơn cho mọi người đọc và phân tích các bản ghi. Khi sử dụng một máy chủ syslog, tùy chọn này thường để lại .

 Các tùy chọn show-timezone cho biết thêm khu vực thời gian để các tin nhắn đăng nhập. Điều này có thể hữu ích khi làm việc với các tập tin đăng nhập từ nhiều địa điểm và khu vực khác nhau .

2. Console Logging

Console logging có lẽ là đơn giản nhất trong tất cả các tùy chọn đăng nhập vào các bộ định tuyến Cisco. Một số câu lệnh cấu hình router sử dụng console logging :

Router#configure terminal Router(config)#logging on

Router(config)#logging console notification Router(config)#^Z

Router#

Trong ví dụ này, mức độ logging 5 đã được cấu hình. Điều này có nghĩa rằng các mục trong danh sách truy cập sẽ không được đăng nhập va sửa lỗi thông điệp . Còn khi ta muốn xem những thông điệp ở mức 2 thì ta dụng câu lệnh logging console critical .

3. Buffered Logging

Buffered Logging đòi hỏi bạn phải xác định kích thước bộ nhớ sẽ được sử dụng cho các bản ghi công thức tổng quát mà nhiều người theo dõi là nếu router có ít hơn 16 MB RAM, sau khi đăng nhập thì sẽ tăng thêm 16 KB. Nếu router của bạn có hơn 16MB bộ nhớ RAM thì sau khi đăng nhập có thể tăng thêm 32 hoặc thậm 64 KB .

Trên tất cả các bản ghi , thời gian và ngày có thể được thêm vào tin nhắn, đó là một thủ tục mặc định trên buffered logging. Tuy nhiên, nó coi như là một tùy chọn bắt buộc . Khi không gian đệm được làm đầy ,thì router sẽ hủy bỏ các tin nhắn cũ và thay thế chúng với những thông điệp mới. Vì vậy, thời gian là một thành phần quan trọng trên buffered logging. Cách cấu hình sau đây cho logging thiết lập ở cấp độ 2, và sử dụng một dấu thời gian.

Router#configure terminal Router(config)#logging on

Router(config)#logging buffered 16000 critical

Router(config)#service timestamp log date msec localtime show-timezone

Router(config)#^Z Router#

Trong ví dụ này, số lượng bộ nhớ đã được phân bổ 16 KB, bản ghi sẽ đi vào bộ đệm và sẽ được ghi lại nếu chúng là cấp độ 2 (quan trọng) hoặc cao hơn. Cuối cùng, timestamping đầy được sử dụng, bao gồm cả thời cục bộ và các tùy chọn vùng thời gian .

4. Terminal Logging

Thông thường, không có tin nhắn được gửi đến phiên thiết bị đầu cuối này nhằm tiết kiệm băng thông, và trong một số tình huống giúp mục đích bảo mật. Để cho phép logging có thể thấy được trên một phiên VTY, lệnh terminal màn hình phải được sử dụng . Câu lệnh cấu hình sau đây cho các thiết lập logging đến cấp 5, và được gửi đến các phiên VTY

Router#configure terminal Router(config)#logging on Router(config)#logging monitor 5 Router(config)#^Z Router#terminal monitor Router#

Trong ví dụ này, các thiết bị đầu cuối phiên sẽ nhận được tất cả thông điệp từ cấp độ 5 và những cấp độ cao hơn .Đây là ví dụ đầu tiên sử dụng các giá trị số của mức độ thay vì tên, một chỉ báo rằng các bộ định tuyến phải có ít nhất IOS phiên bản 12.0. Có một phần thứ hai logging thiết bị đầu cuối. Câu lệnh trên sẽ thông báo cho các bộ định tuyến để gửi tin nhắn đến phiên VTY. Nếu phiên VTY được cấu hình để xem các tin nhắn. Sau đó màn hình sẽ hiển thị nội dung các tin nhắn .Trong trường hợp nếu các bản ghi trở nên nhiều hoặc không cần thiết nữa, thiết bị đầu cuối không có lệnh giám sát mà được xem trực tiếp trên phiên VTY .

5. Syslog Logging

Syslog là một công cụ (phần mềm) sử dụng để lưu trữ các sự kiện xảy ra trên một thiết bị, hệ thống phục vụ cho công tác quản trị, phát hiện các xâm nhập trái phép... Syslog được xây dựng dựa trên các Trap (phân loại các sự kiện) có tất cả khoảng 7 Trap. Nhưng thông thường thì chỉ dùng Trap Information với Trap Debugging.

Cấu hình Log chỉ cần vài câu lệnh và một máy tính cài sẵn phần mềm Syslog. Các phần mềm Syslog có thể sử dụng là Kiwi-Syslog (Free), Solarwind tốn phí ....

Câu lệnh để cấu hình :

Router(config)#logging <địa chỉ IP của máy cài phần mềm Syslog>

Router(config)#logging trap debugging (có thể thay thế debugging bằng số 7).

Một phần của tài liệu Tiểu luận ứng dụng truyền thông và an toàn thông tin Router & Access Control Lists (Trang 35)