このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

iptablesについて(入門レベル) このメッセージに返信する
日時: 2010/12/11 17:21
名前: ProxyPassさん
URL:
以下のshでiptablesを設定しました。
ssh,http,httpsのみを許可する設定です。

**********************************************************************
#!/bin/sh
IPTABLES=/sbin/iptables

#rule initialize
$IPTABLES -F
#policy setting
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
#loopback address
$IPTABLES -A INPUT -i lo -j ACCEPT
#arrow connected
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#public service
#ssh
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT_COUNTRY
#http
$IPTABLES -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
#https
$IPTABLES -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
**********************************************************************


設定後の確認をしました。
>>iptables -L
**********************************************************************
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:22 state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW
ACCEPT tcp -- anywhere anywhere tcp dpt:https state NEW

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
**********************************************************************



一番上の行は全て受け入れるという意味に読み取れるのですが、その認識はあっていますか?
>ACCEPT all -- anywhere anywhere

またその場合、全て受け入れるのではなく、上述のとおり、
ssh,http,httpsのみを許可する設定にしたいのですが、どのように上記shを記述すればいいでしょうか?

ご教示願いします。
記事編集 編集
Re: iptablesについて(入門レベル) このメッセージに返信する
日時: 2010/12/11 17:39
名前: stranger
URL: http://ja.528p.com/
iptables -L -n -v
で詳細を表示してみてください

ACCEPT all -- anywhere anywhere

$IPTABLES -A INPUT -i lo -j ACCEPT
で設定されたものです

$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT_COUNTRY
と設定した場合
ACCEPT_COUNTRYの設定をしないと ssh接続できなくなります

iptablesの説明(日本語訳サイト)
http://www.asahi-net.or.jp/~aa4t-nngk/ipttut/index.html
記事編集 編集
Re: iptablesについて(入門レベル) このメッセージに返信する
日時: 2010/12/11 17:53
名前: ProxyPassさん
URL:
>>strangerさん
レスありがとうございます。

iptables -L -n -vで詳細表示すると、
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
と表示されました。
localhostのみ全て受け入れるとなっているようで安心しました。

>>IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT_COUNTRY
は私のタイポででした。実際のshはACCEPTで登録していました。



ちなみにですが、
上記shの最下行に下記は必須な記述なのでしょうか?
$IPTABLES -A INPUT -j DROP
$IPTABLES -A FORWARD -j DROP

最上行で
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
と記述しているだけで十分かと思っていましたが、いろいろなサイトでは最下行に記述されていました。

すいませんが、ご教示願いします。
記事編集 編集
Re: iptablesについて(入門レベル) このメッセージに返信する
日時: 2010/12/11 18:50
名前: stranger
URL: http://ja.528p.com/
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
に指定してあるので 基本は DROP

実験的にやってみたらどうでしょう
$IPTABLES -A INPUT --dport 80 -j DROP
を最後につけて 外部からhttpアクセスしてみるとか

$IPTABLES -A INPUT -j DROP
は全てのINPUTをDROPすると言う意味だから
ローカルからもアクセスできなくなる場合があるので
少なくとも、ssh接続はできるように--dport 80で試す

蛇足
単純に--dport 22 をアクセス可能にしておくと
外部から総当たりの辞書攻撃をうけて
/var/log/secureにログが溢れます
記事編集 編集
Re: iptablesについて(入門レベル) このメッセージに返信する
日時: 2010/12/11 19:15
名前: ProxyPassさん
URL:
>>strangerさん
レスありがとうございます。

いろいろ試してみます。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -