タグ:.htaccess

だるい
Wordpressがやけに重たい時には、その後。「Wordpress セキュリティ」で検索、対策をしてみた。

具体的には、「WordPressセキュリティ強化の基本 WP4.7対応」等に記載されている内容を反映。していることを確認、してないことを取り入れた。

アクセスログは、プラグイン「WP Security Audit Log」で観察。対策後、落ち着いた様子になった。

Apacheコマンドを少しは使えるようになり、構築しはじめでこういうことが起きたのは、好機だったと言えなくもない。

以上、ご参考になれば幸いです。

170513
DOS攻撃をはじめて受け、対処したことがあった。以下まとめ。

ダッシュボードが重い
作業中、急に重くなった。直前にプラグイン、php、javascript等の更新はしてないのに。

phpyadminも重い
こちらも急に重くなった。

サイトまでも重い
ブラウザの問題かと、Yahoo!JAPANなど他サイトにアクセス。通常に表示されるので、サーバーの問題ではと思い至る。

サーバーのアクセス状況を確認
レンタルサーバーでのことだったので、障害情報を見たが該当なし。同領域を使用している、他のドメインサイトを閲覧したところ、普通に表示される。サーバーの問題ではない。すまん、あらぬ疑いだった。

エラーログを確認
遅ればせ。FTP接続でwordpressのログを取得できる場合、ローカルにダウンロードして確認。
このレンタルサーバーでは、VPS(仮想専用サーバー)のコンソールで見るしかなかったので、Apacheコマンドをぽちぽち入力して確認。Apacheコマンドは以下のようなの。
エラーログを確認
# less /var/log/httpd/error_log

ファイルの内容を監視して表示を更新
# tail -f /var/log/httpd/access_log # tail -f /var/log/httpd/error_log

参考)Apacheのログ: Linux初心者のためのLinux入門
DOS攻撃されていたのが判明
特定の同一IPが怒涛の勢いでアクセス、同時にエラーが発生していることがわかった。ログを見ている最中も続々、サイトはとうとう504エラーでダウン。

特定IPのアクセスを制限
取り急ぎ、特定IPのアクセスを制限することにした。
が、FTPソフトで.htaccessをダウンロードしようとして、権限がないとサーバーにしかられる。またもやApacheコマンドをぽちぽち。
.htaccessの権限を確認
#ls -l .htaccess

.htaccessの権限を変更(例:newownに変更)
#chown newown .htaccess

参考)Linux:chownでファイルやディレクトリの所有者を変更する | raining
ダウンロードした.htaccessに下記を追記。
order allow,deny
allow from all
deny from XXX.XXX.XXX.XXX/99

※XXX~XXXはアクセスを禁止したいIP。99はIPのサブネットマスク。

参考)特定IPドメイン/IPアドレス サーチ 【whois情報検索】
IPアクセス制限を確認
.htaccessを更新後、アクセスログを見ると、はじかれているのがわかった。

サイト、ダッシュボード、phpMyadminのアクセス状況も通常に戻った。

人心地ついたところで、エラーはなんだ?と検索。Wordpressに標準搭載されている、xmlrpc.php(モバイルから投稿できる機能)の脆弱性をつかれたものらしい。削除は、Wordpressのバージョンアップ時にまたインストールされるので、無意味らしい。

xmlrpc.phpアクセスを制限
これも.htaccessに記述して更新。
<Files "xmlrpc.php">
    order deny,allow
    deny from all
</Files>

IPアクセス制限は、アクセスしてからの処理なので。サーバー負荷対策としては、ほかによかろう方法があり。それについては、上記の参考をご覧ください。

脆弱性をつかれるファイルは、ほかにもあるらしいが。今回はこれまで。Wordpressプラグイン「WP Security Audit Log」で様子見。

以上、ご参考になれば幸いです。

862dc05723a2fcf1b6515901950b0965_l
サイトをリニューアルしてみた、からまもなく。URLにwordpressフォルダ名がついているのは、あまりにかっこ悪いので、直した。
修正前の例)http://noriki.jp/wb/
修正後の例)http://noriki.jp/
アクセス設定で直す方法
一般的な直し方として、フォルダの位置はそのまま、アクセス設定を変える方法がある。
以下、おおまかな手順。(詳細は関連リンクをご覧ください)
  1. wordpressにログイン。
  2. メニュー「設定」>「一般」の「サイトアドレス」を変更、保存。
  3. FTP接続。wordpressフォルダ内の「index.php」「.htaccess」をルートにコピー。
  4. ルートにコピーした「index.php」「.htaccess」を編集、保存。
直せなかった
前述の方法をとったが、直せなかった。そこで、wordpressフォルダをサブからルートへ移動することにした。

wordpressフォルダをルートへ移動する
簡単です。FTP接続して移動するだけ。その前に、お勧めとして二点。
  1. バックアップ
  2. この後で編集する、DBの該当箇所を確認しておく
移動した「index.php」「.htaccess」を編集する
簡単です。wordpressフォルダの箇所を削除するだけ。
例)「/wp/noriki.jp/」は「/wp」を削除し、「/noriki.jp」にして保存。

DBを編集する
  1. phpMyAdmin などで、wordpress のDBにアクセス。
  2. DBのうち、テーブル「wp-options」1行目の「option_value」において、wordpressフォルダの箇所を削除・保存。
    例)「http://noriki.jp/wp/」は「/wp」を削除し、「http://noriki.jp/」にして保存。

wordpressの設定を編集
上記の手順により、wordpressのログインURLはルートに変わっている。下記にアクセス(※)し、「サイトのアドレス」を編集・保存。
※アクセスエラーになる場合、少し間をおいてからアクセスしてみてください。処理時間が多少要るようです。
アクセス先:例)http://noriki.jp/wp-admin/options-general.php
編集例)http://noriki.jp
以上、ご参考になれば幸いです。

【関連リンク】
WordPress を専用ディレクトリに配置する - WordPress Codex 日本語版
一般的な直し方は、「3 既存のサブディレクトリを使ってルートディレクトリに表示する場合」。

WordPress をディレクトリごと移動する方法 - minorio のプログラミング・メモ
ありがとうございました。

↑このページのトップヘ