Bài giảng Quản trị mạng và hệ thống - Chương 4: ACL, NAT/PAT, IPTABLES - Trần Thị Dung
NỘI DUNG
•Khái niệm access list
•Cơ chế hoạt động của ACL
•Phương pháp cấu hình ACL
•Các phương pháp ánh xạ địa chỉ
•Iptables trong Linux
Bạn đang xem tài liệu "Bài giảng Quản trị mạng và hệ thống - Chương 4: ACL, NAT/PAT, IPTABLES - Trần Thị Dung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Quản trị mạng và hệ thống - Chương 4: ACL, NAT/PAT, IPTABLES - Trần Thị Dung
Quản trị mạng và hệ thống - Chương 4 11/28/2016 1 CHƯƠNG 4 ACL, NAT/PAT, IPTABLES THS. TRẦN THỊ DUNG DUNGT T@UIT.EDU.VN 1 NỘI DUNG •Khái niệm access list •Cơ chế hoạt động của ACL •Phương pháp cấu hình ACL •Các phương pháp ánh xạ địa chỉ •Iptables trong Linux 2 Khái niệm ACL •ACL là một danh sách các dòng cho phép hay cấm các gói tin ra/vào một router. •ACL phân tích các gói tin đến và đi để tiến hành chuyển tiếp hoặc hủy gói tin dựa trên các tiêu chí như địa chỉ IP nguồn/đích, giao thức. •Hay còn gọi là Packet filtering 3 Khái niệm ACL 4 Một TCP Conversation 5 Ví dụ 6 Quản trị mạng và hệ thống - Chương 4 11/28/2016 2 NỘI DUNG •Khái niệm access list •Cơ chế hoạt động của ACL •Phương pháp cấu hình ACL •Các phương pháp ánh xạ địa chỉ •Iptables trong Linux 7 Hoạt động của ACL Inbound ACL Lọc những gói tin đến một interface của router, trước khi router định tuyến đến một interface khác Outbound ACL Lọc những gói tin sau khi router định tuyến/chuyển tiếp ra một interface 8 Các loại ACL trên thiết bị Cisco ACL chuẩn - Standard ACLs ACL mở rộng - Extended ACLs 9 Hoạt động của Inbound ACL Nếu inbound ACL được đặt tại một interface, các gói tin sẽ được kiểm tra trước khi được định tuyến. Nếu một gói tin phù hợp với một dòng ACL có kết quả là permit thì gói tin đó sẽ được định tuyến. Nếu một gói tin phù hợp với một dòng ACL có kết quả là deny, router sẽ hủy gói tin đó. Nếu một gói tin không phù hợp các dòng của ACL, nó sẽ được hiểu là “implicitly denied” và bị hủy. 10 Hoạt động của Outbound ACL Gói tin được định tuyến trước khi được đưa đến interface để ra khỏi router. Nếu outbound interface không có ACL, gói tin sẽ được đẩy ra khỏi interface đó. Nếu outbound interface có ACL, gói tin sẽ được kiểm tra trước khi bị đẩy ra khỏi interface đó. Nếu một gói tin phù hợp với một dòng ACL có kết quả là permit thì gói tin đó sẽ được đẩy ra khỏi interface. 11 Hoạt động của Outbound ACL Nếu một gói tin phù hợp với một dòng ACL có kết quả là deny, gói tin bị hủy. Nếu một gói tin không phù hợp các dòng của ACL, nó sẽ được hiểu là “implicitly denied” và bị hủy. 12 Quản trị mạng và hệ thống - Chương 4 11/28/2016 3 Hoạt đông của standard ACL Standard ACLs chỉ kiểm tra địa chỉ nguồn và không kiểm tra các phần còn lại 13 Hoạt đông của Extended ACL The ACL kiểm tra địa chỉ nguồn, số port nguồn, và giao thức trước sau đó mới đến địa chỉ đích, port đích để ra quyết định là permit hay deny. 14 Wildcard Masks in ACLs Giới thiệu về ACL Wildcard Mask •Wildcard masks là một chuỗi 32 bit để xác định phần địa chỉ IP phù hợp với yêu cầu matching: •Wildcard mask bit 0 – so sánh với các bit trong địa chỉ IP. •Wildcard mask bit 1 – bỏ qua phần bit trong địa chỉ IP. 15 Ví dụ Wildcard Mask 16 Ví dụ Wildcard Mask 17 Cách tính Wildcard mask Cách dễ nhất là lấy 255.255.255.255 trừ subnet mask. 18 Quản trị mạng và hệ thống - Chương 4 11/28/2016 4 Wildcard Mask Keywords 19 Ví dụ Wildcard Mask Keywords 20 Hướng dẫn tạo ACLs •Sử dụng tại router ở giữa internal network và external network như mạng Internet. •Sử dụng tại router ở giữa 2 network mà mình cần phải kiểm soát việc truy cập dữ liệu. •Cấu hình ACL tại các router biên. 21 Hướng dẫn tạo ACLs •Một ACL/protocol – IPv4/IPv6. •Một ACL/direction - ACLs kiểm soát một hướng tại một interface => cần có 2 ACL nếu muốn kiểm soát dữ liệu trên cả 2 hướng ra/vào một interface. •Một ACL/interface - ACLs kiểm soát một interface, ví dụ GigabitEthernet 0/0. 22 Hướng dẫn tạo ACLs 23 Vị trí đặt ACLs trên router Extended ACLs – gần nguồn. Standard ACLs – gần đích. Ngoài ra có thể phụ thuộc vào: sự kiểm soát của admin, băng thông và dễ dàng cấu hình hay không. 24 Quản trị mạng và hệ thống - Chương 4 11/28/2016 5 Ví dụ: Vị trí của Standard ACL 25 Ví dụ: Vị trí của Extended ACL 26 NỘI DUNG •Khái niệm access list •Cơ chế hoạt động của ACL •Phương pháp cấu hình ACL •Các phương pháp ánh xạ địa chỉ •Iptables trong Linux 27 Cấu hình Standard ACL 28 Cấu hình Standard ACL Example ACL access-list 2 deny host 192.168.10.10 access-list 2 permit 192.168.10.0 0.0.0.255 access-list 2 deny 192.168.0.0 0.0.255.255 access-list 2 permit 192.0.0.0 0.255.255.255 29 Cấu hình tạo Standard ACL Cú pháp câu lệnh hoàn chỉnh: ◦Router(config)# access-list access-list-number deny permit remark source [ source-wildcard ] [ log ] Để xóa ACL, sử dụng câu lệnh no access- list. 30 Quản trị mạng và hệ thống - Chương 4 11/28/2016 6 Áp dụng Standard ACLs vào interface Sau khi tạo ACL, nó cần được đặt vào một interface theo chiều in/out với câu lệnh ip access-group trong mode interface: Router(config-if)# ip access- group { access-list-number | access-list-name } { in | out } Để bỏ ACL ra khỏi interface, sử dụng câu lệnh no ip access-group 31 Cấu hình Standard ACL hoàn chỉnh 32 Thay đổi Standard ACL 33 Thay đổi Standard ACL 34 Kiểm tra ACLs 35 Kiểm tra ACL 36 Quản trị mạng và hệ thống - Chương 4 11/28/2016 7 Securing VTY ports with a Standard IPv4 ACL Configuring a Standard ACL to Secure a VTY Port Filtering Telnet or SSH traffic is typically considered an extended IP ACL function because it filters a higher level protocol. However, because the access-class command is used to filter incoming or outgoing Telnet/SSH sessions by source address, a standard ACL can be used. Router(config-line)# access- class access-list-number { in [ vrf-also ] | out } 37 Securing VTY ports with a Standard IPv4 ACL Verifying a Standard ACL used to Secure a VTY Port 38 Extended ACLs 39 Extended ACLs 40 Cấu hình Extended ACLs Phương pháp cấu hình tương tự Standard ACL nhưng cú pháp phức tạp hơn. 41 Áp dụng Extended ACLs vào Interfaces 42 Quản trị mạng và hệ thống - Chương 4 11/28/2016 8 Ví dụ cấu hình Extended ACLs 43 Cấu hình Đặt tên Extended ACLs 44 Kiểm tra Extended ACLs 45 Thay đổi Extended ACLs Một extended ACL có thể được thay đổi với 2 phương pháp: 1 - Text editor 2 – Sequence numbers 46 Ví dụ cấu hình ACLs sai - 1 Host 192.168.10.10 không kết nối được với 192.168.30.12. 47 Ví dụ cấu hình ACLs sai - 2 Mạng 192.168.10.0 /24 không thể dung TFTP đến mạng 192.168.30.0 /24 48 Quản trị mạng và hệ thống - Chương 4 11/28/2016 9 Ví dụ cấu hình ACLs sai - 3 Mạng 192.168.11.0 /24 có thể Telnet đến 192.168.30.0 /24 nhưng đúng ra là không được phép. 49 Ví dụ cấu hình ACLs sai - 4 192.168.30.12 có thể Telnet đến 192.168.31.12, nhưng đúng ra là không được phép. 50 NỘI DUNG •Khái niệm access list •Cơ chế hoạt động của ACL •Phương pháp cấu hình ACL •Các phương pháp ánh xạ địa chỉ •Iptables trong Linux 51 Khái niệm về NAT •Được thiết kế để tiết kiệm địa chỉ IP •Cho phép mạng nội bộ sử dụng địa chỉ IP private •Địa chỉ IP private sẽ được chuyển đổi sang địa chỉ IP public để có thể được định tuyến trên Internet •Mạng riêng được tách biệt và giấu kín IP nội bộ. •Thường sử dụng trên router biên của mạng một cửa. 52 Khái niệm về NAT (tt.) 53 Khái niệm về NAT (tt.) 54 Quản trị mạng và hệ thống - Chương 4 11/28/2016 10 Các thuật ngữ về NAT Inside network là tập hợp cacs thiết bị sử dụng IP private Outside network là tất cả các mạng bên ngoài khác. NAT bao gồm 4 loại địa chỉ: • Inside local address • Inside global address • Outside local address • Outside global address 55 Các thuật ngữ về NAT (tt.) 56 Các loại NAT Static NAT •Static NAT là ánh xạ một – một giữa địa chỉ local và địa chỉ global. •Loại ánh xạ này được cấu hình bởi admin và thường cố định, không đổi. •Static NAT rất có ích khi trong một mang có một server và server này có thể được truy cập từ bên ngoài.. •Admin có thể truy cập từ đến server sử dụng SSH trỏ đến địa chỉ global của server. 57 Các loại NAT Static NAT (tt.) 58 Các loại NAT Dynamic NAT •Dynamic NAT sử dụng một dải địa chỉ public và gán cho các máy bên trong mạng inside theo kiểu first-come, first-served. •Khi một thiết bị bên mạng inside yêu cầu truy cập ra bên ngoài, Dynamic NAT gán cho nó một địa chỉ public có trong dải địa chỉ. •Dynamic NAT yêu cầu phải có đủ địa chỉ public để có thể đáp ứng với số lượng user trong mạng inside. 59 Các loại NAT Dynamic NAT (tt.) 60 Quản trị mạng và hệ thống - Chương 4 11/28/2016 11 Các loại NAT Port Address Translation •Port Address Translation (PAT) có thể ánh xạ nhiều địa chỉ IP private sang một địa chỉ IP public. •PAT sử dụng thêm port nguồn để phân biệt các luồng dữ liệu của các client khác nhau trong mạng internal. 61 Cấu hình Static NAT •2 bước cơ bản để cấu hình static NAT: •Tạo ánh xạ giữa địa chỉ inside và địa chỉ outside . •Xác định interface nào thuộc về mạng inside, interface nào thuộc outside. 62 Cấu hình Static NAT (tt.) 63 Cấu hình Static NAT (tt.) 64 Kiểm tra Static NAT 65 Configuring Static NAT Kiểm tra Static NAT (tt.) 66 Quản trị mạng và hệ thống - Chương 4 11/28/2016 12 Cấu hình Dynamic NAT 67 Cấu hình Dynamic NAT (tt.) 68 Cấu hình Dynamic NAT (tt.) 69 Kiểm tra Dynamic NAT 70 Kiểm tra Dynamic NAT (tt.) 71 Cấu hình PAT: Address Pool 72 Quản trị mạng và hệ thống - Chương 4 11/28/2016 13 Cấu hình PAT: Single Address 73 Phân tích PAT 74 Phân tích PAT (tt.) 75 Kiểm tra PAT 76 NỘI DUNG •Khái niệm access list •Cơ chế hoạt động của ACL •Phương pháp cấu hình ACL •Các phương pháp ánh xạ địa chỉ •Iptables trong Linux 77 Iptables là gì? •Là một thành phần mặc định có chức năng như một firewall trong hệ điều hành Linux •Iptables gồm 2 phần: •Netfilter trong kernel • Iptales ở user space: chịu trách nhiệm giao tiếp giữa người dùng và netfilter 78 Quản trị mạng và hệ thống - Chương 4 11/28/2016 14 Chức năng của Iptables •Sử dụng làm firewall cho cho các dịch vụ mạng như: mail server , web server , DNS server. •Triển khai NAT •Có khả năng phân tích packet một cách hiệu quả , cho phép firewall theo dõi kết nối có liên quan •Tính năng lọc gói (packet filtering) dựa trên các thành phần của các Header. Từ đó giúp hệ thống ngăn chặn các cuộc tấn công từ bên ngoài và bảo mật hệ thống nội bộ. 79 Hoạt động của Iptables 80 Hoạt động của Iptables (tt.) Iptable tổ chức phân lọai dựa theo cách thức xử lý gói tin. Các gói tin này được xử lý qua các Bảng (trong mỗi bảng có phân biệt dạng gói tin đi vào- INPUT, đi ra- OUTPUT hoặc chuyển tiếp- Forward hay cách thức biến đổi địa chỉ nguồn, đích- PREROUTING, POSTROUTING, và người ta gọi nó là chain. Trong mỗi chain sẽ có những luật- rule để quyết định xử lý gói tin như thế nào: cho phép-accept, từ chối-reject, bỏ đi-drop, ). Trong thực tế bảng FILTER và NAT được sử dụng nhiều nhất. ◦ FILTER: lọc gói tin vào ra trên Server (đóng vai trò như một firewall) ◦ NAT: cho ánh xạ 1 địa chỉ IP thành nhiều ◦ MANGLE: biến đổi Type of Service bits trên header của gói tin TCP 81 Hoạt động của Iptables (tt.) 82 CÁC LOẠI CHAIN TRONG BẢNG FILTER INPUT: gói tin đi từ máy bất kỳ nào vào Server. Server (destination) PC (source) PC (source) 83 CÁC LOẠI CHAIN TRONG BẢNG FILTER (tt.) OUTPUT: gói tin đi từ Server đến máy bất kỳ nào. Server (source) PC (destination) PC (destination) 84 Quản trị mạng và hệ thống - Chương 4 11/28/2016 15 FORWARD: gói tin đi vào 1 card mạng này của Server và được chuyển qua card mạng khác (cũng trên server đó) để đi ra 1 mạng khác. Server forward PC (source) PC (destination) 85 CÁC LOẠI CHAIN TRONG BẢNG FILTER (tt.) CÁC LOẠI CHAIN TRONG BẢNG NAT • POSTROUTING: Thực hiện việc NAT sau khi gói tin đã đi qua bộ định tuyến (routing) của Server (hay còn gọi là SNAT – Source NAT). • Trong đó, MASQUERADE là trường hợp đặc biệt của SNAT, dùng trong trường hợp IP public thay đổi liên tục (PAT – port addess translating). • PREROUTING: Thực hiện việc NAT trước khi gói tin đi qua bộ định tuyến (routing) của Server. Bảng này còn biết với tên gọi là DNAT (Destination NAT). 86 CÁC LOẠI CHAIN TRONG BẢNG NAT (tt.) POSTROUTING SNAT (172.29.1.5 203.162.4.54) Routing Server đích (destination) một server ở ngoài Internet 203.162.4.1 Máy nguồn (source) (172.29.1.5) 87 CÁC LOẠI CHAIN TRONG BẢNG NAT (tt.) PREROUTING DNAT 203.162.4.54 172.29.1.8 Routing Web Server của công ty (destination) 172.29.1.8 Máy nguồn (một máy nào đó bên ngoài Internet muốn truy xuất vào trang web của công ty) IP: 203.25.1.2 88 Target •ACCEPT: iptables chấp nhận chuyển data đến đich. •DROP: iptables hủy những packet. •LOG: thông tin của packet sẽ gởi vào syslog daemon và iptables tiếp tục xử lý luật tiếp theo trong bảng mô tả luật. 89 Target (tt.) •REJECT: iptable sẽ hủy các packet va gởi thông báo cho sender. •DNAT: thay đổi địa chỉ đích của packet. Tùy chọn là --to-destination ipaddress. •SNAT: thay đổi địa chỉ nguồn của packet. Tùy chọn là --to-source [- address][:-] •MASQUERADING: được sử dụng để thực hiện kỹ thuật PAT 90 Quản trị mạng và hệ thống - Chương 4 11/28/2016 16 Các options trong câu lệnh iptables 91 Sử dụng bảng Filter làm firewall Đây là cách thêm rule từ cửa sổ gõ lệnh của Linux. Chúng ta cũng có thể để nó trong file script (/etc/sysconfig/iptables) và thực thi file này bằng lệnh /etc/init.d/iptables restart iptables –A INPUT –p icmp --icmp-type any -j ACCEPT ◦ -A: thêm 1 rule. ◦ -p: chỉ ra giao thức sử dụng (icmp, tcp, udp,..) ◦ --icmp-type: kiểu icmp (echo-request, echo-reply, all) ◦ -j : chuyển hướng tới 1 cách xử lý (ACCEPT, REJECT, DROP,) hoặc một đích nào đó (1 chain mới, một kiểu NAT: DNAT, SNAT,) 92 Sử dụng bảng Filter làm firewall (tt.) Ví Dụ 1: tham khảo file iptables mẫu. *filter // Dùng bảng filter, nếu muốn dùng bảng nat thì khai báo: *nat :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i eth0 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p icmp --icmp-type any -j ACCEPT -A INPUT -p 50 -j ACCEPT -A INPUT -p 51 -j ACCEPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT 93 Sử dụng bảng Filter làm firewall (tt.) Ví Dụ 2: thêm 1 rule cấm máy 172.29.1.4 truy xuất Server. -A INPUT –s 172.29.1.4 –d 192.168.12.210 –j REJECT Nếu muốn cấm đường mạng 192.168.11.0/24 truy cập Server ta khai báo -A INPUT –s 192.168.11.0/24 –d 192.168.12.210 –j REJECT Server – 192.168.12.210 (destination) (-d 192.168.12.210) (--dport 80) PC – 172.29.1.4 (source) (-s 172.29.1.4) (--sport 1024-6000) 94 Sử dụng bảng Filter làm firewall (tt.) Ví Dụ 3: thêm 1 rule cấm máy 172.29.1.8 truy xuất đến dịch vụ web trên Server, nhưng vẫn cho phép truy xuất tất cả các dịch vụ khác. -A INPUT –s 172.29.1.8 –d 192.168.12.210 –p tcp –m tcp --dport 80 –j REJECT ◦ --dport : port của máy đích (máy Server, đối với gói tin đi vào). ◦ --sport : port của máy nguồn (máy trạm, đối với gói tin đi vào server). Ví Dụ 4: thêm 1 rule cấm máy 172.29.1.8 truy xuất đến dịch vụ ssh trên Server, nhưng vẫn cho phép truy xuất tất cả các dịch vụ khác. -A INPUT –s 172.29.1.8 –d 192.168.12.210 –p tcp –m tcp --dport 22 –j REJECT 95 Sử dụng bảng Filter làm firewall (tt.) Ví Dụ 5: giả sử trên máy server có 2 card mạng: eth0, eth1 và ta chỉ áp dụng firewall trên card mạng thứ nhất (eth0) thì khai báo như sau: -A INPUT –i eth0 –s 172.29.1.10 –d 192.168.12.210 –j REJECT Nếu không chỉ rõ dùng card mạng nào (không có –i eth0) thì ngầm địch là áp dụng cho tất cả các card mạng có trên máy server. Với tham số: -i để chỉ card mạng đối với hướng dữ liệu đi vào (INPUT) Ví dụ : -i eth0, -i eth1 -o để chỉ card mạng đối với hướng dữ liệu đi ra (OUTPUT) Ví dụ : -o eth0, -o eth1 96 Quản trị mạng và hệ thống - Chương 4 11/28/2016 17 Ví Dụ 5: thêm 1 rule cấm máy 172.29.1.9 dùng port từ 1024 đến 5000 truy xuất đến dịch vụ ssh trên Server, nhưng vẫn cho phép truy xuất đến ssh nếu dùng ngoài dãy port bị cấm. -A INPUT –s 172.29.1.9 –d 192.168.12.210 –p tcp –m tcp -- dport 1024:5000 --dport 22 –j REJECT Ví Dụ 9: Cấm máy tính có ip 172.29.11.2 truy vấn DNS Server và không phép máy 172.29.11.2 được phép làm secondary (backup dns) cho Server. -A INPUT –s 172.29.11.2 –d 192.168.12.210 –p udp –m udp -- dport 53 –j REJECT -A INPUT –s 172.29.11.2 –d 192.168.12.210 –p tcp –m tcp -- dport 53 –j REJECT 97 Sử dụng bảng Filter làm firewall (tt.) Ví Dụ 7: Cấm máy tính có ip 172.29.12.2 truy xuất đến server dùng giao thức UDP, những vẫn cho phép máy này truy xuất những dịch vụ dùng giao thức khác như TCP, ICMP, -A INPUT –s 172.29.12.2 –d 192.168.12.210 –p udp –m udp –j REJECT Ví Dụ 8: Cấm máy tính có ip 172.29.11.2 truy vấn DNS Server nhưng vẫn cho phép máy 172.29.11.2 được phép làm secondary (backup dns) cho Server. -A INPUT –s 172.29.11.2 –d 192.168.12.210 –p udp –m udp --dport 53 –j REJECT 98 Sử dụng bảng Filter làm firewall (tt.) Ví Dụ 9: Cấm máy tính có ip 172.29.11.1 ping tới Server. Trước dòng: -A INPUT -p icmp --icmp-type any -j ACCEPT Ta khai báo: -A INPUT –s 172.29.11.1 -p icmp --icmp-type any -j REJECT Ví Dụ 10: Có thể dùng cách phủ định (! Dấu chấm thang) trong rule. Ví dụ cấm tất cả các máy trừ IP 172.29.11.1 được phép truy cập web. -A INPUT –s ! 172.29.11.1 -p tcp -m tcp --dport www -j REJECT 99 Cách sử dụng bảng NAT Trong file (/etc/sysconfig/iptables), ở cuối file khai báo như sau: *nat sau từ *nat sẽ là các rule của bảng NAT Lưu ý : Dùng lệnh #sysctl -w net.ipv4.ip_forward=1 hoặc dùng lệnh #echo “1” /proc/sys/net/ipv4/ipforward Ví Dụ 1: NAT 1 IP thật 203.162.5.2 cho đường mạng 192.168.10.0/24 được phép đi ra ngoài Internet trực tiếp -A POSTROUTING -o eth0 -s 192.168.10.0/24 -j SNAT -- to 203.162.5.2 -o : là card mạng đi ra Internet của Router 100 Cách sử dụng bảng NAT (tt.) Ví Dụ 2: dùng masquerade để NAT ip thật thay đổi (adsl, dialup). -A POSTROUTING -o ppp0 -j MASQUERADE ppp0 : là interface của modem hoặc adsl trên router Ví Dụ 3: NAT 1 IP thật 203.162.5.2 cho máy web server 172.29.1.2 được phép public. -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 172.29.1.2:80 101
File đính kèm:
- bai_giang_quan_tri_mang_va_he_thong_chuong_4_acl_natpat_ipta.pdf