mieki256's diary



2006/05/25(木) [n年前の日記]

#1 [linux] 自宅サーバのFTPに対して1秒間隔で30分ぐらい延々とアクセスしてくる人が居るのだけど

Administrator というアカウント名で延々とアクセスしてくる。アカウント名からして、Windows の管理者権限が絡んでるアクションな気がする。さては、ウイルスやワームの類かしら…。何にせよ、ログが増えて鬱陶しいし、LAN内を無駄なパケットが流れて気持ち悪い。さて、どういう対策をしたらええのやろ。

_FTPに対してadministratorやtestといったユーザーでログオンを1秒おきに試みる恐ろしいログ :

サーバーのログを見たらFTPに対してadministratorやtestといったユーザーでログオンを1秒おきに試みる恐ろしいログを発見。18日は朝から延々とやってたみたい。

おろかな日々 - うーむ より

あー。同じだ。む。去年の話か…。

TCP Wrapper を設定してみた。 :

ウチの自宅サーバは Vine Linux で動かしてるのだけど。TCP Wrapper なるものを設定すれば、IPでアクセス制限できるらしい。また、ポートにアクセス(?)されたときだけサーバを起動するので、サーバをメモリ上に常駐(?)させずに済む、というメリットもあるらしく。…もちろん、サーバが起動するのに時間がかかるから、頻繁に使うサーバならかえってデメリットになりそうな。と言ってもウチのFTPサーバは1日に数回しか呼ばれないので、そのへんの問題はナサゲ。

以下を参考にして設定してみたり。

_Linuxで自宅サーバー構築(TCP Wrapperの設定)
_TCP_Wrapper を使う
_TCP Wrapper
_@IT:止められない基幹業務サーバの管理対策 第3回 - Page2

_設定内容の妥当性チェック(tcpdchk) + 設定したアクセス制限をシミュレーション(tcpdmatch)
TCP Wrappers付属のtcpdchkを使い、hosts.allowおよびhosts.denyの設定に不備がないかをチェックする。存在しないパス名やプロセス名が含まれていた場合は、その問題点が報告される。

@IT:止められない基幹業務サーバの管理対策 第3回 - Page3 より

tcpdchkと同様に、TCP Wrapper付属のtcpdmatchコマンドを使うことで、設定したアクセス制限のルールを疑似的に確認することが可能だ。

@IT:止められない基幹業務サーバの管理対策 第3回 - Page3 より



ということで作業。

Vine Linux はFTPサーバに proftpd を使ってるので、/etc/proftpd.conf を編集。FTPサーバの起動方法(?)を変更する。
# vi /etc/proftpd.conf
ServerType                     standalone
    ↓
#ServerType                     standalone
ServerType                      inetd
standalone で動かしてたものを、inetd 経由で起動するようにする、のかな。

proftpd サーバが動いてるので、停止。…このへんの順番はよくわからない。/etc/proftpd.conf を編集する前に止めたほうがいいのかしら。
# /etc/rc.d/init.d/proftpd stop

inetd.conf を編集。
# vi /etc/inetd.conf
#ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.proftpd
    ↓
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  in.proftpd
Vine Linux なら、コメントの形で既に記述があるので、コメントアウトを外すだけ。

hosts.allow、hosts.deny というファイルに、アクセス制限するIPを記述。
  • hosts.allow ← 許可するIPを記述。
  • hosts.deny ← 拒否するIPを記述。
本来なら、hosts.deny に「ALL: ALL」と書いて、一旦全部アクセス拒否にしたうえで、hosts.allow で許可する範囲を記述していくらしいのだけど。 *1 ウチは、友人知人にもアカウントを与えてるので、外部からアクセスされる・異なるIPからアクセスされることがありえる。ので、IPを固定して考える・許可するのは難しい。ひとまず hosts.deny に、
in.proftpd: xxx.xxx.xxx.xxx
という形で、拒否したいIPを追加するだけにした。…また、本来なら、hosts.allow、hosts.deny を別のところにコピー → そちらを編集 → 内容が正しいかチェックしてから、本来の場所に移したほうがいいらしい。

