wordpressを使ってブログを公開している人、サーバーを作り公開しようと思っている人は多いと思います。
このところサーバー(特にhttpd、wordpress)に対して多いという記事を書きました。
毎日のようにApacheのlogにはcgi-binやPHPAdminに対してのアクセスが残されています。
403で表示は出来ないようになっていますが、これではリソースの無駄使いです。
サーバーであれば、iptablesでサービスの許可など行っています。httpdのポート80に関してはAllow from allで許可をされているかと思いますが、ここはポート80番も何かしらの制御をかけた方が安全そうです。例えばスパムや不正アクセスの多い国は弾くとかです。
自宅サーバーですから、毎日それ程のアクセス数がある訳ではありませんし、一日多い時で100から200pv程度ではないでしょうか。それ以上多い人もいるかも知れませんが、私の場合にはサーバーがATOMなのでSEO的にはそれ程積極的に行っていないし、現状レベルで充分と考えています。それ以上のアクセス数になると家の内部で使う他のパソコンにも影響します・・・。
そんな事で、このような攻撃について、もう一度自分のサーバー環境を見直して欲しいと思います。
◆対処の考え方◆
①iptablesを再チェックしてみる
②httpd.confを見直す
③htaccessのファイルの有り無し、中身の確認
先ずはiptablesですが、Local環境で済む事は許可をLocal-IPだけに指定してください。
光回線のルーターではそのポートを閉じてください。
自宅サーバーであれば、SSHやFTPはLocal環境で使うのが一番安全です。
httpd.confについては、cgi-binのホルダーについて、使用していない場合には、deny fron all lとして、Localネットワークだけ許可するようにしてください。
例えば・・・・・・・・・・・
<cgi-bin>
Allow from 127.0.0.1
Allow from 192.168.1
deny from all など
そうする事によってcgi-binに外部からアクセス不可能となります。
私の場合には、これでcgi-bin攻撃は無くなりました。他にアクセスを許可する場合には、Allowを追加行で増やしてください。
htaccessファイルですが、wordpressであればホルダー内に隠しファイルとして存在しているかと思いますが、先ずはSSHのコマンドで確認して下さい。lsを使う場合には-aを付けると表示されます。
そして、cgi-binと同じようにdeny優先で設定をするか、Allow優先で設定するかになるのですが、Allow優先にすると遮断しなくてはならないIPが山のように出てくるので、私はDeny優先にしています。
注意してもらいたいのはgoogleやBingのbotが自動巡回してくるので、このIPもしくはドメインだけはAllowで許可を与えるようにしてください。これは#cat /var/log/httpd/access_logを見れば分かると思います。
htaccessファイルが無い場合には作ってください。
FTPを使う場合にはhtaccess.txtというファイルを作り、アップロードしてから名前の変更をして、.htaccess(前に.を付ける)とし、拡張子の.txtを外してください。
作り方がわからない場合には、googleなどで「htaccess 作り方」などで検索をすれば、分かりやすい説明をしてくれているサイトが見つかると思います。