Tạo tường lửa của riêng bạn với iptables bằng cách sử dụng tập lệnh đơn giản này

Tôi đã dành thời gian suy nghĩ về hai điều về iptables này: hầu hết những người tìm kiếm các hướng dẫn này là người mới bắt đầu và thứ hai, nhiều người đã tìm kiếm một thứ gì đó khá đơn giản và đã được trau chuốt.

Ví dụ này dành cho máy chủ web, nhưng bạn có thể dễ dàng thêm nhiều quy tắc hơn và điều chỉnh nó theo nhu cầu của mình.

Khi bạn thấy "x" thay đổi cho ip của bạn


#!/bin/bash

# Chúng tôi làm sạch bảng iptables -F iptables -X # Chúng tôi dọn dẹp bảng NAT iptables -t nat -F iptables -t nat -X # mangle cho những thứ như PPPoE, PPP và ATM iptables -t mangle -F iptables -t mangle -X # Chính sách Tôi nghĩ đây là cách tốt nhất cho người mới bắt đầu và # vẫn không tệ, tôi sẽ giải thích đầu ra (output) tất cả vì chúng là kết nối gửi đi #, đầu vào chúng tôi loại bỏ mọi thứ và không có máy chủ nào nên chuyển tiếp. iptables -P INPUT DROP iptables -P OUTPUT CHẤP NHẬN iptables -P FORWARD DROP #Intranet LAN intranet = eth0 #Extranet wan extranet = eth1 # Keep state. Mọi thứ đã được kết nối (thiết lập) được để lại như sau: iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT # Loop device. iptables -A INPUT -i lo -j CHẤP NHẬN # http, https, chúng tôi không chỉ định giao diện vì # chúng tôi muốn nó là tất cả các iptables -A INPUT -p tcp --dport 80 -j CHẤP NHẬN iptables -A INPUT -p tcp - dport 443 -j CHẤP NHẬN # ssh chỉ trong nội bộ và từ dải iptables này của ip -A INPUT -p tcp -s 192.168.xx / 24 -i $ intranet --dport 7659 -j CHẤP NHẬN # giám sát, chẳng hạn nếu chúng có zabbix hoặc một số khác dịch vụ snmp iptables -A INPUT -p tcp -s 192.168.xx / 24 -i $ mạng nội bộ --dport 10050 -j CHẤP NHẬN # icmp, ping tốt tùy thuộc vào bạn iptables -A INPUT -p icmp -s 192.168.xx / 24 - i $ intranet -j CHẤP NHẬN #mysql với postgres là cổng 5432 iptables -A INPUT -p tcp -s 192.168.xx --sport 3306 -i $ intranet -j CHẤP NHẬN #sendmail bueeeh nếu bạn muốn gửi một số thư #iptables -A OUTPUT -p tcp --dport 25 -j CHẤP NHẬN # Anti-SPOOFING 09/07/2014 # SERVER_IP = "190.xxx" # server IP - ip wan thực của máy chủ LAN_RANGE = "192.168.xx / 21" # dải mạng LAN mạng của bạn hoặc vlan # Ip của bạn mà không bao giờ được vào extranet,là sử dụng một chút logic # nếu chúng ta có giao diện WAN hoàn toàn, nó sẽ không bao giờ nhập lưu lượng kiểu # LAN qua giao diện đó SPOOF_IPS = "0.0.0.0/8 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0 / 16 "# Hành động mặc định - được thực hiện khi bất kỳ quy tắc nào khớp với ACTION =" DROP "# Gói có cùng ip của máy chủ của tôi thông qua wan iptables -A INPUT -i $ extranet -s $ SERVER_IP -j $ ACTION # iptables -A OUTPUT -o $ extranet -s $ SERVER_IP -j $ ACTION # Các gói với Phạm vi LAN cho wan, tôi đặt nó như thế này trong trường hợp bạn có # bất kỳ mạng cụ thể nào, nhưng điều này là thừa với quy tắc # sau bên trong vòng lặp " cho "iptables -A INPUT -i $ extranet -s $ LAN_RANGE -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ LAN_RANGE -j $ ACTION ## Tất cả các mạng SPOOF không được wan cho phép ip trong $ SPOOF_IPS làm iptables -A INPUT -i $ extranet -s $ ip -j $ ACTION iptables -A OUTPUT -o $ extranet -s $ ip -j $ ACTION đã xong

Như mọi khi tôi chờ đợi ý kiến ​​của bạn, hãy theo dõi trên blog này, Cảm ơn bạn