More Related Content Similar to OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築) (20) More from OWASP Nagoya (16) OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)2. OWASP WordPress Security Implementation
Guideline
● OSI参照モデルの物理層からアプリケーション層まで幅広くカバーしています
● rawデバイス(ディスク)の暗号化など、システムとハードの深層深部から全領域の暗号
化を追及しています
● 有名なCVEを重点的に訴求し、信頼性が高いドキュメントです
● 毎年、少しずつ更新されています
2
OWASP WordPressセキュリティ実装ガイドライン
に沿って進めます
https://www.owasp.org/index.php/OWASP_Wordpress_Security_Implementation_Guideline#WordPress_security
3. OWASP WordPress Security Implementation
Guideline
3
OWASP WordPress セキュリティ実装ガイドライン の歴史
https://www.owasp.org/index.php?title=OWASP_Wordpress_Security_Implementation_Guideline&action=history
2014年10月 一気にプロジェクトが充実しました!
6. 4.1 アップデート
4.2 未使用プラグインとテーマの削除
4.3 プラグインとテーマのセキュリティ
4.4 バックアップ
4.5 ユーザー種別と権限
4.6 wp-adminのアクセス制限
4.7 ブルートフォースアタック対策
4.8 2要素認証の実装
4.9 デフォルト管理者アカウント削除/変更
4.10 ユーザー登録の無効化
4.11 データベーステーブル接頭辞の変更
6
4.12 コメント機能の制御
4.13 ファイル/ディレクトリパーミッション確認
4.14 readme.html と install.phpの削除
4.15 ブランクindex.phpファイルの追加
4.16 wp-config.phpファイルの移動
4.17 秘密鍵の作成
4.18 ダッシュボードの強制SSL
4.19 WAFの活用
4.20 セキュリティプラグイン各種
4.21 プラグインとテーマの編集の無効化
4. WordPressセキュリティ
11. 11
3.1 Apache堅牢化①
定期的な更新 ウェブ上のディレクトリリスト表示の無効化
SSL化 Apache不要モジュールの削除 ※次ページにて
別のユーザーとグループにてデーモンを稼動 allow,denyによる各ディレクトリのアクセス制限
apacheを安全にするmod_securityの使用(WAF) シンボリックリンク無効化
SSI(Server Side Include)とCGI executionのオフ リクエストのサイズ制限
TimeOut, MaxClients, KeepAliveTimeout,
LimitRequestFields, LimitRequestFieldSize、などの
設定(DOS攻撃対策)
ログの有効化と設定
サーバーのバナー情報(ncコマンド)の変更 など
13. 3.2 php堅牢化①
13
定期的な更新 php-cgiバイナリをインストールしない
リスクのある不要なphpモジュールの無効化 潜在的に脅威を持つ不要なphpのfunctionの無効化※
内部エラーログ設定 クライアントサイドのエラーレポート表示の無効化
アプリケーションのエラーログ表示無効化 リモートコード実行をオフにする
マジッククオート(自動エスケープ)無効化 ファイルシステムへのphpアクセス制限
DOS攻撃対策(投稿容量サイズ、スクリプト
の実行時間制限、メモリの利用率制限)
php-suhosinのsecurity extensionを使う
phpバージョンを隠す .php拡張子を隠す
※詳細は次ページにて確認します。
25. 4.3 プラグインとテーマのセキュリティ③
● 難読化された箇所
● BASE64エンコードされた箇所
● システムコール(exec, passthru, system, shell_exec など)
● PHPのコード実行(eval, assert, preg_replace など)
● 情報開示機能(phpinfo, getenv, getmygid/pid/uid, など)
● ファイルシステム関数(fopen, bz/gzopen, chgrp/own/mod など)
25
ソースコード解析ツールで対応できない部分
27. 4.3 プラグインとテーマのセキュリティ⑤
● CVE ツイッター:@CVEnew
https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=wordpress
● WPScan Vulnerability Database ツイッター:@_WPScan_ ※メール配信登録出来ます
https://wpvulndb.com
● NVD
https://nvd.nist.gov
• WPScanを使って脆弱性スキャン
27
WordPress脆弱性情報のチェック
補足
30. 4.5 ユーザー種別と権限①
30
特権管理者 Super Admin マルチサイトのWordPressで全権を持つ管理者
管理者 Administrator シングルサイトのWordPress内で全権を持つ管理者
編集者 Editor シングルサイトのWordPress内で他ユーザーの分も含めて記事投稿/編集が
出来る
著者 Author シングルサイトのWordPressで投稿/編集できる。他ユーザー投稿の編集は
出来ない
寄稿者 Contributor シングルサイトのWordPressで下書き/編集は出来るが、公開投稿は出来な
い。他ユーザー投稿の編集は出来ない
購読者 Subscriber シングルサイトのWordPressで自己のユーザープロフィールのみ編集可能
34. 4.7 ブルートフォースアタック対策①
● Google Captcha(reCaptcha)プラグインBy BestWebSoftの活用
https://wordpress.org/plugins/google-captcha/
※バックドアが見つかったCaptchaプラグインとは別のプラグインです。
34
キャプチャ機能の実装
36. 4.8 2要素認証の実装
● Clef※1
● Google Authenticator※2
● MiniOrange and other 2FA Plugins
36
サポートプラグイン
※1 Clefはプラグイン公開終了/サポート終了しています
※2 Google Authenticatorは3年前から更新停止しています
45. 4.17 秘密鍵の作成
define( 'AUTH_KEY', 't`DK%X:>xy|e-Z(BXb/f(Ur`8#~UzUQG-^_Cs_GHs5U-&Wb?pgn^p8(2@}IcnCa|' );
define( 'SECURE_AUTH_KEY', 'D&ovlU#|CvJ##uNq}bel+^MFtT&.b9{UvR]g%ixsXhGlRJ7q!h}XWdEC[BOKXssj' );
define( 'LOGGED_IN_KEY', 'MGKi8Br(&{H*~&0s;{k0<S(O:+f#WM+q|npJ-+P;RDKT:~jrmgj#/-,[hOBk!ry^' );
define( 'NONCE_KEY', 'FIsAsXJKL5ZlQo)iD-pt??eUbdc{_Cn<4!d~yqz))&B D?AwK%)+)F2aNwI|siOe' );
define( 'AUTH_SALT', '7T-!^i!0,w)L#JK@pc2{8XE[DenYI^BVf{L:jvF,hf}zBf883td6D;Vcy8,S)-&G' );
define( 'SECURE_AUTH_SALT', 'I6`V|mDZq21-J|ihb u^q0F }F_NUcy`l,=obGtq*p#Ybe4a31R,r=|n#=]@]c #' );
define( 'LOGGED_IN_SALT', 'w<$4c$Hmd%/*]`Oom>(hdXW|0M=X={we6;Mpvtg+V.o<$|#_}qG(GaVDEsn,~*4i' );
define( 'NONCE_SALT', 'a|#h{c5|P &xWs4IZ20c2&%4!c(/uG}W:mAvy<I44`jAbup]t=]V<`}.py(wTP%%' );
45
wp-config.phpにて(見本キーは使わないでください)
キーのジェネレータを使う事ができます
https://api.wordpress.org/secret-key/1.1/salt/
49. 4.2 セキュリティプラグイン各種
● iThemes Security
● BulletProof Security
● All In One WP Security & Firewall
● Sucuri Security
● Acunetix WP Security & Acunetix Secure
WordPress※
● Wordfence Security Plugin
49
※Acunetixは、数年前から更新が完全に止まっています。