Đồ án: IPTABLES trên LINUX
lượt xem 197
download
Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên Linux. Netfilter/Iptables gồm 2 phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân. Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đẩy các luật của người dùng vào cho Netfiler xử lí. Netfilter tiến hành lọc các gói dữ liệu ở mức IP. Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống....
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Đồ án: IPTABLES trên LINUX
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Đồ án: IPTABLES trên LINUX Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Mục Lục CHƯƠNG I: GIỚI THIỆU VỀ IPTABLES ...................................................................... 7 1. Iptables là gì? ...................................................................................................................... 7 2. Tải về và cài đặt trọn gói Iptables ........................................................................................ 7 3. Làm thế nào để bắt đầu iptables ? ........................................................................................ 8 4. Xác định Các trạng thái của iptables .................................................................................... 8 5. Cơ chế xử lý package trong iptables .................................................................................... 8 6. Target và Jumps ................................................................................................................ 13 7. Tùy chọn --limit, --limit-burst ........................................................................................... 16 8. Redirect cổng .................................................................................................................... 18 9. Cách đổi địa chỉ IP động (dynamic NAT) .......................................................................... 18 10. Cách đóng giả địa chỉ IP (masquerade) ............................................................................ 19 11. Quá trình chuyển gói dữ liệu qua Netfilter ....................................................................... 20 12. Các tham số dòng lệnh thường gặp của Iptables............................................................... 21 12.1. Gọi trợ giúp .............................................................................................................. 21 12.2. Các tùy chọn để thao tác với chain ............................................................................ 21 12.3. Các tùy chọn để thao tác với luật .............................................................................. 22 12.4. Các tùy chọn để chỉ định thông số............................................................................. 22 12.5 Sử dụng user defined chains: ..................................................................................... 27 12.6 Lưu lại những đoạn mã iptables: ................................................................................ 28 12.7 Thiết lập những Rule cho Fedora’s iptable: ................................................................ 29 12.8. Tìm lại Đoạn mã bị mất: ......................................................................................... 29 12.9 Những modun Kernel cần thiết : ................................................................................ 30 12.10 Sửa lỗi bảng iptables: ............................................................................................... 31 13.Những đoạn mã iptables mẫu: ......................................................................................... 32 13.1 Cơ bản về hoạt động của hệ thống bảo vệ: ................................................................. 32 13.2. Ưu điểm của sự khởi tạo iptables: ............................................................................. 34 13.3. Sự cho phép máy chủ DNS truy cập đến Firewall: .................................................... 36 13.4 Cho phép WWW và SSH truy cập vào firewall: ......................................................... 36 13.5_. Firewall cho phép bạn để truy cập Internet .............................................................. 37 13.6. Cho phép mạng Trang chủ của bạn để truy cập Các Firewall .................................... 38 13.7. Mặt nạ (Masquerade_many to one NAT): ................................................................ 39 13.8 Giả mạo (Nhiều NAT) ............................................................................................... 41 13.9 NAT Port Forwarding (DHCP DSL) ......................................................................... 44 13.10 SNAT & MASQUERADE ...................................................................................... 47 13.11. DNAT .................................................................................................................... 52 CHƯƠNG II: VÍ DỤ VỀ CẤU HÌNH IPTABLES CHO MÁY CHỦ PHỤC VỤ WEB ...... 53 1. Thiết lập các tham số cho nhân .......................................................................................... 53 2. Nạp các môđun cần thiết cho Iptables ................................................................................ 54 3. Nguyên tắc đặt luật là "drop trước, accept sau" .................................................................. 54 4. Lọc ICMP vào và chặn ngập lụt PING............................................................................... 55 5. Reject quét cổng TCP và UDP........................................................................................... 56 6. Phát hiện quét cổng bằng Nmap ........................................................................................ 57 7. Chặn ngập lụt SYN ........................................................................................................... 58 8: Giới hạn truy cập SSH cho admin ..................................................................................... 58 9. Giới hạn FTP cho web-master ........................................................................................... 59 10. Lọc TCP vào ................................................................................................................... 60 11. Lọc UDP vào và chặn ngập lụt UDP................................................................................ 60 Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX CHƯƠNG III : KẾT LUẬN ............................................................................................... 62 TÀI LIỆU THAM KHẢO ......................................................................................................... 63 Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Lời nhận xét ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Lời Mở Đầu An ninh mạng được xem là môt điều rất quan trọng trong bất kì quyết định của tổ chức một trang web như là mối đe dọa thường trực đang ngày càng trở lên phổ biens rộng rãi hơn. Một trong nhưng các bảo vệ là sử dụng firewall. Ban đầu, các bức tường lửa phổ biến nhất / NAT gói chạy trên Linux là ipchains, nhưng nó đã có một số thiếu sót. Để khắc phục điều này, các tổ chức Netfilter quyết định tạo ra một sản phẩm mới được gọi là iptables, nó cải tiến như: Tích hợp tốt hơn với các hạt nhân Linux với khả năng tải hạt nhân iptables cụ thể phần được thiết kế để cải thiện tốc độ và độ tin cậy. Kiểm tra trạng thái gói. Điều này có nghĩa rằng tường lửa theo dõi các kết nối đi qua nó và trong trường hợp nhất định sẽ xem nội dung của các luồng dữ liệu trong một nỗ lực để dự đoán các hành động tiếp theo của giao thức nhất định. Đây là tính năng quan trọng trong việc hỗ trợ các hoạt động FTP và DNS, cũng như các dịch vụ mạng khác. Lọc packet dựa trên địa chỉ MAC và các giá trị của những lá cờ trong phần đầu TCP. Điều này hữu ích trong việc ngăn chặn các cuộc tấn công bằng cách sử dụng các gói dữ liệu bị thay đổi và hạn chế truy cập từ các máy chủ tại địa phương thuộc các mạng khác. Hệ thống đăng nhập, cung cấp các tùy chọn điều chỉnh mức độ chi tiết của báo cáo. Dịch địa chỉ mạng tốt hơn. Hỗ trợ cho hội nhập trong suốt với các chương trình như Web proxy như Squid. Một tỷ lệ hạn chế tính năng giúp iptables chặn một số loại từ chối dịch vụ (DoS) tấn công. Được coi là nhanh hơn và an toàn hơn thay thế cho ipchains, iptables đã trở thành bức tường lửa gói cài đặt mặc định theo RedHat và Fedora Linux. Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Trong thời gian học tập tại trung tâm đào tao Bách Khoa Npower, dưới sự hướng dẫn của các thầy giáo chuyên ngành quản trị mạng đặc biêt là thầy Vũ Quý Hòa, em đã chọn đề tài "IPTABLES trên LINUX " cho đồ án môn học SECURITY. Mục đích của đề tài là giúp mọi người có được cái nhìn tổng quát nhất về PTABLES trên LINUX. Với các tài liệu thu thập được em đã hoàn thành đồ án "IPTABLES trên LINUX" biết được IPTABLES là gì?, cách cài đặt iptables, cơ chế xử lý package trong iptables, Target và Jumps, các tham số dòng lệnh của Iptables... và ứng dụng IPTABLES cho máy chủ phục vụ Web. Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX CHƯƠNG I: GIỚI THIỆU VỀ IPTABLES 1. Iptables là gì? Iptables là một tường lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và có sẵn trên Linux. Netfilter/Iptables gồm 2 phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân. Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đẩy các luật của người dùng vào cho Netfiler xử lí. Netfilter tiến hành lọc các gói dữ liệu ở mức IP. Netfilter làm việc trực tiếp trong nhân, nhanh và không làm giảm tốc độ của hệ thống. Hình 1: Sơ đồ Netfilter/Iptables 2. Tải về và cài đặt trọn gói Iptables Trước khi bạn bắt đầu, bạn cần phải chắc chắn rằng các RPM iptables phần mềm được cài đặt. Khi tìm kiếm các RPM, hãy nhớ rằng tên tập tin thường bắt đầu với tên gói phần mềm của một số phiên bản, như trong iptables-1.2.9-1.0. i386.rpm. Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX 3. Làm thế nào để bắt đầu iptables ? Để có được cấu hình iptables để bắt đầu lúc khởi động, sử dụng lệnh chkconfig:. [Root @ bigboy tmp] # chkconfig iptables on Bạn có thể bắt đầu, dừng lại, và khởi động lại iptables sau khi khởi động bằng cách sử dụng các lệnh: [Root @ bigboy tmp] # service iptables start [Root @ bigboy tmp] # service iptables stop [Root @ bigboy tmp] # service iptables restart 4. Xác định Các trạng thái của iptables Bạn có thể xác định xem iptables đang chạy hay không thông qua lệnh iptables trạng thái dịch vụ. Fedora Core sẽ cung cấp cho một thông báo trạng thái đơn giản. Ví dụ: [Root @ bigboy tmp] # service iptables status [Root @ bigboy tmp] # 5. Cơ chế xử lý package trong iptables Tất cả gói kiểm tra iptables đi qua một chuỗi các được xây dựng trong các bảng (hàng đợi) để xử lý. Mỗi hàng đợi là dành riêng cho một loại hình cụ thể của hoạt động gói và được điều khiển bởi một chuyển đổi gói tin liên quan / dây chuyền lọc. Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Có ba bàn trong tổng số. Đầu tiên là bảng mangle có trách nhiệm cho những thay đổi về chất lượng dịch vụ của các bit trong phần đầu TCP. Đây là hầu như không được sử dụng trong một môi trường nhà hoặc SOHO. Bảng xếp hàng thứ hai là bộ lọc này có trách nhiệm lọc gói. Nó có ba được xây dựng trong các chuỗi trong đó bạn có thể đặt các quy tắc chính sách t ường lửa của bạn. Đây là những: Chuyển tiếp chuỗi: Bộ lọc các gói dữ liệu đến các máy chủ được bảo vệ bởi tường lửa. Nhập chuỗi: Bộ lọc gói tin cho tường lửa. Đầu ra chuỗi: Bộ lọc gói có nguồn gốc từ các bức tường lửa. Bảng xếp hàng thứ ba là nat có trách nhiệm cho dịch địa chỉ mạng. Nó có hai được xây dựng trong các dây chuyền, đó là: Dự bị định tuyến chuỗi: NAT gói tin khi địa chỉ đích của gói tin cần phải được thay đổi. Post-routing chain: NAT gói tin khi địa chỉ nguồn của gói tin cần phải được thay đổi Bảng 1 : Các loại que ues và chain cùng c hức năng c ủa nó. Loại Gói chuyển đổi Chức năng hàng chuỗi trong Chức năng chuỗi Queue đợi Queue Filter Lọc gói Bộ lọc các gói dữ liệu đến các máy chủ có thể truy FORWARD cập bởi một NIC trên tường lửa. Bộ lọc gói đến tường lửa. INPUT Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Bộ lọc gói đi ra khỏi t ường lửa (gói dữ liệu có OUTPUT nguồn gốc từ các bức tường lửa). Nat Network Thay đổi địa chỉ đích xảy ra trước khi định PREROUTING Address tuyến. Tạo điều kiện cho việc chuyển đổi địa chỉ Translation IP đích tương thích với bảng định tuyến của t ường ( Biên dịch lửa. Được sử dụng với NAT của địa chỉ IP đích, địa chỉ mạ ng) còn được gọi là destination NAT hoặc DNAT. Thay đổi địa chỉ đích xảy ra sau khi định POSTROUTING tuyến. Điều này có nghĩa rằng không có cần phải thay đổi địa chỉ IP đích của gói tin như trong định tuyến trước. Được sử dụng với NAT của địa chỉ IP nguồn bằng cách sử dụng một -một hoặc NAT-một nhiều. Điều này được gọi là source NAT, hoặc SNAT. NAT sử dụng cho các gói dữ liệu xuất phát từ OUTPUT tường lửa.Rất hiếm khi được sử dụng trong môi trường SOHO) Mangle Chỉnh sửa Điêù chỉnh các bit quy định chất lượng dịch vụ PREROUTING TCP header trước khi dẫn đường. Rất hiếm khi được sử dụng POSTROUTING trong môi trường SOHO (small office – home KẾT QUẢ office). INPUT FORWARD Bạn cần xác định các bảng và chuỗi cho mỗi nguyên tắc tường lửa bạn tạo ra. Có một ngoại lệ: Hầu hết các quy tắc có liên quan đến lọc, do đó, giả định rằng bất kỳ iptables chuỗi đó là quy định mà không có một bảng có liên quan sẽ là một phần của bảng lọc. Bảng lọc vì thế là mặc định. Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Để giúp thực hiện điều này rõ ràng hơn, hãy xem cách các gói dữ liệu được xử lý bởi iptables. Trong Hình 2 một gói tin TCP từ Internet về đến giao diện của tường lửa trên mạng A để tạo ra một kết nối dữ liệu. Gói tin này được kiểm tra bởi các quy tắc đầu tiên trong chuỗi mangle Table PREROUTING Chain (nếu có). Sau đó nó được kiểm tra bởi các quy tắc trong chuỗi nat Table PREROUTING Chain để xem liệu gói tin yêu cầu DNAT không .DNAT sẽ thay đổi địa chỉ đích của gói dữ liêụ .Sau đó nó được định tuyến – Routing . Nếu gói dữ liệu được đưa vào một mạng lưới bảo vệ, sau đó nó được lọc theo các quy tắc trong chuỗi FORWARD của bảng lọc và, nếu cần thiết, gói trải qua SNAT trong chuỗi POSTROUTING để thay đổi IP nguôn trước khi đến mạng B. Khi máy chủ đích quyết định trả lời, gói trải qua cùng một trình tự các bước. Cả hai FORWARD và POSTROUTING chuỗi có thể được cấu hình để thực hiện chất lượng dịch vụ (QoS) các tính năng trong bảng mangle của họ, nhưng điều này không thường được thực hiện trong môi trường SOHO. Nếu gói dữ liệu được định hướng đi vào bên trong bức tường lửa chính nó, nó đươc kiêtra qua các bảng mangle của chuỗi INPUT. Nếu gói dữ đó thành công vượt qua các thử nghiệm này sau đó nó được xử lý bởi các ứng dụng định trên tường lửa. Tại một số điểm, tường lửa cần phải trả lời. trả lời này được định tuyến và kiểm tra bởi các quy tắc trong chuỗi OUTPUT của bảng mangle, nếu có. Tiếp theo, các quy tắc trong chuỗi OUTPUT của bảng nat xác định xem DNAT là cần thiết và các quy tắc trong chuỗi OUTPUT của bảng này sau đó được kiểm tra bộ lọc để giới hạn các gói dữ liệu trái phép. Cuối cùng, trước khi gói tin được gửi trở lại vào Internet, hỏng SNAT và QoS được thực hiện bằng các chuỗi POSTROUTING Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Hình 2. Iptables gói lưu lượng Sơ đồ Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX 6 Target và Jumps Jump là cơ chế chuyển một packet đến một target nào đó để xử lý thêm một số thao tác khác. Target là cơ chế hoạt động trong iptables, dùng để nhận diện và kiểm tra packet. Các target được xây dựng sẵn trong iptables như bảng sau: Bảng 2 : Miêu tả các target mà iptables thường dùng nhất . Ý ngh ĩa Tùy chọn T a rg e t s ACCE PT iptables ngừng xử lý gói dữ liệu đó và chuyển t iếp nó vào một ứng dụng cuối hoặc hệ điều hà nh để xử lý . DROP iptables ngừng xử lý gói dữ liệu đó và gói dữ liệu bị chặn, loại bỏ. LO G Thông t in của gói sẽ --log-pre fix " string" được iptables sẽ thê m vào đưa vào syslog để kiể m tra log message một chuỗi . Iptables tiếp tục xử lý do người dùng định sẵ n . gói với quy luật kế tiếp . Thông thường là để thông báo lý do vì sao gói bị bỏ . Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX REJECT Tương tự như DROP , --reject-with qualifier nhưng nó sẽ gởi trả lại cho phía người gởi một Tham số qualifier sẽ cho thông báo lỗi rằng gói đã bị biết loại thông báo gửi trả chặn và loại bỏ . lại phía gửi. Qualifier gồm các loại sau: icmp-port-unreachable (default) icmp-net-unreachable icmp-host-unreachable icmp-proto-unreachable icmp-net-prohibited icmp-host-prohibited tcp-reset echo-reply --to-destination ipaddress DNAT Dùng để thực hiện Destination network address translation , đ ịa Iptables sẽ viết lại địa chỉ chỉ đích của gói dữ liệu sẽ ipaddress vào địa chỉ được viết lại . đích của gói dữ liệu . Dùng để thực hiện Source --to-source [- SNAT network address translation ][:- , viết lại địa chỉ nguồn của ] gói dữ liệu . Miêu tả IP và port sẽ được viết lại bởi iptables . Dùng để thực hiện Source [--to-ports [- MASQUERADE ]] Networkaddress Translation. Mặc định thì địa chỉ IP nguồn sẽ Ghi rõ tầm các port nguồn giống như IP nguồn của mà port nguồn gốc có firewall . thể ánh xạ được. Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Phân biệt giữa ACCEPT, DROP và REJECT packet - ACCEPT: chấp nhận packet - DROP: thả packet (không hồi âm cho client) - REJECT: loại bỏ packet (hồi âm cho client bằng một packet khác) Ví dụ: # iptables -A INPUT -i eth0 --dport 80 -j ACCEPT chấp nhận các packet vào cổng 80 trên card mạng eth0 # iptables -A INPUT -i eth0 -p tcp --dport 23 -j DROP thả các packet đến cổng 23 dùng giao thức TCP trên card mạng eth0 # iptables -A INPUT -i eth1 -s ! 10.0.0.1-10.0.0.5 --dport 22 -j REJECT --reject- with tcp-reset gởi gói TCP với cờ RST=1 cho các kết nối không đến từ dãy địa chỉ IP 10.0.0.1..5 trên cổng 22, card mạng eth1 # iptables -A INPUT -p udp --dport 139 -j REJECT --reject-with icmp-port- unreachable gởi gói ICMP `port-unreachable` cho các kết nối đến cổng 139, dùng giao thức UDP Phân biệt giữa NEW, ESTABLISHED và RELATED - NEW: mở kết nối mới - ESTABLISHED: đã thiết lập kết nối - RELATED: mở một kết nối mới trong kết nối hiện tại Ví dụ: Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX # iptables -P INPUT DROP đặt chính sách cho chain INPUT là DROP # iptables -A INPUT -p tcp --syn -m state --state NEW -j ACCEPT chỉ chấp nhận các gói TCP mở kết nối đã set cờ SYN=1 # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT không đóng các kết nối đang được thiết lập, đồng thời cũng cho phép mở các kết nối mới trong kết nối được thiết lập # iptables -A INPUT -p tcp -j DROP các gói TCP còn lại đều bị DROP 7. Tùy chọn --limit, --limit-burst --limit-burst: mức đỉnh, tính bằng số packet --limit: tốc độ khi chạm mức đỉnh, tính bằng số packet/s(giây), m(phút), d(giờ) hoặc h(ngày) VD: # iptables -N test # iptables -A test -m limit --limit-burst 5 --limit 2/m -j RETURN # iptables -A test -j DROP # iptables -A INPUT -i lo -p icmp --icmp-type echo-request -j test Đầu tiên lệnh iptables -N test để tạo một chain mới tên là test (table mặc định là filter). Tùy chọn -A test (append) để thêm luật mới vào chain test. Đối với chain test, mình giới hạn limit-burst ở mức 5 gói, limit là 2 gói/phút, nếu thỏa luật sẽ trở về (RETURN) còn không sẽ bị DROP. Sau đó mình nối thêm chain test vào chain INPUT với tùy chọn card mạng vào là lo, giao thức icmp, loại icmp là echo- Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX request. Luật này sẽ giới hạn các gói PING tới lo là 2 gói/phút sau khi đã đạt tới 5 gói. Bạn thử ping đến localhost xem sao? $ ping -c 10 localhost Chỉ 5 gói đầu trong phút đầu tiên được chấp nhận, thỏa luật RETURN đó. Bây giờ đã đạt đến mức đỉnh là 5 gói, lập tức Iptables sẽ giới hạn PING tới lo là 2 gói trên mỗi phút bất chấp có bao nhiêu gói được PING tới lo đi nữa. Nếu trong phút tới không có gói nào PING tới, Iptables sẽ giảm limit đi 2 gói tức là tốc độ đang là 2 gói/phút sẽ tăng lên 4 gói/phút. Nếu trong phút nữa không có gói đến, limit sẽ giảm đi 2 nữa là trở về lại trạng thái cũ chưa đạt đến mức đỉnh 5 gói. Quá trình cứ tiếp tục như vậy. Bạn chỉ cần nhớ đơn giản là khi đã đạt tới mức đỉnh, tốc độ sẽ bị giới hạn bởi tham số--limit. Nếu trong một đơn vị thời gian tới không có gói đến, tốc độ sẽ tăng lên đúng bằng --limit đến khi trở lại trạng thái chưa đạt mức --limit-burst thì thôi. Để xem các luật trong Iptables bạn gõ lệnh $ iptables -L -nv (-L tất cả các luật trong tất cả các chain, table mặc định là filter, -n liệt kê ở dạng số, v để xem chi tiết) # iptables -L -nv Chain INPUT (policy ACCEPT 10 packets, 840 bytes) pkts bytes target prot opt in out source destination 10 840 test icmp -- lo * 0.0.0.0/0 0.0.0.0/0 icmp type 8 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Chain OUTPUT (policy ACCEPT 15 packets, 1260 bytes) pkts bytes target prot opt in out source destination Chain test (1 references) pkts bytes target prot opt in out source destination 5 420 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 2/min burst 5 5 420 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 # iptables -Z reset counter # iptables -F flush luật # iptables -X xóa chain đã tạo 8. Redirect cổng Iptables hổ trợ tùy chọn -j REDIRECT cho phép bạn đổi hướng cổng một cách dễ dàng. Ví dụ như SQUID đang listen trên cổng 3128/tcp. Để redirect cổng 80 đến cổng 3128 này bạn làm như sau: # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128 Lưu ý: tùy chọn -j REDIRECT cho có trong chain PREROUTING 9. Cách đổi địa chỉ IP động (dynamic NAT) Giới thiệu về công nghệ đổi địa chỉ NAT động và đóng giả IP Masquerade. NAT động là một trong những kĩ thuật chuyển đổi địa chỉ IP NAT (Network Address Translation). Các địa chỉ IP nội bộ được chuyển sang IP NAT như sau: Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Hình 3. Cách đôỉ địa chỉ Ip đông NAT Router đảm nhận việc chuyển dãy IP nội bộ 169.168.0.x sang dãy IP mới 203.162.2.x. Khi có gói liệu với IP nguồn là 192.168.0.200 đến router, router sẽ đổi IP nguồn thành 203.162.2.200 sau đó mới gởi ra ngoài. Quá trình này gọi là SNAT (Source-NAT, NAT nguồn). Router lưu dữ liệu trong một bảng gọi là bảng NAT động. Ngược lại, khi có một gói từ liệu từ gởi từ ngoài vào với IP đích là 203.162.2.200, router sẽ căn cứ vào bảng NAT động hiện tại để đổi địa chỉ đích 203.162.2.200 thành địa chỉ đích mới là 192.168.0.200. Quá trình này gọi là DNAT (Destination-NAT, NAT đích). Liên lạc giữa 192.168.0.200 và 203.162.2.200 là hoàn toàn trong suốt (transparent) qua NAT router. NAT router tiến hành chuyển tiếp (forward) gói dữ liệu từ 192.168.0.200 đến 203.162.2.200 và ngược lại. 10. Cách đóng giả địa chỉ IP (masquerade) Đây là một kĩ thuật khác trong NAT. Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
- ĐỐ án môn SECURITY: IPTABLES trên LINUX Hình 4. Cách đóng giả địa chỉ IP. NAT Router chuyển dãy IP nội bộ 192.168.0.x sang một IP duy nhất là 203.162.2.4 bằng cách dùng các số hiệu cổng (port-number) khác nhau. Chẳng hạn khi có gói dữ liệu IP với nguồn 192.168.0.168:1204, đích 211.200.51.15:80 đến router, router sẽ đổi nguồn thành 203.162.2.4:26314 và lưu dữ liệu này vào một bảng gọi là bảng masquerade động. Khi có một gói dữ liệu từ ngoài vào với nguồn là 221.200.51.15:80, đích 203.162.2.4:26314 đến router, router sẽ căn cứ vào bảng masquerade động hiện tại để đổi đích từ 203.162.2.4:26314 thành 192.168.0.164:1204. Liên lạc giữa các máy trong mạng LAN với máy khác bên ngoài hoàn toàn trong suốt qua router. 11. Quá trình chuyển gói dữ liệu qua Netfilter Gói dữ liệu (packet) chạy trên chạy trên cáp, sau đó đi vào card mạng (chẳng hạn như eth0). Đầu tiên packet sẽ qua chain PREROUTING (trước khi định tuyến). Tại đây, packet có thể bị thay đổi thông số (mangle) hoặc bị đổi địa chỉ IP đích (DNAT). Đối với packet đi vào máy, nó sẽ qua chain INPUT. Tại chain INPUT, Lê Thị Thanh Hiền S0809G – BachKhoa-Npower
CÓ THỂ BẠN MUỐN DOWNLOAD
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn