1592 iptablesで突然ブロックされる様になりました

<<トップページへ

iptablesで突然ブロックされる様になりました
日時: 2010/01/11 15:13
名前: みかみ
今朝から、突然、メール及び外部からのFTP、SSH接続が不可となって困っております。
調査したところ、特定のポートがiptablesでブロックされていると思われます。

ポートチェック【ポート開放確認】でドメイン及びグローバルアドレスで確認したところ、
以下の様な結果となりました
ポート=80 にアクセスできました
ポート=22 に到達できませんでした
ポート=53 にアクセスできました
ポート=25 にアクセスできました
ポート=443 にアクセスできました
※今までは全て利用可能でした

また、「/etc/rc.d/init.d/iptables stop」で停止すると接続不可のサービスが可能となり、
「/etc/rc.d/init.d/iptables start」で再開するとアクセス不可となりますので
iptablesでブロックされていると認識と思われます。

昨日に深夜に「Tripwire(R) Integrity Check Report」で大量のファイル変更がされている事を
考えますと自動でファイル更新がされたのが原因かもしれません

-------------------------------------------------------------------------------
Section: Unix File System
-------------------------------------------------------------------------------

Rule Name Severity Level Added Removed Modified
--------- -------------- ----- ------- --------
* Tripwire Data Files 0 1 0 0
* Monitor Filesystems 0 7497 4 747
* User Binaries and Libraries 0 0 0 41
Tripwire Binaries 0 0 0 0
* OS Binaries and Libraries 0 1547 0 93
Temporary Directories 0 0 0 0
* Global Configuration Files 0 0 0 7
* System Boot Changes 0 0 0 41
* RPM Checksum Files 0 0 0 14
* OS Boot Files and Mount Points 0 6 0 1
OS Devices and Misc Directories 0 0 0 0
Root Directory and Files 0 0 0 0

Total objects scanned: 100164
Total violations found: 9999


また、今まではそれほど気にしておりませんでしたが、「/var/log/messages」には下記の大量のログが出続けております

3 PROTO=TCP SPT=54201 DPT=20480 WINDOW=0 RES=0x00 ACK RST URGP=0
Jan 11 14:51:35 server kernel: [IPTABLES INPUT] : IN=eth0 OUT= MAC=MACアドレス SRC=94.76.204.102 DST=192.168.1.2 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=4974 PROTO=TCP SPT=25747 DPT=20480 WINDOW=0 RES=0x00 ACK RST URGP=0
Jan 11 14:51:35 server kernel: [IPTABLES INPUT] : IN=eth0 OUT= MAC=MACアドレス SRC=125.26.183.84 DST=192.168.1.2 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=4975 PROTO=TCP SPT=51442 DPT=6400 WINDOW=0 RES=0x00 ACK RST URGP=0

どの様な対応が必要か教えて頂けますようお願いします

以上、宜しくお願いします

Re: iptablesで突然ブロックされる様になりました(1)
日時: 2010/01/11 15:16
名前: みかみ
尚、現在の設定は以下の通りで、当手順の通りでポートは解除されている設定のままだと思われます。

○【iptables設定】

#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#

# 外部からのTCP22番ポート(SSH)へのアクセスを日本からのみ許可
# ※SSHサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY

# 外部からのTCP/UDP53番ポート(DNS)へのアクセスを許可
# ※外部向けDNSサーバーを運用する場合のみ
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT

# 外部からのTCP80番ポート(HTTP)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 外部からのTCP443番ポート(HTTPS)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 外部からのTCP21番ポート(FTP)へのアクセスを日本からのみ許可
# ※FTPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 21 -j ACCEPT_COUNTRY

# 外部からのPASV用ポート(FTP-DATA)へのアクセスを日本からのみ許可
# ※FTPサーバーを公開する場合のみ
# ※PASV用ポート60000:60030は当サイトの設定例
iptables -A INPUT -p tcp --dport 60000:60030 -j ACCEPT_COUNTRY

# 外部からのTCP25番ポート(SMTP)へのアクセスを許可
# ※SMTPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 25 -j ACCEPT

# 外部からのTCP465番ポート(SMTPS)へのアクセスを日本からのみ許可
# ※SMTPSサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 465 -j ACCEPT_COUNTRY

