Bài giảng Quản trị mạng và hệ thống - Chương 4: ACL, NAT/PAT, IPTABLES - Trần Thị Dung

pdf 17 trang ngocly 40
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 bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_quan_tri_mang_va_he_thong_chuong_4_acl_natpat_ipta.pdf

Nội dung text: Bài giảng Quản trị mạng và hệ thống - Chương 4: ACL, NAT/PAT, IPTABLES - Trần Thị Dung

  1. Quản trị mạng và hệ thống - Chương 4 11/28/2016 NỘI DUNG CHƯƠNG 4 •Khái niệm access list ACL, NAT/PAT, •Cơ chế hoạt động của ACL •Phương pháp cấu hình ACL IPTABLES •Các phương pháp ánh xạ địa chỉ • THS. TRẦN THỊ DUNG Iptables trong Linux [email protected] 1 2 Khái niệm ACL 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 4 Một TCP Conversation Ví dụ 5 6 1
  2. Quản trị mạng và hệ thống - Chương 4 11/28/2016 NỘI DUNG Hoạt động của ACL •Khái niệm access list •Cơ chế hoạt động của ACL •Phương pháp cấu hình ACL Inbound ACL Outbound ACL •Các phương pháp ánh xạ địa chỉ Lọc những gói tin đến Lọc những gói tin sau một interface của khi router định •Iptables trong Linux router, trước khi router định tuyến đến tuyến/chuyển tiếp ra một interface khác một interface 7 8 Các loại ACL trên thiết bị Cisco Hoạt động của Inbound ACL Nếu inbound ACL được đặt tại một interface, các ACL chuẩn - Standard ACLs 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. ACL mở rộng - Extended ACLs 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. 9 10 Hoạt động của Outbound ACL Hoạt động của Outbound ACL Gói tin được định tuyến trước khi được đưa Nếu một gói tin phù hợp với một dòng đến interface để ra khỏi router. ACL có kết quả là deny, gói tin bị hủy. Nếu outbound interface không có ACL, gói tin sẽ được đẩy ra khỏi interface đó. Nếu một gói tin không phù hợp các dòng Nếu outbound interface có ACL, gói tin sẽ của ACL, nó sẽ được hiểu là “implicitly được kiểm tra trước khi bị đẩy ra khỏi interface đó. denied” và bị hủy. 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 12 2
  3. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Hoạt đông của standard ACL Hoạt đông của Extended ACL Standard ACLs chỉ kiểm tra địa chỉ nguồn The ACL kiểm tra địa chỉ nguồn, số port và không kiểm tra các phần còn lại 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. 13 14 Wildcard Masks in ACLs Giới thiệu về ACL Wildcard Mask Ví dụ 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 16 Ví dụ Wildcard Mask Cách tính Wildcard mask Cách dễ nhất là lấy 255.255.255.255 trừ subnet mask. 17 18 3
  4. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Wildcard Mask Keywords Ví dụ Wildcard Mask Keywords 19 20 Hướng dẫn tạo ACLs Hướng dẫn tạo ACLs •Sử dụng tại router ở giữa internal •Một ACL/protocol – IPv4/IPv6. network và external network như mạng •Một ACL/direction - ACLs kiểm soát một Internet. hướng tại một interface => cần có 2 ACL •Sử dụng tại router ở giữa 2 network mà nếu muốn kiểm soát dữ liệu trên cả 2 mình cần phải kiểm soát việc truy cập dữ hướng ra/vào một interface. liệu. •Một ACL/interface - ACLs kiểm soát một •Cấu hình ACL tại các router biên. interface, ví dụ GigabitEthernet 0/0. 21 22 Hướng dẫn tạo ACLs 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. 23 24 4
  5. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Ví dụ: Vị trí của Standard ACL Ví dụ: Vị trí của Extended ACL 25 26 NỘI DUNG Cấu hình Standard ACL •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 28 Cấu hình Standard ACL 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 ] Example ACL Để xóa ACL, sử dụng câu lệnh no access- access-list 2 deny host 192.168.10.10 list. 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 30 5
  6. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Áp dụng Standard ACLs vào interface Cấu hình Standard ACL hoàn chỉnh 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 32 Thay đổi Standard ACL Thay đổi Standard ACL 33 34 Kiểm tra ACLs Kiểm tra ACL 35 36 6
  7. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Securing VTY ports with a Standard IPv4 ACL Securing VTY ports with a Standard IPv4 ACL Configuring a Standard ACL to Secure a VTY Port Verifying a Standard ACL used 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 38 Extended ACLs Extended ACLs 39 40 Cấu hình Extended ACLs Áp dụng Extended ACLs vào Interfaces 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 42 7
  8. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Ví dụ cấu hình Extended ACLs Cấu hình Đặt tên Extended ACLs 43 44 Kiểm tra Extended ACLs 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 45 46 Ví dụ cấu hình ACLs sai - 1 Ví dụ cấu hình ACLs sai - 2 Host 192.168.10.10 Mạng 192.168.10.0 /24 không kết nối được với không thể dung TFTP đến 192.168.30.12. mạng 192.168.30.0 /24 47 48 8
  9. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Ví dụ cấu hình ACLs sai - 3 Ví dụ cấu hình ACLs sai - 4 Mạng 192.168.11.0 /24 có thể Telnet đến 192.168.30.0 /24 nhưng đúng ra 192.168.30.12 có thể Telnet đến 192.168.31.12, nhưng đúng ra là không là không được phép. được phép. 49 50 NỘI DUNG Khái niệm về NAT •Khái niệm access list •Được thiếtkế để tiếtkiệm địa chỉ IP • Cơ chế hoạt động của ACL •Cho phép mạng nội bộ sử dụng địa chỉ IP private •Phương pháp cấu hình ACL •Địa chỉ IP private sẽ được chuyển đổi sang địa chỉ IP public để có •Các phương pháp ánh xạ địa chỉ thể được định tuyến trên Internet •Iptables trong Linux •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. 51 52 Khái niệm về NAT (tt.) Khái niệm về NAT (tt.) 53 54 9
  10. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Các thuật ngữ về NAT Các thuật ngữ về NAT (tt.) 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 56 Các loại NAT Các loại NAT Static NAT Static NAT (tt.) •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 58 Các loại NAT Các loại NAT Dynamic NAT Dynamic NAT (tt.) •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 60 10
  11. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Các loại NAT Port Address Translation Cấu hình Static NAT •Port Address Translation (PAT) có thể ánh xạ nhiều địa chỉ IP private sang một địa chỉ IP public. •2 bước cơ bản để cấu hình static NAT: • •PAT sử dụng thêm port nguồn để phân biệt các luồng Tạo ánh xạ giữa địa chỉ inside và địa chỉ dữ liệu của các client khác nhau trong mạng internal. outside . •Xác định interface nào thuộc về mạng inside, interface nào thuộc outside. 61 62 Cấu hình Static NAT (tt.) Cấu hình Static NAT (tt.) 63 64 Configuring Static NAT Kiểm tra Static NAT Kiểm tra Static NAT (tt.) 65 66 11
  12. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Cấu hình Dynamic NAT Cấu hình Dynamic NAT (tt.) 67 68 Cấu hình Dynamic NAT (tt.) Kiểm tra Dynamic NAT 69 70 Kiểm tra Dynamic NAT (tt.) Cấu hình PAT: Address Pool 71 72 12
  13. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Cấu hình PAT: Single Address Phân tích PAT 73 74 Phân tích PAT (tt.) Kiểm tra PAT 75 76 NỘI DUNG Iptables là gì? •Khái niệm access list •Là một thành phần mặc định có chức •Cơ chế hoạt động của ACL năng như một firewall trong hệ điều hành Linux •Phương pháp cấu hình ACL •Iptables gồm 2 phần: •Các phương pháp ánh xạ địa chỉ •Netfilter trong kernel •Iptables trong Linux •Iptales ở user space: chịu trách nhiệm giao tiếp giữa người dùng và netfilter 77 78 13
  14. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Chức năng của Iptables Hoạt độ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 80 Hoạt động của Iptables (tt.) 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 82 CÁC LOẠI CHAIN TRONG BẢNG FILTER CÁC LOẠI CHAIN TRONG BẢNG FILTER (tt.) INPUT: gói tin đi từ máy bất kỳ nào vào Server. OUTPUT: gói tin đi từ Server đến máy bất kỳ nào. Server Server (source) (destination) PC PC PC PC (destination) (destination) (source) (source) 83 84 14
  15. Quản trị mạng và hệ thống - Chương 4 11/28/2016 CÁC LOẠI CHAIN TRONG BẢNG FILTER (tt.) CÁC LOẠI CHAIN TRONG BẢNG NAT FORWARD: gói tin đi vào 1 card mạng này của Server và được • POSTROUTING: Thực hiện việc NAT sau khi chuyển qua card mạng khác (cũng trên server đó) để đi ra 1 mạng khác. gói tin đã đi qua bộ định tuyến (routing) của Server Server (hay còn gọi là SNAT – Source NAT). • forward 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). PC PC • PREROUTING: Thực hiện việc NAT trước khi (source) (destination) 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). 85 86 CÁC LOẠI CHAIN TRONG BẢNG NAT (tt.) CÁC LOẠI CHAIN TRONG BẢNG NAT (tt.) POSTROUTING PREROUTING Routing SNAT Web Server của (172.29.1.5 công ty 203.162.4.54) (destination) Server đích 172.29.1.8 (destination) một server ở ngoài Internet 203.162.4.1 Máy nguồn DNAT Routing (một máy nào đó bên 203.162.4.54 Máy nguồn ngoài Internet muốn (source) truy xuất vào trang 172.29.1.8 (172.29.1.5) web của công ty) IP: 203.25.1.2 87 88 Target Target (tt.) •ACCEPT: iptables chấp nhận chuyển •REJECT: iptable sẽ hủy các packet va gởi data đến đich. thông báo cho sender. •DNAT: thay đổi địa chỉ đích của packet. Tùy •DROP: iptables hủy những packet. chọn là to-destination ipaddress. •LOG: thông tin của packet sẽ gởi vào •SNAT: thay đổi địa chỉ nguồn của packet. syslog daemon và iptables tiếp tục xử lý Tùy chọn là to-source [- luật tiếp theo trong bảng mô tả luật. address][: - ] •MASQUERADING: được sử dụng để thực hiện kỹ thuật PAT 89 90 15
  16. Quản trị mạng và hệ thống - Chương 4 11/28/2016 Các options trong câu lệnh iptables 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, ) 91 92 Sử dụng bảng Filter làm firewall (tt.) Sử dụng bảng Filter làm firewall (tt.) Ví Dụ 1: tham khảo file iptables mẫu. Server – 192.168.12.210 (destination) *filter // Dùng bảng filter, nếu muốn dùng bảng nat thì khai báo: *nat (-d 192.168.12.210) ( dport 80) :INPUT ACCEPT [0:0] PC – 172.29.1.4 :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] (source) (-s 172.29.1.4) -A INPUT -i eth0 -j ACCEPT ( sport 1024-6000) -A INPUT -i lo -j ACCEPT -A INPUT -p icmp icmp-type any -j ACCEPT Ví Dụ 2: thêm 1 rule cấm máy 172.29.1.4 truy xuất Server. -A INPUT -p 50 -j ACCEPT -A INPUT –s 172.29.1.4 –d 192.168.12.210 –j REJECT -A INPUT -p 51 -j ACCEPT Nếu muốn cấm đường mạng 192.168.11.0/24 truy cập Server ta -A INPUT -m state state ESTABLISHED,RELATED -j ACCEPT khai báo -A INPUT -j REJECT reject-with icmp-host-prohibited -A INPUT –s 192.168.11.0/24 –d 192.168.12.210 –j REJECT COMMIT 93 94 Sử dụng bảng Filter làm firewall (tt.) 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 Ví Dụ 5: giả sử trên máy server có 2 card mạng: eth0, eth1 và ta chỉ trên Server, nhưng vẫn cho phép truy xuất tất cả các dịch vụ khác. áp dụng firewall trên card mạng thứ nhất (eth0) thì khai báo như sau: -A INPUT –s 172.29.1.8 –d 192.168.12.210 –p tcp –m tcp dport 80 –j REJECT -A INPUT –i eth0 –s 172.29.1.10 –d 192.168.12.210 –j REJECT ◦ dport : port của máy đích (máy Server, đối với gói tin đi vào). Nếu không chỉ rõ dùng card mạng nào (không có –i eth0) thì ngầm ◦ sport : port của máy nguồn (máy trạm, đối với gói tin đi vào server). địch là áp dụng cho tất cả các card mạng có trên máy server. Với tham số: Ví Dụ 4: thêm 1 rule cấm máy 172.29.1.8 truy xuất đến dịch vụ ssh -i để chỉ card mạng đối với hướng dữ liệu đi vào (INPUT) trên Server, nhưng vẫn cho phép truy xuất tất cả các dịch vụ khác. Ví dụ : -i eth0, -i eth1 -A INPUT –s 172.29.1.8 –d 192.168.12.210 –p tcp –m tcp dport -o để chỉ card mạng đối với hướng dữ liệu đi ra (OUTPUT) 22 –j REJECT Ví dụ : -o eth0, -o eth1 95 96 16
  17. Quản trị mạng và hệ thống - Chương 4 11/28/2016 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 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 server dùng giao thức UDP, những vẫn cho phép máy này phép truy xuất đến ssh nếu dùng ngoài dãy port bị cấm. truy xuất những dịch vụ dùng giao thức khác như TCP, -A INPUT –s 172.29.1.9 –d 192.168.12.210 –p tcp –m tcp ICMP, dport 1024:5000 dport 22 –j REJECT -A INPUT –s 172.29.12.2 –d 192.168.12.210 –p udp –m Ví Dụ 9: Cấm máy tính có ip 172.29.11.2 truy vấn DNS Server và udp –j REJECT 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 Ví Dụ 8: Cấm máy tính có ip 172.29.11.2 truy vấn DNS -A INPUT –s 172.29.11.2 –d 192.168.12.210 –p tcp –m tcp Server nhưng vẫn cho phép máy 172.29.11.2 được phép dport 53 –j REJECT 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 97 98 Sử dụng bảng Filter làm firewall (tt.) Cách sử dụng bảng NAT Ví Dụ 9: Cấm máy tính có ip 172.29.11.1 ping tới Server. Trước dòng: Trong file (/etc/sysconfig/iptables), ở cuối file khai báo -A INPUT -p icmp icmp-type any -j ACCEPT như sau: *nat Ta khai báo: sau từ *nat sẽ là các rule của bảng NAT -A INPUT –s 172.29.11.1 -p icmp icmp-type any -j REJECT 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ụ 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 Ví Dụ 1: NAT 1 IP thật 203.162.5.2 cho đường mạng web. 192.168.10.0/24 được phép đi ra ngoài Internet trực tiếp -A INPUT –s ! 172.29.11.1 -p tcp -m tcp dport www -j REJECT -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 99 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 17