27
28

More than 5 years have passed since last update.

iptablesの設定メモ

Last updated at Posted at 2014-04-01

以下の通りの方針に従って設定を行う

  • 入力(INPUT),転送(FORWARD)は許可したもの以外は破棄(DROP)
  • 出力(OUTPUT)は基本的に許可(ACCEPT)

入力で許可するもの以下のとおり

  • sshサーバへの接続は許可
  • ローカルループバックインターフェースからの接続は許可
  • pingなどICMPパケットを許可
  • 自サーバから接続済みの通信に関するパケットを許可

ip偽装攻撃対策

  • プライベートIPアドレスからの接続は破棄
  • ローカルループバックからの接続は拒否
  • 特殊なアドレス(リンクローカル,TEST-NET,クラスD,クラスE)からの接続は拒否

Smarf攻撃対策

  • ブロードキャストのパケットを破棄

上記に対応する iptables の設定は以下

/etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Apr  2 03:07:56 2014
*filter

# 入力(INPUT),転送(FORWARD)は許可したもの以外は破棄(DROP)
:INPUT DROP [26:2578]
:FORWARD DROP [0:0]

# 出力(OUTPUT)は基本的に許可(ACCEPT)
:OUTPUT ACCEPT [4:432]

# sshサーバへの接続は許可(xxxxxxは実際はsshのポート番号)
-A INPUT -p tcp -m tcp --dport xxxxxx -j ACCEPT

# 自サーバから接続済みの通信に関するパケットを許可
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# ローカルループバックインターフェースからのパケットは許可
-A INPUT -i lo -j ACCEPT

# icmpパケットを許可
-A INPUT -p icmp -j ACCEPT

# ip偽装対策1(プライベートアドレスからのパケットは破棄)
-A INPUT -s 10.0.0.0/8 -j DROP
-A INPUT -s 172.16.0.0/12 -j DROP
-A INPUT -s 192.168.0.0/16 -j DROP

# ip偽装対策2(特殊なアドレスからのパケットを拒否)
-A INPUT -s 127.0.0.0/8 -j DROP     # ローカルループバックアドレス
-A INPUT -s 169.254.0.0/16 -j DROP  # ローカルアドレス
-A INPUT -s 192.0.2.0/24 -j DROP    # TEST-NET
-A INPUT -s 224.0.0.0/4 -j DROP     # クラスD
-A INPUT -s 240.0.0.0/5 -j DROP     # クラスE

# Smarf攻撃対策(ブロードキャストパケットの破棄)
-A INPUT -d 0.0.0.0/8 -j DROP
-A INPUT -d 255.255.255.255/32 -j DROP
COMMIT

サービスの起動/停止

起動
$ sudo /etc/init.d/iptables start
停止
$ sudo /etc/init.d/iptables stop
再起動
$ sudo /etc/init.d/iptables restart
27
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
28