# 外部からのTCP110番ポート(POP3)へのアクセスを日本からのみ許可
# ※POP3サーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 110 -j ACCEPT_COUNTRY

# 外部からのTCP995番ポート(POP3S)へのアクセスを日本からのみ許可
# ※POP3Sサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 995 -j ACCEPT_COUNTRY

# 外部からのTCP143番ポート(IMAP)へのアクセスを日本からのみ許可
# ※IMAPサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 143 -j ACCEPT_COUNTRY

# 外部からのTCP993番ポート(IMAPS)へのアクセスを日本からのみ許可
# ※IMAPSサーバーを公開する場合のみ
iptables -A INPUT -p tcp --dport 993 -j ACCEPT_COUNTRY

# 外部からのUDP1194番ポート(OpenVPN)へのアクセスを日本からのみ許可
# ※OpenVPNサーバーを公開する場合のみ
iptables -A INPUT -p udp --dport 1194 -j ACCEPT_COUNTRY

# VPNインタフェース用ファイアウォール設定
# ※OpenVPNサーバーを公開する場合のみ
[ -f /etc/openvpn/openvpn-startup ] && /etc/openvpn/openvpn-startup




宜しくお願いします

Re: iptablesで突然ブロックされる様になりました(2)
日時: 2010/01/11 17:54
名前: kzoo
iptables_functions内で以下より取得しているIPアドレスリストが空になっています。
http://nami.jp/ipv4bycc/

ACCEPT_COUNTRY,DROP_COUNTRY にルールが(IPアドレス)が1つも反映されていないので、
ACCEPT_COUNTRYを使っているサービスにアクセス出来なくなっていると思われます。


追記)
以下に上がっていました。
http://centossrv.com/bbshtml/webpatio/1571.shtml

Re: iptablesで突然ブロックされる様になりました(3)
日時: 2010/01/11 20:54
名前: みかみ
kzoo様

レスありがとうございます
原因は何となく理解しました
/root以下の下記のファイルはありません。また、/tmp以下にあるのは共に空ファイルとなっております。
IPLIST
cidr.txt

スクリプトは「cidr.txt」ではなく、「cidr.txt.gz」を
DLして解凍していると思いますが、圧縮ファイルについても空ファイルの様ですが、
バックアップを取っていませんが、どうしたらいいのでしょうか?
どちらからDLできますでしょうか?



>iptables_functions内で以下より取得しているIPアドレスリストが空になっています。
>http://nami.jp/ipv4bycc/
>
>ACCEPT_COUNTRY,DROP_COUNTRY にルールが(IPアドレス)が1つも反映されていないので、
>ACCEPT_COUNTRYを使っているサービスにアクセス出来なくなっていると思われます。
>
>
>追記)
>以下に上がっていました。
>http://centossrv.com/bbshtml/webpatio/1571.shtml

Re: iptablesで突然ブロックされる様になりました(4)
日時: 2010/01/11 21:33
名前: ぴくみんぱぱ
過去のデータでしたら”http://nami.jp/ipv4bycc/”サイトの下部の方に過去のデータのリンクが張ってあります。

過去のデータのリンク先
http://nami.jp/ipv4bycc/past/

たまにcidr.txtのデータが白紙になっている事があるみたいです(私の経験でおそらく半年以内に3回)。なので、スクリプト内でデータの有無を確認してからiptable.shを実行するか、ファイヤーオールの設定を変えるかなどの対策の必要性を感じています。

すでにスクリプトを変更して対応されている方はいらっしゃるのでしょうか?

Re: iptablesで突然ブロックされる様になりました(5)
日時: 2010/01/11 22:16
名前: みかみ
ぴくみんぱぱ様

レスありがとうございます。
先ほどのリンク先のデータを「/root/cidr.txt」に配置して
「./iptables.sh」で実行で宜しいのでしょうか?
「cidr.txt」の上書きはNで実行しても接続できません。

[root@server ~]# ./iptables.sh
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
gunzip: cidr.txt already exists; do you wish to overwrite (y or n)? n
not overwritten
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]

先ほどのリンク先のデータを「/root/cidr.txt」に配置して
以下もやってみましたが、結果は同じです

