Tôi thường chạy các quy tắc iptables của mình bất cứ khi nào tôi đăng nhập. Từ thiết bị đầu cuối tôi gõ;
sudo sh firewall.sh
Thiết lập máy tính của chị tôi, tôi muốn cung cấp cho cô ấy một số bảo vệ tường lửa cơ bản. Cô sẽ không đăng nhập với tư cách quản trị viên, chỉ là một tài khoản chuẩn. Làm cách nào tôi có thể tạo tập lệnh tường lửa chạy mỗi khi cô ấy đăng nhập mà không cần phải nhập bất kỳ mật khẩu nào?
Kịch bản tôi viết cho máy tính của chị tôi;
#!/bin/sh
modprobe ip_conntrack
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -I OUTPUT -p tcp --dport 80 --sport 32768:61000 -j ACCEPT
iptables -I OUTPUT -p udp --dport 53 --sport 32768:61000 -j ACCEPT
iptables -I OUTPUT -p tcp --dport 443 --sport 32768:61000 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -I OUTPUT -p icmp -j DROP
iptables -I INPUT -p icmp -j DROP
iptables -I INPUT -p udp -j DROP
iptables -I INPUT -p tcp -m tcp --syn -j DROP
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Tôi đã đặt nó trong thư mục nhà của cô ấy dưới dạng tường lửa.
Chạy script này từ terminal như root hoạt động tốt.
Sau khi gõ;
sudo sh firewall.sh
Tôi gõ vào thiết bị đầu cuối
sudo iptables -L -v
va tôi lây
Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 DROP tcp -- any any anywhere anywhere tcpflags: FIN,SYN,RST,ACK/SYN
0 0 DROP udp -- any any anywhere anywhere
0 0 DROP icmp -- any any anywhere anywhere
Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
0 0 DROP icmp -- any any anywhere anywhere
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spts:32768:61000 dpt:https
0 0 ACCEPT udp -- any any anywhere anywhere udp spts:32768:61000 dpt:domain
0 0 ACCEPT tcp -- any any anywhere anywhere tcp spts:32768:61000 dpt:http
0 0 ACCEPT all -- any lo anywhere anywhere
Làm cách nào để tập lệnh này tự động chạy khi đăng nhập hoặc có thể lưu các quy tắc này vĩnh viễn cho máy tính của chị em tôi? Bạn có thể vui lòng cung cấp một số mã chi tiết không, vì những nỗ lực đầu tiên của tôi tại phương thức RC.local và iptables-save đã không thành công lắm. Trên mỗi lần khởi động lại, tất cả các chuỗi INPUT, OUTPUT và FORWARD đều được đặt lại thành ACCEPT, không có chính sách nào được liệt kê khi tôi nhậpsudo iptables -L -v
ip6tables
các quy tắc nếu bạn có kết nối v6 một ngày, vì IPv6 được xử lý bởiip6tables
và khôngiptables
.