セキュリティの問題に対処するための理想的な設定は何ですか?


8

WPが特定のディレクトリとファイルを書き込み可能にするための要件を知っています。アクセス許可を緩くしすぎるとセキュリティホールが開く可能性があることも知っています。最後に、Linuxサーバーで(ここにサーバーを挿入して)実行するユーザーが要因になる可能性があることを知っています。

セキュリティは別として、テーマとプラグインをブログにダウンロードして、必要に応じて更新できるのが好きです。適切なアクセス許可は、この設定とは少し相反するようです。

私はあちこちで少し詳細を収集しましたが、もしあれば、より明確な答えを見たいと思います。セキュリティにうなずく好ましい設定は何ですか?どのような権限を設定する必要があるか、どのユーザーがサイトを実行する必要があるかなど。


回答:


10

サーバーにFTPでアクセスできる場合、最も安全な設定は、テーマまたはプラグインのディレクトリをWebサーバーから書き込み可能にせず、FTPを使用してWordPressの更新ファイルを用意することです。プラグインを更新すると、WordPressからFTPの詳細を入力するよう求められます。

FTPによる方法は、直接のファイル書き込みよりもはるかに低速ですが、不正なスクリプトがファイルを変更できないため、はるかに安全です。


5
SFTPはさらに優れています
Ashley G

3
FTPは内部的には受け入れられますが、インターネットを介して緊張します。プレーンテキストでパスワードを送信するため。私はSFTP / SSHを介して転送します。安全なチャネルを介してファイルを移動する方が快適です。また、ウェブサーバーユーザーの書き込み権限も許可しません。
JMベッカー

8

@ Viper007Bondが述べたように、組み込みの更新メカニズムを介してコア、プラグイン、テーマを更新することは、実際のユーザー認証情報を使用できるため、ファイル権限に関してはかなり安全です。安全性を最大にするために、SSH2 PHP拡張機能がインストールされていることを確認する必要があります。インストールの方法(可能な場合)はホストごとに異なる可能性があるため、まだインストールされていない場合は、ホスティングサービスに問い合わせるか、グーグル操作を行う必要がある場合があります。

多くの共有ホスティングサービスはsuexec、Apacheセットアップで使用するため、Webサービスは実際のユーザーとして実行されます。これにより、ほとんどの権限の問題が解消され、サーバー上の他のユーザーからファイルを保護できます。ただし、Apacheが別のユーザーとして実行されている場合、ファイルをWordPressにアップロードするには、アップロードディレクトリの権限を開く必要があります。

この場合、おそらくwp-content/uploadsディレクトリに0713権限(AKA rwx--x-wx)が必要です。これにより、ディレクトリの所有者に完全なアクセス許可が与えられ、フルパスがわかっている場合はグループがファイルを読み取ることができ、他のユーザー(Webサーバーを含む)はパスがわかっているファイルを読み取ったり、ファイルを作成/書き込みしたりできます。

一部のキャッシングプラグインは、wp-content/cache書き込み可能なディレクトリ(または同様の)が利用可能であることも期待しています。同じ許可のアドバイスがそれに適用されます。

最後に、かなりパーマリンクの場合、.htaccess手動で更新する予定がない限り、WordPressでファイルを変更できる必要があります。この場合0646は、ファイルモードを使用します。ただし、パーマリンク構造を決定したら、通常これを再度変更する必要はないので、追加の書き込み権限をオフにしてに設定でき0644ます。場合によっては、プラグインまたはコアのアップグレードでプラグインへのアクセスが必要になることがあります。そのため、一時的に書き込み権限をオンに戻してから、再度オフにすることができます。

他のすべてのファイルには0644権限が必要です。ディレクトリは0711、パラノイア派であれば、ディレクトリにする必要がありますが、ディレクトリからファイルのリストを取得する必要があるプラグインに干渉する可能性があります。その場合、またはあなたがそれほど偏執狂的でない場合は、を使用してください0755。これにより、他のユーザーは読み取りを許可されますが、書き込みは許可されません。

これのほとんどは、共有ホスティングを使用している場合の主な懸念事項です。専用サーバー(VPSを含む)があり、ssh / ftpアクセスを持つ他のユーザーがいない場合は、もう少しリラックスできます。すべてをオープンに書き込み可能にするだけでよいという意味ではありませんが、システムのデフォルトを信頼することができます。これはおそらくの0755代わりにディレクトリのアクセス許可になります0711

オプションの場合は、サイトにSSL証明書をインストールし、を介してサイトにアクセスできることをテストしたらhttps、次の行をwp-config.phpファイルの直前に追加して、管理者ログインとアクセスにSSLを強制できます編集を停止する 'コメント:

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.