/etc/rc.d/init.d/iptables stop
/etc/rc.d/init.d/iptables start

やり方が間違っておりますか?

宜しくお願い致しますm(__)m




>過去のデータでしたら”http://nami.jp/ipv4bycc/”サイトの下部の方に過去のデータのリンクが張ってあります。
>
>過去のデータのリンク先
>http://nami.jp/ipv4bycc/past/
>
>たまにcidr.txtのデータが白紙になっている事があるみたいです(私の経験でおそらく半年以内に3回)。なので、スクリプト内でデータの有無を確認してからiptable.shを実行するか、ファイヤーオールの設定を変えるかなどの対策の必要性を感じています。
>
>すでにスクリプトを変更して対応されている方はいらっしゃるのでしょうか?

Re: iptablesで突然ブロックされる様になりました(6)
日時: 2010/01/11 22:41
名前: aki
例えばポート22番なら
iptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

25や110もこのようにすればアクセス可能。
SSHは念には念を入れてtcp wrapperで制御した上で鍵認証も必須。





Re: iptablesで突然ブロックされる様になりました(7)
日時: 2010/01/11 22:54
名前: ぴくみんぱぱ
私も素人に近いのでよくわかりませんが、iptables.shのスクリプトをみるとcidr.txtの位置は"/tmp/cidr.txt"になるのではないでしょうか?間違っていたらすみません。

# ACCEPT_COUNTRY_MAKE関数定義
# 指定された国のIPアドレスからのアクセスを許可するユーザ定義チェイン作成
ACCEPT_COUNTRY_MAKE(){
for addr in `cat /tmp/cidr.txt|grep ^$1|awk '{print $2}'`
do
iptables -A ACCEPT_COUNTRY -s $addr -j ACCEPT
done
}

IPLISTGET(){
# http://nami.jp/ipv4bycc/から最新版IPアドレスリストを取得する
wget -q http://nami.jp/ipv4bycc/cidr.txt.gz
gunzip cidr.txt.gz
# 最新版IPアドレスリストが取得できなかった場合
if [ ! -f cidr.txt ]; then
if [ -f /tmp/cidr.txt ]; then
# バックアップがある場合はその旨をroot宛にメール通知して処理を打ち切る
echo cidr.txt was read from the backup! | mail -s $0 root
exit 1
else
# バックアップがない場合はその旨をroot宛にメール通知して処理を打ち切る
echo cidr.txt not found!|mail -s $0 root
exit 1
fi
fi
# 最新版IPアドレスリストを /tmpへバックアップする
/bin/mv cidr.txt /tmp/cidr.txt
}

akiさんのアドバイスの設定で問題は解決と思います。

この設定内容に関して伺いたいのですが、アクセス国を日本に限定している場合とオープンにした場合での危険度みたいなのは大きく変わると理解した方が良いのですか?それとも鍵認証があれば大差ないと考えてもよいのでしょうか?

Re: iptablesで突然ブロックされる様になりました(8)
日時: 2010/01/11 23:56
名前: みかみ
roor権限で下記の様に投入しましたがアクセスできません

