Ne zaman giriş yaparsam genellikle iptables kurallarımı çalıştırırım. Terminal I tipinden;
sudo sh firewall.sh
Kız kardeşimin bilgisayarını kurarak, ona bazı temel güvenlik duvarı koruması vermek istiyorum. Standart bir hesap olarak admin olarak girmeyecek. Herhangi bir parola girmek zorunda kalmadan her oturum açtığında bir güvenlik duvarı komut dosyasını nasıl çalıştırabilirim?
Kız kardeşimin bilgisayarı için yazdığım senaryo;
#!/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
Onu ev klasörüne firewall.sh olarak yerleştirdim ve çalıştırılabilir olarak ayarladım (dosyaya sağ tıklayın ve izinler sekmesinde "dosyanın program olarak yürütülmesine izin ver" seçeneğini işaretliyorum).
Bu betiği terminalden root olarak çalıştırmak gayet iyi çalışıyor.
Yazdıktan sonra;
sudo sh firewall.sh
Terminale yazdım
sudo iptables -L -v
ve anladım
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
Bu betiğin giriş sırasında otomatik olarak çalışmasını veya bu kuralları kız kardeşlerimin bilgisayarına kalıcı olarak kaydetmesini nasıl sağlayabilirim? Rc.local yöntemi ve iptables-save'daki ilk girişimlerim çok başarılı olmadığından, ayrıntılı bir kod verebilir misiniz? Her yeniden başlatmada, tüm INPUT, OUTPUT ve FORWARD zincirleri, yazarken ilkeler listelenmemiş olarak KABUL EDİLDİRsudo iptables -L -v
ip6tables
IPv6 tarafından yapıldığındanip6tables
ve kullanılmadığından bir gün v6 bağlantısı kurarsanız kurallara sahip olduğunuzdan emin oluniptables
.