「iptables」の版間の差分

提供: セキュリティ
移動: 案内検索
行35: 行35:
 
== 設定ファイル ==
 
== 設定ファイル ==
  
[[{{PAGENAME}}]] の設定ファイルは、下記の場所にあります。
+
[[iptables]] の設定ファイルは、下記の場所にあります。
 
  /etc/sysconfig/iptables-config
 
  /etc/sysconfig/iptables-config
 +
/etc/sysconfig/iptables
  
  
行78: 行79:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== iptables が動かない ===
 
 
service iptables start で [[iptables]] が動かないことに遭遇するかもしれません。
 
/etc/sysconfig/iptables  の設定ファイルが存在しないとき、[[iptables]] のサービスは起動できません。
 
  
 
=== iptables の設定と起動 ===
 
=== iptables の設定と起動 ===
行122: 行118:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== 回数制限を行う ===
 
 
1秒間に4回までアクセスを許可する例です。
 
<syntaxhighlight lang="bash">
 
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 4  -j ACCEPT
 
</syntaxhighlight>
 
 
[[sshd]] に対して行うと、[[総当たり攻撃]] を受けている時に、自分自身もログインができなくなるので、やるべきではないでしょう。
 
  
 
== iptables の設定の保存と復元 ==
 
== iptables の設定の保存と復元 ==

2013年8月18日 (日) 00:09時点における版

iptables は、Linux に実装されたIPv4用のパケットフィルタリングやネットワーク変換機能、または、コマンドのことです。 IPv6 用には、 ip6tables があります。

読み方

iptables

概要

iptables は、Linuxファイアーウォールとして利用できます。

設定ファイル

iptables の設定ファイルは、下記の場所にあります。

/etc/sysconfig/iptables-config
/etc/sysconfig/iptables


使い方

iptables の設定

/etc/sysconfig/iptables の設定例。

  • プライベートアドレスからの ssh のアクセスを許可する
  • ローカルホストからのアクセスを許可する
  • それ以外は、許可しない
# Generated by iptables-save v1.4.7 on Sat Apr 27 15:31:38 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Sat Apr 27 15:31:38 2013


  • どこからでも ssh のアクセスを許可する
  • ローカルホストからのアクセスを許可する
  • それ以外は、許可しない
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT


iptables の設定と起動

% sudo cp ./iptables /etc/sysconfig/iptables
% sudo service iptables start
iptables: Applying firewall rules:                         [  OK  ]

HTTPとHTTPSを許可する

HTTP (80)と HTTPS (443) を許可する例です。

-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT


icmp echo requestを許可する

-A INPUT -p icmp --icmp-type echo-request -j ACCEPT


iptables の設定の保存と復元

iptables-save コマンドでは、iptablesの設定を標準出力に出します。

iptables-save > iptables.save

iptables-restore は、iptables の設定を読み込み、iptables に反映します。

iptables-restore < iptables.save

iptables-save の実行例。

% iptables-save
# Generated by iptables-save v1.4.7 on Sat Apr 27 15:26:09 2013
*filter
:INPUT ACCEPT [79:6000]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [66:7992]
COMMIT
# Completed on Sat Apr 27 15:26:09 2013

iptables の設定を保存する

iptables コマンドで設定した情報は、 save を実行しないと保存されません。

% sudo service iptables save

関連項目