このブログを検索

ラベル iptables の投稿を表示しています。 すべての投稿を表示
ラベル iptables の投稿を表示しています。 すべての投稿を表示

2015/07/25

iptablesの設定をコマンドで追加

私はいつも /etc/sysconfig/iptables をviで直接編集している。

さっき、いつもやらないがコマンドで設定した。

てっきり、コマンドで設定したら上記のファイルに書かれると思っていたが、開いてみるとかかれていない。

設定が反映していないのかと思ったが、iptables -L などで見るとちゃんと有効になっている。

どういうこと?

wwwをつけないとアクセスできない

nginxに移行しようとしていて気づいたのだが、
いつの間にか、urlにwwwをつけないとアクセスできなくなっていた。

そんなところに影響するような設定変更は何もしていないのに。

自宅のパソコンから example.com (仮名)にpingを打つと帰ってくるから、
DNSの問題ではない。

http://example.com/ だとアクセスできなくなっている。

http://www.example.com/ としないと。


おかしいな・・・

なんでだろう・・・


apacheの設定しか考えられない。

実はこないだoom-killerが発動してhttpdが落ちており、再起動した。

そのときに何か保存していない設定が戻ってしまったのか・・・。


クソー、nginxの移行がすんなりいかないと思ったら、今までできてたことができなくなってしまった・・・




iptablesのせいだった。

この前追加した、特定の文字列を含むアクセスを停めるつもりの設定を消したら治った。


でも、あれがないとウザいアクセスが大量に来るんだよな・・・

2015/07/23

iptablesで特定の文字列へのアクセスを拒否する

-A INPUT -m string --to 60 --algo bm --string "wiki" -j DROP


なんかうまくいかないのでマネしないでください。



2008/08/27

「ポートが開いている」とは

私の職場でRedHat Linux9を使っている。古いOSであるが理由があって使っている。

「ポート」について、疑問を感じたことがある。ポートは必要最小限のものしか開けてはならない、と言うことは知っている。

今、自分自身をポートスキャンしてみると、telnet とか ftpとかで使用するポートが開いているのがわかる。全部で10個もないくらいである。

だが、私はこのLinuxマシンで、一度もポートを開ける設定も閉める設定もした覚えはない。インストールするときに、ファイアウォールを設定するか、というところでファイアウォールなしにした記憶はある。

それなのに、ちゃんと必要最低限のポートしか開いていないのである。一体どこに、このポートは開けて、このポートは閉める、という設定がしてあるのか、探してみたがわからない。

inetd.confが非常に怪しいとにらんだ。nmapで開いているとされているポートで使用しているサービスがここで設定されているからだ。ここに設定するとポートが開くんだな、とほとんど確信しかけたが、ntpは設定されていないし、それ以外にも開いているポートがいくつかある。

nmapの結果

PORT STATE SERVICE

21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
70/tcp open gopher
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
513/tcp open login
672/tcp open unknown
901/tcp open samba-swat


PORT STATE SERVICE

69/udp open|filtered tftp
111/udp open|filtered rpcbind
123/udp open|filtered ntp
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
836/udp open|filtered unknown
32768/udp open|filtered omad

inetd.conf
ftp
telnet
gopher
login
tftp
swat

どうなっているんだ・・・。そもそも、「ポートが開いている」とはどういう状態なのか?

キーワードをいろいろと変えて検索してみたがどこにも「xxxのxxxをxxxxするとポートが開放される」などとは書いていなかった。

しかし、「ポートの開放の仕方なんか少し調べればすぐ見つかるよ」見たいな冷たい反応はたくさんみつかった。iptablesがどうのこうの、という情報もたくさん見つかったが、iptablesなど設定していないし、確認したがすべてのポートが許可されている。

一体、どこの誰がポートを開けているのか!?

......

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10465&forum=10&4
を見て。

どうやら、「あるポートが開いている」というのは、「あるポートを使って通信をおこなっているサービスが存在している」という意味のようだ。

つまり、ftpdを稼動させれば21番などが開いているということになる。窓のようなポートというものが存在している訳ではないようである。

iptablesというのは、それとは違って、サービスの状況によらずポートをフィルタリングする。だから、iptablesで何もフィルタリングしていない状態であっても、サービスがなにもしていなければ、ポートは開いていないということになる。