サポート » 使い方全般 » インストール後 安全のために必要なこと

  • 2.5.1 ja を インストールしました。

    安全に使うために 必要な設定 が ネット上にいろいろ書かれていますが

    本当に必要なものを 初心者向けに 詳しく教えていただけないでしょうか?

    自分なりに調べたものを書かせていただきましたので、

    教えていただければ幸いです。

    必要のないもの これ以外に必要なものがありましたら、是非 教えて下さい。

    ● ログイン画面を見せないようにする

       × これは、どうすれば良いのか分かりませんでした。

    ●  admin を変更する

       × これも、どうすれば良いのか分かりませんでした。

    ●  管理用のファイル・ページを検索エンジンにキャッシュさせない

      wp-で始まるファイルはWordPress(ワードプレス)が動作用または
      管理者用のプログラムファイルです。
      そのため検索エンジンに記録されないように指定します。

      まずサイトのトップデレクトリーにrobots.txtというファイルを作成します。
      このrobots.txtの中に

      User-agent: *
      Disallow: /wp-*    と表記します。

      この設定によって、検索エンジンはwp-で始まるファイルをキャッシュしないようになります。

       ▲ これは、このまま、robots.txt をトップデレクトリに置くだけで良いのでしょうか?

    ●  全てのユーザーにサーバー全部の検索を許可しない。

       ・「search.php」で下記の検索コードは使用しない。
      <?php echo $_SERVER [‘PHP_SELF’]; ?>
     
      代わりに下記のコードを使用する。
      <?php bloginfo (‘home’); ?>

       ▲ これは、serch.php の場所が分かりませんでした。

       ・「wp-」がついているフォルダをサーチエンジンなどに登録されないように、
        「robots.txt」に下記を記述する。
     
      Disallow: /wp-* Disallow: /wp-*

       ▲ これは、上記の robots.txt に追加で表記してトップデレクトリに置けば
         すれば良いのでしょうか?

    ●  ディレクトリのファイル一覧を表示させない。

        ダミーの「index.html」を設置したり、.htaccessに下記を記述する。

       Options -Indexes Options -Indexes

       ▲ これは、.htaccess をトップデレクトリに置けば良いのでしょうか?

    ●  metaにあるWordPressのバージョンは隠す。

        metaにWordPressのバージョンは、「header.php」にある下記によって表示されます。
        <meta content=”WordPress <?php bloginfo(’version’); ? />” name=”generator” />
       

       ▲ これは、<?php bloginfo(’version’); ? /> を削除すれば良いのでしょうか?

    ● 管理画面への不正アクセスを防御する。
    管理画面へアクセス可能なIPアドレスを設定する。

    「.htaccess」への記述例

    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName “Example Access Control”
    AuthType Basic
    <limit GET>
    order deny,allow
    deny from all
    allow from xx.xx.xx.xx(IPアドレス)
    allow from xx.xx.xxx.xx(IPアドレス)
    </limit>

       ▲ これは、固定IPを使っている環境のみだと思うのですが どうでしょう?

    ● パスワードを暗号化して守るプラグイン。
    htaccess password protection

       ▲ これは、必要でしょうか?

    ● ログインに失敗したIPアドレスを記録し、アクセス不能にするプラグイン。
    Login LockDown

       
       ▲ これは、必要でしょうか?

    ● 「wp-config.php」ファイルにデータベースのユーザー名や
    パスワードが記述してあるので、下記を「.htaccess」に記述するなどして守る。

    </FilesMatch> <FilesMatch ^wp-config.php$>
    deny from all
    </FilesMatch>

       ▲ これは、上記の .htaccess の中に 追加して記述し トップデレクトリに
         置けばよいのでしょうか?

     よろしくお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • モデレーター IKEDA Yuriko

    (@lilyfan)

    本当に必要なものを 初心者向けに 詳しく教えていただけないでしょうか?

    初心者であれば、「常に WordPress のバージョンを最新に保つ」だけで十分です。本当に必要なセキュリティー対策であれば WordPress 本体に取り込まれているはずで、そうでないということは、WordPress 開発者が「不要な対策だ」と考えているわけです。巷にあふれている対策は、作業コストに対する効果が不明なものが多く、意味がない場合も多いです。
    また、いい加減な技術文書も出回っているようです (blogsecurity.net : WordPress Security Whitepaper はでたらめ)。

    # とはいえ、WordPress 開発者はセキュリティーに無頓着な面があるのは否めませんが。

    ●ログイン画面を見せないようにする
    →ユーザーパスワードが十分に強ければ、ログイン画面がオープンでも問題ありません。

    ●admin を変更する
    →これは「admin」というユーザー名を変更すべき、という意味でしょう。admin のパスワードが十分に強ければ問題ありません。とはいえ、ID=1 のユーザー名が admin 決め打ち、というのはあまりセキュアでないのは事実です。

    ●管理用のファイル・ページを検索エンジンにキャッシュさせない。
    →ほとんど意味のない対策です。wp-admin 配下はログインしないとアクセスできませんし、wp-content 配下は誰からもアクセスできることが前提の場所です。wp-includes 配下は WordPress コアコードですが、直接アクセスしても何も画面表示されないよう対策されています。

    ●「search.php」で下記の検索コードは使用しない。<?php echo $_SERVER ['PHP_SELF']; ?>
    →テーマに存在する search.php のことですね。これは珍しく意味のある対策です。WordPress 同梱のテーマは改善されていますが、巷に配られているテーマは直ってないものがあります。しかし、対策が間違っています。<?php bloginfo ('home'); ?> ではなく <?php bloginfo ('url'); ?> が正しいです (いちおう home でも動くようになっていますが)。

    ●「wp-」がついているフォルダをサーチエンジンなどに登録されないように、「robots.txt」に下記を記述する。
    →前述の通り無意味です。

    ●ディレクトリのファイル一覧を表示させない。ダミーの「index.html」を設置したり、.htaccessに下記を記述する。
    →これは、できれば行なった方がよい対策ですが、ディレクトリーの中に変なファイルがなければ実施しなくてもあまり問題ではありません。.htaccess はトップディレクトリーでよいです。

    ●metaにあるWordPressのバージョンは隠す。
    →これは意見が分かれる対策です。わたしは無意味だという考えです。どうせクラッカーは、バージョンを見ずに攻撃してくるので、バージョン番号を隠してもセキュアにならないと思います。むしろ「WordPress のバージョンを最新に保つ」ことが優先です。
    →この手法を「セキュリティー向上対策」として書いてある場合、その文書は「いい加減なものである」と決め付けて問題ありません 😉 「Apache バージョンを隠す」で検索してみると、バージョンを隠すことが無意味なことを指摘する文書が多数出てきますよ。

    ●管理画面への不正アクセスを防御する。管理画面へアクセス可能なIPアドレスを設定する。
    →ユーザーのパスワードが十分強ければ問題ありません。固定 IP じゃなくても、ADSL/光環境でも、あまり IP アドレスは変動しませんが、やっぱり不便になると思います。

    ●パスワードを暗号化して守るプラグイン。htaccess password protection
    → WordPress 2.5 で、パスワードの保護が強固になったので不要です。プラグインのコードがあやしげなことも多く、動作が理解できないプラグインを入れるのは危険です。

    ●ログインに失敗したIPアドレスを記録し、アクセス不能にするプラグイン。Login LockDown
    →自身が必要性を感じないならば入れなくていいです。必要性を理解できる人しか意味がないものです。上記の通り、プラグインのコード自体があやしいこともあります 😉

    ●「wp-config.php」ファイルにデータベースのユーザー名やパスワードが記述してあるので、下記を「.htaccess」に記述するなどして守る。
    →これも微妙な対策です。確かに、ウェブでアクセスできる場所に wp-config.php があるのは、セキュリティー的にいまいちなのですが、PHP のコードなので常に実行されてしまい、パスワードが表示されるわけではありません。記述内容をそのまま取り出すためには、Apache や PHP のセキュリティーホールと組み合わせない限り無理でしょう。
    →とはいえ、WordPress 2.6 では、wp-config.php の置き場所を上位ディレクトリーに変更できるようになります。

    トピック投稿者 word2000

    (@word2000)

    聡明な回答を丁寧にしていただきありがとうございました。

    wordpress に対する不安が一気に払拭されました。

    的確な回答に感謝いたします。

      ・最新のWP
      ・強力なパスワード
      ・ディレクトリファイルの一覧 
      ・同梱のテンプレート
      ・プラグインは少なく 

    をさっそく、導入させていただきます。

      ・ config.php を守る
      ・ .htaccess を見えないようにする
      ・ インデックスの一覧 を守る

    ということを考えて 以下のような.htaccess を
    考えたのですが、設置するとエラーが出てしまいました。

       <FilesMatch ^wp-config.php$>
       deny from all
       </FilesMatch>
       AddHandler cgi-script htaccess
       Options -Indexes

    現在 
       AddHandler cgi-script htaccess
       Options -Indexes

    にしました。

    自己解決できませんでした。

    また、お時間がありましたら、アドバイスいただければ幸いです。

    よろしくお願いいたします。
      

    モデレーター IKEDA Yuriko

    (@lilyfan)

    <FilesMatch ^wp-config.php$>
    deny from all
    </FilesMatch>

    正規表現の場合はダブルクォートで囲まないといけないのではないでしょうか。
    もしくは、サーバーの設定で htaccess による order 設定が許可されていないか、FilesMatch ディレクティブが許可されていない可能性もあります。その場合はあきらめてください。

    AddHandler cgi-script htaccess

    今どきはサーバーの設定で .htaccess を読みないようにしているはずなので、こういう設定は不要です。正直、この設定方法はダサいですよね。いまいちな表現であることを承知の上で使うならいいんですが、それが分かってないなら、やめた方がいいです 😉

    トピック投稿者 word2000

    (@word2000)

    lilyfan さん 

    いつも丁寧にお答えいただきありがとうございます。

    教えていただいた通り、ダブルクォートで囲む必要と
    Apache のバージョン上 File だけでよいことが分かりました。

    ありがとうございました。

    AddHandler cgi-script htaccess

    こういう設定は、不要で・ダサイ ということは分かりませんでした。
    全くの初心者なので、ちんぷんかんぷん というのが正直なところです。

    あるのですね・・・
     必要のある・なし
     ダサイ表現
     それを承知で使うか否か

    うーむ・・ 勉強になりました。

    ネットで検索 → それが答えだと思ってしまう。 
    危険ではないかと思う今日この頃です。 が、
    真偽のほどを確かめるすべもない・・ それをまた → 検索・・・

    lilyfan さんのブログ拝見させていただきました!
    びっくりしました。
    Ktai Style を作られた方だったのですねー!!

    私が、wordpress にチャレンジしてみようと思ったのは、
    wordpress には Ktai Style というプラグインがある・・
    というのが、大きな決め手でした。

    なんということでしょう!

    やっぱり、wordpress にして良かったと思います。

    まだ、初心者ですが
    これからも、よろしくお願いいたします。

    お忙しいところ ありがとうございました。

    モデレーター IKEDA Yuriko

    (@lilyfan)

    AddHandler cgi-script htaccess
    こういう設定は、不要で・ダサイ ということは分かりませんでした。

    自分で Apache の管理や設定を行なったことがあるなら、すぐにそう分かるのですが、ユーザーレベルで .htaccess をいじった程度だと、なかなか分からないと思います。それでも、Apache のマニュアルを見れば「なんか不可思議な設定だな」と思えるでしょう。

    この設定は、「htaccess という拡張子を持つファイルは CGI として実行属性を与える」というものです。.htaccess ファイルは CGI ではないため、不自然な設定なのです。

    この方法はいつ誰が提案したのかは不明ですが、「ミケネコの htaccess リファレンス」は Last Modified が 2004年11月27日になっており、これより以前から存在する手法だと言えそうです。で、この文書では「あなたがサーバ管理に長けている方なら、なぜこのような邪道とも言える方法を採るのか不思議に思うかもしれません」と書かれていて、提案者自身が「ダサい設定方法である」ことを承知しています。しかし、他の人の説明では、この「言い訳」が抜けてしまっているんですよね……。

    ネットで検索 → それが答えだと思ってしまう。 
    危険ではないかと思う今日この頃です。 が、
    真偽のほどを確かめるすべもない・・ それをまた → 検索・・・

    基本は、「正式なマニュアル・規約や規格に当たる」ことです。今回の場合、.htaccess は Apache の設定ファイルですから、Apache のマニュアルを見ればよいわけです。WordPress 関連の場合は、WordPress のドキュメントを見ればいいのですが、残念ながら日本語 Codex はまだ整備中です。そういう場合は、英語版 Codex を見るか、ソースコードを見て実装を確認することになります。

    lilyfan さんのブログ拝見させていただきました!
    びっくりしました。
    Ktai Style を作られた方だったのですねー!!

    アカウント名がややこしくてすいません。日本語フォーラムが始まるずっと前に wordpress.org のアカウントを取得していて、都合上「lilyfan」というアカウント名にしました (「yuriko」は空いていた気もしますが、あえて取りませんでした)。

    Ktai Style は機能がどんどん追加されていって、いつのまにか「最強の携帯対応ツール」になってしまいました 😉 今後もボチボチ開発しますので、よろしくお願いします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「インストール後 安全のために必要なこと」には新たに返信することはできません。