[[PageOutline]] = iptables = * http://www.designandcommunication.co.jp/Security/iptables/ * テーブル、チェインなどの基礎知識 * [http://www.atmarkit.co.jp/flinux/rensai/security04/security04a.html Linuxで作るファイアウォール[NAT設定編](1/2)] * [http://www.atmarkit.co.jp/flinux/rensai/security05/security05a.html Linuxで作るファイアウォール[パケットフィルタリング設定編](1/2)] * see also [http://www.atmarkit.co.jp/flinux/index/indexfiles/securityindex.html 連載記事 「ゼロから始めるLinuxセキュリティ」] * [http://www.designandcommunication.co.jp/Security/iptables/diagram.html Kernel Paket Diagram] * 経路を視覚化したもの (origin => http://www.docum.org/docum.org/kptd/) * 応用例 * [http://www.atmarkit.co.jp/flinux/index/indexfiles/iptablesindex.html 連載記事 「習うより慣れろ! iptablesテンプレート集」] * [http://juno106.seesaa.net/article/19373697.html junoのへたれサーバ管理日記: iptablesのログをとる] * デフォルトでは「kern.=warning」で振り分けが出来る {{{ Jul 4 01:54:03 ubuntu-napt kernel: [118136.424992] [UFW BLOCK FORWARD]: IN=eth0 OUT=eth2 SRC=192.168.100.197 DST=130.xyz.68.26 LEN=58 TOS=0x00 PREC=0x00 TTL=63 ID=3740 DF PROTO=UDP SPT=40966 DPT=53 LEN=38 }}} * iptable側では「--log-level err」などとしてpriorityを変更できる * kern.=warningには他にも様々なログが来るので、なるべく混ざらないようにしたければ「kern.=notice」「kern.=err」あたりが妥当か。 * /etc/syslog.conf {{{ kern.=warn -/var/log/kern.warn.log kern.=err -/var/log/kern.err.log }}} = 設定ファイル = #conffile * Ubuntu => [../ufw] * CentOS * /etc/sysconfig/iptables {{{ # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT }}} * sshのみListen可