Debianä¸ã§ã®iptablesã®è¨å®æ¹æ³
ãããã§ã°ã°ãã¨å¤ãè¨äºãå¤ãã®ã§ãDebian Wikiãåèã«ç°¡åãªæ¹æ³ãæ¸ãã¦ã¿ã¾ãã
ã¾ããiptablesã¨iptables-persistentãã¤ã³ã¹ãã¼ã«ãã¾ãã
iptables-persistentã¯å¾ã§å½¹ç«ã£ã¦ãã¾ãã
iptables -L
æ©éãç¾å¨ã®è¨å®ãè¦ã¦ã¿ãã¨
Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
ãã®ããã«ç©ºã£ã½ã®ç¶æ ã ã¨æãã¾ãã
ãã¹ãç¨ã«è¨å®ãã¡ã¤ã«ãä½ãã¾ãã
vi /etc/iptables.test.rules
ä»åã¯ãDebian Wikiã«æ¸ããã¦ãããµã³ãã«ãå©ç¨ãã¦ã¿ã¾ãã
åèªãSSHD_CONFIGã®ãã¼ãçªå·ã«æ¸ãæãã¾ãããã
*filter # Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT # Accepts all established inbound connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allows all outbound traffic # You could modify this to only allow certain traffic -A OUTPUT -j ACCEPT # Allows HTTP and HTTPS connections from anywhere (the normal ports for websites) -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT # Allows SSH connections for script kiddies # THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE -A INPUT -p tcp -m state --state NEW --dport 30000 -j ACCEPT # Now you should read up on iptables rules and consider whether ssh access # for everyone is really desired. Most likely you will only allow access from certain IPs. # Allow ping -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # log iptables denied calls (access via 'dmesg' command) -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 # Reject all other inbound - default deny unless explicitly allowed policy: -A INPUT -j REJECT -A FORWARD -j REJECT COMMIT
ãã¹ãç¨ã®è¨å®ãé©ç¨ããã¦ã¿ã¾ãããã
æåã¨ã®éãããããã¨æãã¾ãã
iptables -L
/etc/network/if-pre-up.d/
/etc/network/if-post-down.d/
ä¸è¨ã«è¨å®ããã¦ãã¤ã³ã¿ã¼ãã§ã¤ã¹ãç«ã¡ä¸ããåã«iptablesãé©å¿ããããã«ãã¦ããè¨äºãå¤ãã®ã§ãããä»åã¯iptables-persistentãå©ç¨ãã¾ãã
iptables-save > /etc/iptables/rules
service iptables-persistent start
ããã ãã§OKã§ãã
èµ·åã¹ã¯ãªãããèªåã§ç¨æããå¿
è¦ããªãã®ã§ãæ軽ã§ããã
å¾ã¯ãåèªã§iptablesã®è¨å®ã調æ´ãã¦ã¿ã¦ãã ããã
ã¡ãªã¿ã«/etc/init.d/iptables-persistentãä¸èº«ã¯ã·ã³ãã«ãªã·ã§ã«ã¹ã¯ãªããã§ããã
#!/bin/sh # Written by Simon Richter <[email protected]> # ### BEGIN INIT INFO # Provides: iptables-persistent # Required-Start: mountkernfs $local_fs # Required-Stop: $local_fs # Default-Start: S # Default-Stop: # Short-Description: Set up iptables rules ### END INIT INFO case "$1" in start) if [ -f /etc/iptables/rules ]; then iptables-restore </etc/iptables/rules fi ;; stop|force-stop|restart|force-reload|status) ;; *) echo "Usage: $0 {start|stop|force-stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0
æ
å ±ãå¤ããªã£ãã®ã§ã追è¨ãã¦ããã¾ããã
http://d.hatena.ne.jp/mercysluck/20121212