[root@cent ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@cent ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@cent ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT

http://nami.jp/ipv4bycc/のファイルが更新されたら、
自動的に接続可能となりますでしょうか?



>例えばポート22番なら
>iptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY
>↓
>iptables -A INPUT -p tcp --dport 22 -j ACCEPT
>
>25や110もこのようにすればアクセス可能。
>SSHは念には念を入れてtcp wrapperで制御した上で鍵認証も必須。
>
>
>
>
>
>

Re: iptablesで突然ブロックされる様になりました(9)
日時: 2010/01/12 00:08
名前: みかみ
何か僕のやり方が悪いのか接続できません。
直接コマンド投入ではないのでしょうか?

root配下で下記を実行しても、空のcidr.txtを持って来て上書きされてしまいます。
./iptables_functions

下記の3つを実行すればいいのでしょうか?

@./tmp/cidr.txt にファイルを置き
A./etc/rc.d/init.d/iptables stop
B./etc/rc.d/init.d/iptables start

以上、宜しくお願い致します




>私も素人に近いのでよくわかりませんが、iptables.shのスクリプトをみるとcidr.txtの位置は"/tmp/cidr.txt"になるのではないでしょうか?間違っていたらすみません。
>
># ACCEPT_COUNTRY_MAKE関数定義
># 指定された国のIPアドレスからのアクセスを許可するユーザ定義チェイン作成
>ACCEPT_COUNTRY_MAKE(){
> for addr in `cat /tmp/cidr.txt|grep ^$1|awk '{print $2}'`
> do
> iptables -A ACCEPT_COUNTRY -s $addr -j ACCEPT
> done
>}
>
>IPLISTGET(){
> # http://nami.jp/ipv4bycc/から最新版IPアドレスリストを取得する
> wget -q http://nami.jp/ipv4bycc/cidr.txt.gz
> gunzip cidr.txt.gz
> # 最新版IPアドレスリストが取得できなかった場合
> if [ ! -f cidr.txt ]; then
> if [ -f /tmp/cidr.txt ]; then
> # バックアップがある場合はその旨をroot宛にメール通知して処理を打ち切る
> echo cidr.txt was read from the backup! | mail -s $0 root
> exit 1
> else
> # バックアップがない場合はその旨をroot宛にメール通知して処理を打ち切る
> echo cidr.txt not found!|mail -s $0 root
> exit 1
> fi
> fi
> # 最新版IPアドレスリストを /tmpへバックアップする
> /bin/mv cidr.txt /tmp/cidr.txt
>}
>
>akiさんのアドバイスの設定で問題は解決と思います。
>
>この設定内容に関して伺いたいのですが、アクセス国を日本に限定している場合とオープンにした場合での危険度みたいなのは大きく変わると理解した方が良いのですか?それとも鍵認証があれば大差ないと考えてもよいのでしょうか?

Re: iptablesで突然ブロックされる様になりました(10)
日時: 2010/01/12 02:43
名前: 通りすがり
私も同じ状況に陥りましたが、下記で対応できました。

cd /root
wget http://nami.jp/ipv4bycc/past/cidr.txt.20100110
mv cidr.txt.20100110 cidr.txt

./iptables-router.sh
上書きはN対応

これで期待通りの動きとなりました。

過去データの中でも20100111は0Byteなので意味ないと思います。
もし、同じ手順を実行済みであれば申し訳ありません…

Re: iptablesで突然ブロックされる様になりました(11)
日時: 2010/01/12 05:44
名前: みかみ
通りすがり様
ありがとうございます
無事、復旧できましたm(__)m


その他の方々も貴重なレスに感謝致しますm(__)m
また、何かございましたら、宜しくお願い致します



>私も同じ状況に陥りましたが、下記で対応できました。
>
>cd /root
>wget http://nami.jp/ipv4bycc/past/cidr.txt.20100110
>mv cidr.txt.20100110 cidr.txt
>
>./iptables-router.sh
>上書きはN対応
>
>これで期待通りの動きとなりました。
>
>過去データの中でも20100111は0Byteなので意味ないと思います。
>もし、同じ手順を実行済みであれば申し訳ありません…

Re: iptablesで突然ブロックされる様になりました(12)
日時: 2010/01/12 15:26
名前: 管理人
みかみ様
本スレッド閲覧者様

http://nami.jp/ipv4bycc/から取得したIPアドレスリストと、前回取得して/tmpに保存しておいたIPアドレスリストとの差分が10件を超える場合はiptables設定スクリプトを再実行しないようにしました。

ファイアウォール構築(iptables) http://centossrv.com/iptables.shtml
Linuxルーター構築(rp-pppoe+iptables) http://centossrv.com/linux-router.shtml

参考にしてください。

Re: iptablesで突然ブロックされる様になりました(13)
日時: 2010/02/25 15:50
名前: 管理人
>http://nami.jp/ipv4bycc/から取得したIPアドレスリストと、前回取得して/tmpに保存しておいたIPアドレスリストとの差分が10件を超える場合はiptables設定スクリプトを再実行しないようにしました。
サーバーを長時間停止していた場合等、前回取得して/tmpに保存しておいたIPアドレスリストとの差分が10件を超える理由が明確な場合は、iptables.shを手動で実行してください。

※古いスレッドには返信できない場合があります


■関連コンテンツ




▲このページのトップへ戻る

ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします