Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
42,76 KB
Nội dung
Access Control List ACL là gì? Danh sách quản lý truy cập, nhiệm vụ cơ bản là lọc gói tin Một vài đặc điểm ACL? Các entry trong ACL đc xử lý theo thứ tự Cơ chế lọc bằng cách kiểm tra các thông số trong header gói tin ACL có nhiều ứng dụng, và cần phải được đặt lên interface, line, giao thức hoặc dịch vụ hỗ trợ ACL Mỗi interface, line, giao thức hoặc dịch vụ hỗ trợ có thể sử dụng 1 hoặc nhiều ACL Hỗ trợ hầu như tất cả giao thức nhưng mỗi giao thức nên có riêng một ACL Cuối mỗi ACL luôn có 1 explicit entry [deny all] => cần phải cẩn thận Không thể xóa,sửa entry trong numbered ACL * * * Có nhiều cách để phân loại ACL, dựa theo tên gọi ACL được chia làm number ACL và named ACL, hoặc dựa trên cơ chế lọc thì ACL đc chia thành standard ACL và extend ACL; hay dựa trên độ linh hoạt thì ACL có thể chia thành static ACL và complex ACL… Standard ACL Standard ACL là những bản tin ACL đơn giản nhất. Chúng được đánh số từ 1- 99 nếu là number ACL. Standard ACL chỉ lọc địa chỉ nguồn trong header của IP packet, vì thế chúng hoạt động tại lớp 3 trong mô hình OSI hay lớp internet trong mô hình TCP/IP. Standard ACL có thể được đặt theo chiều inbound (vào) hoặc outbound (ra) trên router (ta hiểu rằng vào hay ra là chiều tương đối đối với mỗi interface), tuy nhiên bản tin standard ACL nên được đặt càng gần destination, và thường theo chiều outbound. Vì standard ACL chỉ kiểm tra địa chỉ IP nguồn, nên vị trí đặt cần chỉ ra chính xác chiều gói tin sẽ được cho phép qua hoặc không được cho phép qua. Cấu hình Standard ACL Format Standard ACL Router(config)#access-list [list number] [permit / deny] [source IP add] [wildcardmask] Trong đó: [list number] đánh số cho standard ACL từ 1-99 [permit / deny]: cho phép hoặc không cho phép gói tin qua router [source IP add]: địa chỉ IP nguồn của gói tin [wildcard mask]: wildcard mask của địa chỉ IP Đặt Standard ACL lên interface: [list number] đánh số cho standard ACL từ 1-99 [permit / deny]: cho phép hoặc không cho phép gói tin qua router [source IP add]: địa chỉ IP nguồn của gói tin [wildcard mask]: wildcard mask của địa chỉ IP Trong đó: [list number] Số của ACL đã xác định trước [in / out]: Chọn hướng inbound hoặc outbound Extended ACL Extended ACL là những bản tin ACL mở rộng, cho phép lọc đa dạng hơn so với standard ACL nên thường được sử dụng nhiều hơn. Extended ACL được đánh số từ 100 đến 199, extended ACL cho phép port number (application), source-destination IP address , protocol và nhiều tùy chọn. Vì thế extended ACL hoạt động tại lớp 3 và lớp 4 mô hình OSI Extended ACL cũng thể được cấu hình inbound hoặc outbound trên interface, tuy nhiên vì extended ACL lọc chính xác source/destination IP Address nên vị trí đặt cần tránh tình trạng hao tổn băng thông mạng không cần thiết khi gói tin bị discard “lang thang” trước khi bị deny. Người ta thường thực hiện điều này bằng cách đặt ACL gần source. Extended ACL được sử dụng nhiều để thiết lập các routing policy trên router. Các entry trong Extended ACL rất đa dạng, và có khả năng tùy biến cao, hỗ trợ phòng chống nhiều kiểu tấn công Cấu hình Extended ACL Format Standard ACL: Router(config)#access-list [list number] [permit / deny] [protocol] [source specification] [destination specification] [protocol qualification] [logging] Trong đó: [list number] đánh số cho standard ACL từ 1-99 [permit / deny]: cho phép hoặc không cho phép gói tin qua router [protocol]: Giao thức (từ lớp 3 trở lên) của gói tin (lớp 3: “ospf”, “eigrp”, ; lớp 4: “tcp”, “udp”; “icmp”; “ip” đại diện bất kỳ giao thức nào) [source specification]: Là một chuỗi entry bao gồm [source IP add] [wildcard mask] [source port number (với protocol là TCP hoặc UDP)] [destination specification]: Là một chuỗi entry bao gồm [des IP add] [wildcard mask] [des port number (với protocol là TCP hoặc UDP)] [protocol qualification]: Các tùy chọn hỗ trợ phụ thuộc vào entry [protocol], tăng cường tính năng bảo mật hoặc thực hiện những tác vụ lọc dữ liệu đặc biệt - Nếu [protocol] là TCP hoặc UDP thì [protocol qualification] = [optional port] [port number]. Trong đó: [optional port] chỉ ra khoảng port cần được kiểm tra [port number] chỉ ra chính xác port làm mốc cho [optional port] - Nếu [protocol] là ip: router sẽ match tất cả giao thức - Nếu [protocol] là giao thức định tuyển (ospf, eigrp, ) ??? [logging]: Ghi lại thông tin về những gói tin match các entry trong ACL * * * Inbound hay Outbound Khi nhắc tới lọc theo chiều nào (inbound hoặc outbound) phải gắn liền với mỗi interface trên router, trên mỗi interface cho phép nhiều ACL nên cho phép lọc nhiều chiều tùy vào mỗi ACL. -> Inbound: Các bản tin hướng vào interface -> Outbound: Các bản tin hướng ra từ interface Lọc inbound sẽ tiêu tốn ít tài nguyên CPU hơn, do gói tin được lọc trước khi được forward; ngược lại, lọc outbound sẽ tốn nhiều thời gian hơn vì gói tin được lọc sau khi forward. Tuy nhiên chiều lọc rất quan trọng và đặt chính xác là yêu cầu cơ bản. Turbo ACL Đối với vấn đề sử dụng tài nguyên xử lý của router, khi mạng doanh nghiệp càng iến cho việc xử lý của router ngày càng chậm chạp, nhất là với những ACL có nhiều hơn 3 statement. Vấn đề là cơ chế của router: kiểm tra ACL đồng thời với forwarding và điều này lặp đi lặp lại với mỗi gói tin. Để giải quyết tình huống này, router CISCO dòng 7200, 7500, 12000 đưa vào một cấu hình dòng lệnh cho phép router biên dịch (compile) statement trong ACL thành file BIN, sau đó lưu vào RAM. Như vậy router sẽ xử lý gói tin trong lookup table, độc lập với ACL, và điều này sẽ giảm bớt thời gian tải trên CPU. Cấu hình turbo ACL: Router(config)#access-list compiled * * * Named Access Control List Có thể là standard ACL hoặc extended ACL nhưng được đặt tên bằng ký tự (vì thế, trong nhiều trường hợp named ACL giúp admin quản lý danh sách ACL hiệu quả hơn) Vì thế nên không giới hạn số lượng ACL Cho phép xóa sửa entry trong ACL, entry mới sẽ đặt ở cuối Một vài dạng ACL (reflexive ACL) yêu cầu cấu hình với named ACL Cấu hình named ACL Router(config)ip access-list [standard / extended] [name] Router(config-std-nacl)#[permit / deny] … Trong đó: [standard / extended] là loại ACLs [name] là tên đặt cho ACLs [permit / deny]… là cấu hình entry cho named ACLs: Hoàn toàn Tương tự cấu hình standard / extended ACLs kể từ entry [permit /deny] * * * Wild-card Mask Wildcard Mask là một chuỗi nhị phân 32 bit được chia làm 4 octet. Mỗi một wildcard mask đi k-> m với một địa chỉ IP. Các bit 0 và 1 được định nghĩa để xác định cách xử lý các bit tương ứng trong đia chỉ IP theo quy tắc: 0 kiểm tra – 1 bỏ qua. Nghĩa là bit tương ứng với bit 0 trong wildcard mask sẽ được kiểm tra, còn tương ứng với bit 1 sẽ được bỏ qua không cần kiểm tra. Phân biệt wildcard mask và subnet mask wildcard mask và subnet mask khác nhau hoàn toàn về nguyên tắc cũng như chức năng. Subnet mask có chuỗi bit 1 kéo dài từ trái sang phải để xác định phần host và phần Network trong 1 địa chỉ IP tương ứng. Trong khi wildcard mask được dùng để lọc một hoặc một nhóm địa chỉ IP cụ thể Trong các bài toán tính wildcard mask, thật sai lầm khi cho rằng để tính wildcard mask ta lấy dải 255.255.255.255 trừ đi tương ứng subnet mask. Tuy nhiên vậy tại sao lại sử dụng wildcard mask trong giao thức định tuyến OSPF (và EIGRP)? Subnet mask cho phép xác định một dải IP liên tục, trong khi mục đích của wildcard mask là lọc ra một dải IP có tính chất giống nhau (có thể liên tục hoặc ko liên tục), và chỉ ra router cần quan tâm đến những địa chỉ IP nào i.e Liệu 1.1.1.0/24 và 1.1.1.0 0.0.0.255 có tương đương nhau ko? Chính xác là không, vì 1.1.1.0 0.0.0.255 bao gồm 1.1.1.0/24; 1.1.1.0/25; 1.1.1.0/26… đến 1.1.1.0/32 Đối với giao thức định tuyến Link State như OSPF (hoặc EIGRP) với cơ chế trigger update wildcard mask hiệu quả hơn subnet mask, điều này mang đến 2 cái lợi: giảm tốc độ xử lý CPU router và giảm dung lượng file cấu hình: i.e Trên router cần quảng bá OSPF trên 2 interface: S0/0: 192.168.0.1/24 S0/1: 192.168.1.1/24 Thay vì 2 dòng lệnh nếu sử dụng subnet mask, admin có thể cấu hình với wildcard mask: Router(config-router)#net 192.168.0.0 0.0.1.255 area 0 Quá trình kiểm tra wildcard mask: Trong quá trình lọc ACL, địa chỉ IP trong mỗi statement được kết hợp với wildcard mask để tính ra một giá trị chuẩn: giá trị chuẩn đó có thể là một địa chỉ host, 1 subnet, 1 khoảng địa chỉ IP(liên tục hoặc không liên tục) hoặc là tất cả các địa chỉ IP. Gói tin khi tới interface đặt ACL sẽ được kiểm tra địa chỉ IP, địa chỉ IP này được so sánh với giá trị chuẩn ở trên: Nếu 2 giá trị này giống nhau thì điều kiện đã thỏa mãn và router thực hiện các lệnh trên ACL. Các bài toán tính wildcard mask: 1. Wildcard mask match 1 host I.e: Tính wildcard mask match host 192.168.1.1 Theo nguyên tắc: bit 0 kiểm tra – bit 1 bỏ qua IP Address: 192.168.1.1 0.0.0.0 hoặc từ khóa “host” 2. Wildcard mask match tất cả địa chỉ IP I.e: Tính wildcard mask match tất cả địa chỉ IP Theo nguyên tắc: bit 0 kiểm tra – bit 1 bỏ qua IP Address: 192.168.1.1 255.255.255.255 hoặc từ khóa “any” 3. Wildcard mask match 1 subnet i.e: Tính wildcard mask match subnet 192.168.1.0/24 Cách tính: Lấy 255.255.255.255 trừ đi subnet mask của subnet IP Address: 192.168.1.1 0.0.0.255 4. Tính Wildcard mask match range địa chỉ IP liên tục i.e: Tính wildcard mask match range từ 192.168.2.0 đến 192.168.4.255 Cách tính: Lấy địa chỉ cuối trừ địa chỉ đầu IP Address: 192.168.2.0 0.0.2.255 5. Tính widcard mask match 1 số IP add đầu tiên i.e: Cho địa chỉ IP 192.168.1.0, tính wildcard mask match X host đầu tiên -> Dải địa chỉ cần match: 192.168.1.0 - > 192.168.1.X -> wildcard mask: 0.0.0.X (lấy địa chỉ cuối trừ địa chỉ đầu) -> IP Address: 192.168.1.0 0.0.0.X 6. Tính wildcard mask của nửa trên (upper half) hoặc nửa dưới (lower half) 1 dải mạng: I.e: Cho địa chỉ IP 192.168.1.0, tính wildcard mask match nửa dải IP phía trên và dưới: -> Dải địa chỉ nửa trên: 192.168.1.0 - > 192.168.1.127 -> wildcard mask: 0.0.0.127 (lấy địa chỉ cuối trừ địa chỉ đầu) -> Địa chỉ IP: 192.168.1.0 0.0.0.127 -> Dải địa chỉ nửa dưới: 192.168.1.128 - > 192.168.1.255 -> wildcard mask: 0.0.0.127 (lấy địa chỉ cuối trừ địa chỉ đầu) -> Địa chỉ IP: 192.168.1.128 0.0.0.127 7. Tính wildcard mask match IP lẻ, hoặc IP chẵn 1 địa chỉ Ip lẻ / chẳn là địa chỉ có octet cuối cùng dạng thập phân là số lẻ / chẳn I.e: IP lẻ - 192.168.1.1 IP chẵn – 192.168.1.2 Nhận xét: bit cuối cùng của IP lẻ luôn là bit 1, bit cuối cùng của IP chẵn luôn là bit 0. Vậy wildcard mask thỏa mãn phải tạo ra một dải địa chỉ IP có bit cuối của octet cuối không đổi bằng 0 hoặc 1. Giải pháp: để router luôn match bit cuối của octet cuối của địa chỉ IP, bit tương ứng trên wildcard mask phải là bit 0 -> I.e1: Cho địa chỉ IP: 192.168.1.0, tính wildcard mask match tất cả IP chẵn: -> wildcard mask: 0.0.0.254 (dạng nhị phân: 00000000.00000000.00000000.11111110) -> Địa chỉ IP: 192.168.1.0 0.0.0.254 (IP chẵn có bit cuối luôn bằng 0) -> I.e2: Cho địa chỉ IP: 192.168.1.0, tính wildcard mask match tất cả IP lẻ -> wildcard mask: 0.0.0.254 (dạng nhị phân: 00000000.00000000.00000000.11111110) -> Địa chỉ IP: 192.168.1.1 0.0.0.254 (IP lẻ có bit cuối luôn bằng 1) 8. Tính wildcard mask match 1 range IP address không liên tục Đây là dạng toán tính wildcard mask phức tạp nhất vì admin không có cách nào sử dụng 1 wildcard mask để tạo thành địa chỉ IP match tất cả dải IP ban đầu: I.e: Tính wildcard mask match dải: 192.168.1.15 - > 192.168.1.75 Nhận xét: Đây là một dải IP không liên tục , không có 1 wildcard mask nào có thể thỏa mãn dải không liên tục. Tuy nhiên đối với những dải IP liên tục thì luôn có wildcard mask thỏa mãn. Giải pháp: Chia dải IP ban đầu thành những dải nhỏ mà trong đó luôn tìm được 1 wildcard mask thỏa mãn mỗi dải. Vậy cách chia như thế nào? Nhắc lại: mỗi bit trong octet phần host đại diện cho một nhóm các host gọi là một block size. Bit cuối cùng là block size 1 vì nó thể hiện 1 host, tương tự bit đầu tiên là block size 128. Và, mỗi block size luôn tìm được 1 wildcard mask thỏa mãn. Chia dải thành các block size: - 192.168.1.15 (1) - 192.168.1.16 - > 192.168.1.31 (2) - 192.168.1.32 - > 192.168.1.63 (3) - 192.168.1.64 -> 192.168.75 (4) Tính wildcard mask cho mỗi block size: - (1): 192.168.1.15 0.0.0.0 - > IP host - (2): 192.168.1.16 0.0.0.15 - (3): 192.168.1.32 0.0.0.31 - (4): Chưa có wildcard mask phù hợp, ta phân tích dạng nhị phân octet cuối để tách tiếp wildcard mask: .64: 01000000 .75: 01001011 -> Ta tách thành: 01000000 -> 01000111 (5) [...]... Router(config) #access- list 1 deny 1.1.1.0 0.0.0.255 Router(config) #access- list 1 permit any Router(config)#router [routing protocol specification] Router(config-router)#distribute -list 1 out -Cấu hình với extended ACL (đối với mọi giao thức định tuyến) -> RIP sử dụng UDP port 520 Router(config) #access- list 101 deny udp 1.1.1.0 0.0.0.255 any eq 520 -> IGRP sử dụng giao thức riêng IGRP Router(config) #access- list. .. Router(config) #access- list 101 permit tcp any host 1.1.1.1 eq 23 log 2 Tạo dynamic ACL tên TEMP _ACCESS Router(config) #access- list 101 TEMP _ACCESS permit tcp host 3.3.3 1 host 1.1.1.1 eq 23 3 Áp dụng vào interface Router(config)#interface s0/0 Router(config)#ip access- group 101 in -> Cấu hình trên line vty Ô Văn bản Router(config)#line vty 0 4 Router(config)#login local Router(config)#autocommand access- enable... tuyển và bản tin multicast hello Router(config) #access- list 101 deny eigrp 1.1.1.0 0.0.0.255 224.0.0.10 Router(config) #access- list 101 deny eigrp 1.1.1.0 0.0.0.255 any -> OSPF sử dụng giao thức riêng EIGRP đối với quảng bá định tuyển và bản tin multicast hello Router(config) #access- list 101 deny ospf 1.1.1.0 0.0.0.255 224.0.0.10 Router(config) #access- list 101 deny ospf 1.1.1.0 0.0.0.255 any -> Apply... inside đi từ outside Router(config)# access- list 101 deny ip 1.1.1.0 0.0.0.255 1.1.1.0 0.0.0.255 log -> Lọc mọi địa chỉ private (vì địa chỉ private không tham gia traffic trên WAN) Router(config)# access- list 101 deny ip 10.0.0.0 0.255.255.255 1.1.1.0 0.0.0.255 log Router(config)# access- list 101 deny ip 172.16.0.0 0.0.255.255 1.1.1.0 0.0.0.255 log Router(config)# access- list 101 deny ip 192.168.0.0 0.0.255.255... địa chỉ gửi ICMP echo-reply -Xác nhận nguy cơ DoS Smurf: victim(config)#acceess -list 102 permit icmp any 3.3.3.0 0.0.0.255 echo log victim(config)#acceess -list 102 permit icmp any 3.3.3.0 0.0.0.255 echo-reply log victim(config)# -> Kiểm tra bằng lệnh “show access list victim(config)#do show access- list Extended IP access list 102 Permit icmp any 3.3.3.0 0.0.0.255 echo (15 matches) Permit icmp any 3.3.3.0... Router(config) #access- list 102 permit icmp any any unreachable Lọc bản tin ICMP time-exceeded – hỗ trợ traceroute Router(config) #access- list 102 permit icmp any any time-exceeded Lọc bản tin ICMP parameter-problem, ICMP packet-too-big và ICMP source-quench – hỗ trợ giới hạn MTU, ngăn tấn công DoS Teardrop Router(config) #access- list 102 permit icmp any any parameterproblem Router(config) #access- list 102 permit... Router(config) #access- list 101deny icmp any any redirect log Lọc bản tin ICMP mask-request Router(config) #access- list 101 deny icmp any any mask-request log Apply Interface inbound Router(config)#interface [#] Router(config-if)#ip access- group 101 inbound -> Lọc outbound: Lọc bản tin ICMP echo-reply và ICMP unreachable – cho phép bản tin reply để kiểm tra hệ thống mạng phía xa Router(config) #access- list 102... 101 deny ip 192.168.0.0 0.0.255.255 1.1.1.0 0.0.0.255 log Router(config)# access- list 101 deny ip 127.0.0.0 0.255.255.255 1.1.1.0 0.0.0.255 log Router(config)# access- list 101 deny ip 169.254.0.0 0.0.255.255 1.1.1.0 0.0.0.255 log Router(config)# access- list 101 permit ip any any Router(config)#interface s0/0 Router(config-if)#ip access- group 101 in 5 Defend DOS Tấn công DoS là kiểu tấn công mà hacker... gặp và giải pháp phòng thủ: 1 Access Control Line vty cho phép người dùng từ xa có thể telnet vào hệ thống, một khi đã telnet được vào hệ thống, “mọi thứ đã hiện ra rõ mồn một”; vì thế quyền telnet chỉ nên được giới hạn cho một hoặc một nhóm host tin cậy: -Cấu hình với standard ACL (đối với SSH) Router(config) #access- list 1 permit host 1.1.1.200 log Router(config) #access- list 1 deny any log Router(config)#line... Router(config-line)#transport input ssh Router(config-line) #access- class 1in -sysadmin -Cấu hình với extended ACL (đối với telnet) Router(config) #access- list 1 permit host 1.1.1.200 log Router(config) #access- list 1 deny any log Router(config)#line vty 0 4 Router(config-line)#login authentication vty -sysadmin Router(config-line)#transport input ssh Router(config-line) #access- class 1in Ngoài ra để tăng cường tính . remote user tới router Router(config) #access- list 101 permit tcp any host 1.1.1.1 eq 23 log 2. Tạo dynamic ACL tên TEMP _ACCESS Router(config) #access- list 101 TEMP _ACCESS permit tcp host 3.3.3 1 host. giảm bớt thời gian tải trên CPU. Cấu hình turbo ACL: Router(config) #access- list compiled * * * Named Access Control List Có thể là standard ACL hoặc extended ACL nhưng được đặt tên bằng ký. hình Standard ACL Format Standard ACL Router(config) #access- list [list number] [permit / deny] [source IP add] [wildcardmask] Trong đó: [list number] đánh số cho standard ACL từ 1-99 [permit