Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0010に戻る

タイトル: iptables
記事No: 3121
投稿日: 2005/01/02(Sun) 10:21
投稿者: Mac
このサイトを見て設定してたんですけど、
何がダメだったのでしょうか?

タイトル: Re: iptables
記事No: 3122
投稿日: 2005/01/02(Sun) 19:57
投稿者: 緑茶
あっ僕も知りたいです。お願いします!

タイトル: Re: iptables
記事No: 3126
投稿日: 2005/01/05(Wed) 20:30
投稿者: ナマケモノ   <namakemono006@yahoo.co.jp>
URL: http://iwannalove.jugem.jp/
> このサイトを見て設定してたんですけど、
> 何がダメだったのでしょうか?

サイト内検索で出てきました

http://www.miloweb.net/pastbbs/0006/1657.html

タイトル: Re: iptables
記事No: 3129
投稿日: 2005/01/09(Sun) 15:05
投稿者: クッキー
> このサイトを見て設定してたんですけど、
> 何がダメだったのでしょうか?

自分は最近Linuxに触れた初心者なので、あまり詳しい事は分かりませんが、
以前公開されていたコンテンツの間違っている部分は下記の通りです。


 [問題点1]
最新版である「iptables v1.2.10」で検証した結果、解説通りにファイアウォールを構築すると、
ICMP,TCP,UDP のインバウンド接続を全て許可してしまう事になります。

具体的に問題があるのは下の部分です。

| 全体的な設定
|
| まずは、ザックリした設定を行います。
| icpm( ping )、tcp 、udp を許可します。
| これは、全てのポートを許可するというワケではありません。最終的にどのポートを許可(もしくは拒否)するかは、個別に設定しなければなりません。
|
| # iptables -A INPUT -p icmp -j ACCEPT
| # iptables -A INPUT -p tcp -j ACCEPT
| # iptables -A INPUT -p udp -j ACCEPT

「# iptables -A INPUT -p tcp --dport 80 -j ACCEPT」のようなコマンドでルールを作成すると、
自動的にTCPのポート80でのインバウンド接続が許可されますので、
上記の3行のコマンドの入力は不要です。

また、「全てのポートを許可するというワケではありません。」と解説にありますが、
実際に検証してみると、ICMP,TCP,UDP の全てのポートを許可する結果になってしまいます。
これではファイアウォールを構築した意味が殆ど無くなってしまうと思います。


 [問題点2]
此方はセキュリティ上の問題点はあまり無いと思いますが、
必要の無いルールを作成するコマンドが解説に乗っていますので、
指摘させて頂きます。

| Web ( 80 番 )の通過を許可
| # iptables -A INPUT -p tcp --dport 80 -j ACCEPT
| # iptables -A INPUT -p tcp --sport 80 -j ACCEPT
| FTP ( 20 番と 21 番 )の通過を許可
| # iptables -A INPUT -p tcp --dport 20 -j ACCEPT
| # iptables -A INPUT -p tcp --sport 20 -j ACCEPT
| # iptables -A INPUT -p tcp --dport 21 -j ACCEPT
| # iptables -A INPUT -p tcp --sport 21 -j ACCEPT
| POP ( 110 番 )の通過を許可
| # iptables -A INPUT -p tcp --dport 110 -j ACCEPT
| # iptables -A INPUT -p tcp --sport 110 -j ACCEPT
| SMTP ( 25 番 )の通過を許可
| # iptables -A INPUT -p tcp --dport 25 -j ACCEPT
| # iptables -A INPUT -p tcp --sport 25 -j ACCEPT
| 特定のネットワークアドレスを持つホストからのみWebmin の接続を許可(Webminのポート:10000)
| # iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 10000 -j ACCEPT
| # iptables -A INPUT -s 192.168.0.0/24 -p tcp --sport 10000 -j ACCEPT
| 特定のホストからのアクセスしか認めない( SSH:22番ポート )
| # iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
| # iptables -A INPUT -s 192.168.0.3 -p tcp --sport 22 -j ACCEPT

送信元のポート番号(sport)の許可が全て不要だと思います。
一番上のWEBサーバのみに絞って指摘させて頂きますが、FTPなどでも基本的には同じです。
WEBサーバのTCPのポート80は、ルールの「送信先のポート番号」(dport)に該当しており、
原則的に送信元のポート番号はランダムなポート番号となります。
送信元のポート番号(sport)を80に限定した場合には、通常はそのWEBサーバに接続する事が出来ません。
「iptables -A INPUT -p tcp --dport 80 -j ACCEPT」と既に「送信先のポート番号」(dport)で
許可を行っているので、正常に接続することが出来ますが、「iptables -A INPUT -p tcp --sport 80 -j ACCEPT」は
必要の無いルールとなります。

不必要な部分を削ると下のようになります。。
Web ( 80 番 )の通過を許可
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
FTP ( 20 番と 21 番 )の通過を許可
# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
POP ( 110 番 )の通過を許可
# iptables -A INPUT -p tcp --dport 110 -j ACCEPT
SMTP ( 25 番 )の通過を許可
# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
特定のネットワークアドレスを持つホストからのみWebmin の接続を許可(Webminのポート:10000)
# iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 10000 -j ACCEPT
特定のホストからのアクセスしか認めない( SSH:22番ポート )
# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT

タイトル: Re^2: iptables
記事No: 3150
投稿日: 2005/01/26(Wed) 14:26
投稿者: 緑茶
どうもありがとうございます。
がんばってネットワーク関係も勉強してみます。

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net