tcpdchk で hosts.allow、hosts.deny が正しいかチェック。
# tcpdchk -v
オプションをつけなければ、/etc/hosts.allow、/etc/hosts.deny をチェックする。…警告が出てきた。
warning: /etc/hosts.allow, line 8: sshd: no such process name in /etc/inetd.conf
「sshd なんてプロセス名は /etc/inetd.conf に書いてないけど?」という感じ? なのかな?

_[vine-users:062359] Re: sshd接続時のtcpwrapperでの動き
これは多分,sshd の再起動をしてなかったからではないでしょうか。
# 私もよくはまります。(^^;

sshd は, tcpd 経由で invoke されるのではなく, 直接 /etc/hosts.{allow,deny} を起動時に読みにいって制限を掛けるはずなので, /etc/hosts.{allow,deny} を書き換えた後には /etc/rc.d/init.d/sshd restart が必要です。

[vine-users:062359] Re: sshd接続時のtcpwrapperでの動き より

ということで、/etc/inetd.conf には書いてなくても、sshd が直接 hosts.allow、hosts.deny を見ていくらしい。なもんで、警告が出るらしい。気にしなくていいということかな。あくまで警告、でもあるし。

inetd を再起動。
# /etc/rc.d/init.d/inet restart

tcpdmatch で、アクセス制限できてる感じかどうかをチェック。
# tcpdmatch in.proftpd xxx.xxx.xxx.xxx

client:   address  xxx.xxx.xxx.xxx
server:   process  in.proftpd
matched:  /etc/hosts.deny line 13
access:   denied
一番最後に、「denied」と出てる。このIPは拒否、ということかな。 「granted」なら許可、ということらしい。

Windows 機でFTPクライアントからアクセスしてみた。…アクセスできてる。…Windows 機のIPを hosts.deny に追加してみた。…アクセスできなくなった。期待通りに動いてるっぽい。

hosts.allow、hosts.deny に書いた瞬間に、アクセス制限は働くらしい。一々、inetd を再起動する必要はないらしく。

それでも問題が。 :

「Administrator」というアカウント名(ユーザ名?)でアクセスしてくる相手は、IPを変えてアクセスしてきてるので、その都度 hosts.deny に書いてかないといけない。なんだか、根本的に対策できてる感じがしない。

アカウント名で拒否するような設定にはできないんだろうか。参考ページによると、それもできるっぽいように見えたのだけど。具体的にはどう書けばいいのか、あるいは、そういう指定をする際に、何かしら条件があるのか、そのへんまだ判ってない状態。

*1: hosts.allow と hosts.deny を見る順番は、hosts.allow が先らしい。hosts.allow に書かれた条件に該当するなら許可 → hosts.deny に書かれた条件に該当するなら拒否 → どっちにも指定が無ければ許可、てな処理の順番なのだとか。

この記事へのツッコミ

Re: 自宅サーバのFTPに対して1秒間隔で30分ぐらい延々とアクセスしてくる人が居るのだけど by けいと    2006/05/28 17:58
hosts.allow/denyってドメインで拒否できたような…
違ったかな?
ちょっと許可する幅が広くなるけど、
いちいちIPアドレス指定するよりは楽かも。
一長一短ですが…
ドメインを特定できない感じであります by mieki256    2006/06/01 19:34
> hosts.allow/denyってドメインで拒否できたような…

はい。たしかそのはず。ではあるのですが。
逆引き(でいいのかな?)できなかったり、
まったく関連性のないIPからアクセスしてきたりするので、
その指定はおそらく難しい、のではないかと想像するのでありました。

それにしても、何だろうなぁ。やっぱりウイルス・ワームなのかしら…。
Re: ドメインを特定できない感じであります by けいと    2006/06/01 22:27
普通にiptablesとか書いちゃった方が早かったりして。
iptables? by mieki256    2006/06/10 21:39
> 普通にiptablesとか書いちゃった方が早かったりして

iptables? それは一体…
と思って検索したら、なるほどパケットフィルタってやつなのですか…
そのへんも勉強しないとあかんかなぁ…

以上です。

過去ログ表示

Prev - 2006/05 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project