問題なく稼動していたFreeBSDサーバのFTPに少し障害が出た。接続はできるもののファイルの一覧取得ができない。ググって調べてみるとProFTPDのバージョンによってはNLIST -Rコマンドが受けつけないのでこのような障害が出ることがあるとのこと。
Portを自動更新にしているのでいつの間にかProFTPDのバージョンが上がっていることも考えられる。これはFTPクライアントの設定を変えることで対応が可能らしい。例えばFFFTPだと高度な設定から同設定を外してLISTコマンドでファイル一覧を設定のみにするといいとか。
試してみたがやはりアクセスはできるものの、LISTができない。
ちなみにサーバ内からの外部へのFTPは特に問題なし。うーん。
一応サーバ、ルータを再起動してみたが特に変化なし。
でログをチェックしてみようと/var/log/proftpd.logをチェックしようとすると、すごく動作が重い。ページャやviでファイルを開くだけでもすげぇ時間がかかる。
見ると、ローテート設定をしていなかったらしく、ものすごくログの容量が大きくなっている。
なのでまずローテートの設定。
vi /etc/newsyslog.conf
適当な行をコピって以下に修正
/var/log/proftpd.log 600 7 100 * J
この設定で100kb以上に達すると新たなログファイルが出力されるようになった。
だが調査したい箇所は古くてデカイ過去ログにある。古いログはバイナリ形式で圧縮されている。(拡張子bz2)なのでそのままエディタなので見ることができない。文字化けする。
こういう時はbzcatコマンドで閲覧する。
ちなみにでかいファイルはsplitコマンドにて分割。
手順としては以下の通り。
bunzip2でbz2を解凍。
splitである程度の大きさで分割。例えば100kbごとに分割する場合は
split -b 100k 分割するファイル 分割後のファイル名指定
のようにする。
で分割したログからここ最近3ヶ月を確認してみると…シビアなあったっくを喰らっていた。
1秒ごとにFTPサービスに対してブルートフォースアタックされている(汗)。
仕掛けてくるIPは少なくて5つ程度。名前解決ができずIP範囲が分からないのでProFTPDの設定でこの5つのIPを明示的にアタック禁止に。
一応これで稼動は安定した。要、定期ログチェック。
- http://linuxpro.blog23.fc2.com/tb.php/104-a5545ee9
0件のトラックバック
コメントの投稿