Skip to content

Instantly share code, notes, and snippets.

@blueberrystream
Last active March 8, 2016 08:58
Show Gist options
  • Save blueberrystream/9d671d0e517a55e1499a to your computer and use it in GitHub Desktop.
Save blueberrystream/9d671d0e517a55e1499a to your computer and use it in GitHub Desktop.
秘伝のタレ iptables味

iptables設定

方針

  • inboundは基本drop
  • forwardはdrop
  • outboundはaccept
  • inboundでacceptするのは以下
    • ループバックインタフェースへのinbound
    • ICMP
    • 送信元がNTP(udp123)で送信先がNTP(udp123)
    • 送信先がSSH(tcp22) ※ステートフル性を確認
    • 送信先がHTTP(tcp80) ※ステートフル性を確認

設定コマンド

  • 設定コマンドを流したターミナルは絶対に閉じない
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p udp --sport 123 --dport 123 -j ACCEPT
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 80 -j ACCEPT
iptables -N LOGGING
iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit
iptables -A LOGGING -j DROP
iptables -A INPUT -j LOGGING
iptables -L

設定コマンドを流した後

  • 設定コマンドを流したターミナルは絶対に閉じない
  • SSHdのポートを変更した場合はSSHログインできることをきちんと確認すること
  • 動作確認して大丈夫なら以下に進む
service iptables save
service iptables restart
chkconfig iptables on
chkconfig --list | grep iptables

iptablesのログが標準出力に流れないようにする

vi /etc/sysconfig/syslog
#KLOGD_OPTIONS="-x"
KLOGD_OPTIONS="-x -c 4"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment