CrystalSnowman.comTweetこのサイトのOSはCentOS7で、Webサーバはnginxを使用しています。毎日サーバの状態をlogwatch(監視ツール)で監視していますが、ここ数日logwatchメールのnginxセクションで特定のIPアドレスから攻撃されているとエラーが表示されていました。そのため急きょfirewalldでIPアドレスをシャットアウトしました。その辺の経緯を残します。まとめlogwathの監視結果logwatchから毎日メールで監視結果を送信するように設定しています。攻撃を受けていることを表している部分は以下です。1.171.xx.xxxxxは数字で、悪意のないIPアドレスだったらまずいので非公開にしました。server」ですが、ここで言うprobedとはポートスキャンやアクセス可能なファイルを探査する“良くない行為“のことを言うようです。それ以下に記載された3つのIP(sites)から、プローブ(良くない探査行為)を受けたってことのようですね。HappyQuality良くないことされていると考えてもよさそうです。パケットフィルタリング(firewalld)で対策これらのIPアドレスをどうにかしたいと思いました。IPアドレスと追記する方法と、CentOS7のパケットフィルタリング(firewalld)の機能を使用する方法です。参考にさせていただいた以下のサイトによるとnginxで拒否する方法は結局リクエストを受けてしまうため、あまり意味ないようです。そのためパケットフィルタリング(firewalld)でなんとかする方法を採りました。目掛けて秒間3アクセスくらいの頻度でSPAMが。nginxで拒否しようかと思ったのですが、これ403を返すだけでリクエスト受けちゃうから、いよいよ真面目にfirewalldで拒否するしかないかなー、と。ゃーCentOS7のパケットフィルタリングについてパケットフィルタリングは送受信するIPパケットをルールに基づき許可拒否する機能です。workという9個のゾーンが用意されています。今回関係ありそうなのはblockとdropです。それぞれの定義は次の通りです。他のホストからのすべての通信をドロップし、応答しません。他のホストからのすべての通信を拒絶します。定義から判断すると、今回は応答しないdropゾーンに問題のIPアドレスを指定すればよさそうです。次のコマンドで定義されているゾーンを確認します。2行目に先ほどの9種類のゾーンが羅列されています。work#の後が入力したコマンドで、#はrootで実行していることを表しています。次のコマンドで設定します。–permanentで永続的な設定にします。次のコマンドで反映させます。次のコマンドで確認します。eth0dropに2種類のIPアドレスがあることが分かります。次のlogwatchの結果が楽しみです。iptablesについてLinuxにはiptablesというパケットフィルタリング機能がありますが、CentOS7からはfirewalldがデフォルトのようです。CentOS6ではiptablesがデフォルトだったようですが、CentOS7ではfirewalldとiptablesとの併用はできないようです。CentOS6とCentOS7の比較表まとめlogwatchの内容からサーバが攻撃されていることを知り、firewalldで対策をとるまでの経緯を書きました。CentOS7からはfirewalldがデフォルトとなり、iptablesの知識が使えないケースがあります。私の記事が少しでもあなたのお役に立てればうれしいです。2015-03-052015-08-25Tweet※この記事を読まれた方は、ぜひ下記の記事も合わせて読んでみてください。CrystalSnowmanさくらVPSでサーバを構築してWordPressでブログをはじめました。技術的なことや読んだ本の感想などを記事にしたいと思います。私の得た知識や失敗談によって、あなたの貴重な時間が節約できますように。twitterでもつぶやいています。よかったら見てみてください。CrystalSnowman.com。