Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
WordPress Hardening CheetSheet 8/20
Search
tsb
August 22, 2015
Technology
1
1.1k
WordPress Hardening CheetSheet 8/20
2015/8/20 WASNight 2015 Summer で発表したスライド資料です。
tsb
August 22, 2015
Tweet
Share
More Decks by tsb
See All by tsb
20151206_AWS+Security
tsb
0
760
Other Decks in Technology
See All in Technology
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
1.1k
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
490
Storage Browser for Amazon S3
miu_crescent
1
230
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
600
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
5
200
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
5分でわかるDuckDB
chanyou0311
10
3.2k
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
270
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
250
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
181
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
A Philosophy of Restraint
colly
203
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Optimizing for Happiness
mojombo
376
70k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Making the Leap to Tech Lead
cromwellryan
133
9k
Writing Fast Ruby
sferik
628
61k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Transcript
WordPress Hardening CheetSheet Hardening 10 MarketPlace 2015.8.20 @ MP4
陽気なMP4がhardeningをまわす!
MP4 とは MarketPlace4 と呼ばれる4人組です。 Hardening 10 MarketPlace (2015/06/20-21沖縄開催)で 下記のように特殊任務をいただき参加いたしました。 競技に申し込んだものの、競技チームではなく
「専門家としてプロフェッショナルサービスを展開する」側として ご出場いただきたいという実行委員会からの悲報を頂きました。 → つまり、プロとしてお金をいただきチームをサポートする役割!
MP4 自己紹介 @TSB_KZK 鬼軍曹 @delphinz プロジェクトマ ネージャ @sasser_jp セキュリティ コンサルタント @YuhoKameda
脆弱性診断士
MP4 本日の発表内容について 今回、我々MP4でHardeningの経験を元に WordPress Hardening CheetSheet を作成いたしました。 本日は作成経緯からチートシートの内容紹介・活用方法まで 簡単にご紹介いたします。
WordPress Hardening CheetSheet 作成に至る背景 MP4のミッションは 6月20日、 競技当日に沖縄で知ることとなる
競技参加者のミッションをまとめるお仕事のはず・・・ 競技者作成のマニュアルをまとめればいいのか〜 やることは明確だね あれ?提出したのはたった 1チーム?! 脆弱性に特化した内容でチートシートには・・・
ならばつくってしまいましょう! コンセプト: 比較的易しめで、最低限実施すべきセキュリティ 対策を網羅したシートを作成する 対象者: ・WordPress初心者層 ・個人でブログやプラグインを利用しサイトを管理している人 ・中小企業でカスタマイズ・チューニングを実施できる人 ・Hardening参加者(が最初に実施すべき事項)
Summary コンテンツ抜粋: ・WordPressアップデート ・デフォルト設定を変更 ・管理画面のアクセス権限 ・不要なサービス起動の禁止 ・攻撃緩和策の実施 ・ログの管理 ・バックアップ ・個人情報の管理 等々
鋭意取りまとめ中。近日公開予定!
Hardening Projectの教訓について チートシートの一部内容や今後の活動を紹介 いたします。特にHardeningの経験を通じて学んだ 内容をピックアップ。 メニュー: ・WordPressアップデートについて (@sasser_jp) ・脆弱な環境の構築について (@delphinz)
・可用性について (@TSB_KZK)
WordPressアップデートについて (@sasser_jp)
WordPressアップデートについて ▼WordPressアップデート(チートシート抜粋) ・WordPressの最新版が無いか確認する。 - WordPressダッシュボードから最新版を確認する。 コアのアップデート プラグインの アップデート
Hardening 10 MarketPlaceでも・・・ 本体(コア)と3つのプラグインの 脆弱性が攻撃対象に・・・ 既知の脆弱性はアップデートすれば 対処できる
いきなり攻撃はやってくる まずはプラグインの一時停止を検討する 例:FancyBox:画像を拡大表示不可 wp−filemanger : FTPクライアントを利用 Hardening 10 MarketPlaceでは、今回より用意いただいた検証環境が あるので確認してから停止するとなおよし
プラグインの手動アップデートを実施 ①アップデートファイル のダウンロード # cp -pR /var/www/wordpress/wp-content/plugins/fancybox-for-wordpress/ /tmp/ # unzip
-d /var/www/wordpress/wp-content/plugins/ -o fancybox-for-wordpress.3.0.6.zip # diff -qr /tmp/fancybox-for-wordpress/ /var/www/wordpress/wp-content/plugins/fancybox-for-wordpress/ ②プラグインファイル上書き ③ アップデート完了 # 本体(コア)の手動アップグレードは下記参照 http://wpdocs.osdn.jp/WordPress_のアップグレード Hardening の環境ではサーバが直接インターネット上のファイ ルを取得できないので手動アップデートが必要
それでもアップデートできない場合 ▼別のリスク緩和策を検討する ・アクセスを制御 (IPアドレス制御、BASIC認証) ・ログの取得・監視(アクセスログ・エラーログ) ・バックアップを定期的に取得 ・WAF、セキュリティ系プラグインの利用 ・WPSCAN等で脆弱性診断を実施 ・機密情報を保持しない ・インシデント対応の事前準備
Hardeningでは、できる範囲で対策を実装すること
脆弱な環境の構築について (@delphinz)
そもそも検証環境をどうやって用意すべきか WordPressの脆弱性を検証するのって面倒じゃない? よろしいならば構築だ! 残暑お見舞いにhardeningで使われた WordPress脆弱性をつめこんだ 環境構築スクリプトを作成しました! githubにて公開(READMEはあとで書く!) https://github.com/delphinz/vulnerable-wordpress-playbook
WordPress脆弱性詰め合わせの内容 インストールされるパッケージ 項目 属性 バージョン リリース日 WordPress 本体 4.1 2014-12-19
welcart_default テーマ プラグインに準拠 - MailPoet newsletters プラグイン 2.6.6 2014-04-30. fancy box プラグイン 3.0.2 ? wp-file manager プラグイン 1.2 ? Welcart e-Commerce プラグイン 1.2.1 2012-10-5 amazon ami (micro) でおよそ3分前後で構築できます! ※ wpcli の制限で4.1より古いバージョンが入らなかった(汗) amazon ami@ec2 & centos6.6@vmware で検証済み!
環境構築に使用した要素技術 ansible Pythonで書かれたサーバ環境の構成管理ツール。 chefと違ってサーバへのインストール不要! 設定はYAMLファイルとして記述します。 Pythonがわからなくても使えます! http://www. ansible.com/home wpcli wordpresの操作をコマンドラインから行えるようにするツール
WordPress本体、plugin、theme のインストール・アップデートや投稿の管理も可能! http://wp-cli.org/ その他 「awscli」 もサーバの起動・破棄が即座に行えて便利!
今後の展望 盛り込めなかったコト - WordPress以外の脆弱性も入れたかった → shellshckやheartbleed 、サーバ設定不備etc - サンプルデータの投入 → 商品0件、初期画面がwelcartデフォルト画面・・・ -
クローラの実装 → 負荷をかける & チューニングを試してみる - 監視環境のインストール → 負荷を監視してみる ( Pandora FMS がイイよ!) ゆくゆくは 「ぼっちMINI hardening環境」 へ???
可用性について (@TSB_KZK)
可用性は Hardening の永遠の命題 そもそもサイトが停止したらビジネスに直結 他のECサイトが落ちているときはビジネスチャンス wikipedia にも書いてある
可用性を考える 負荷ひとつ取っても正常異常さまざま考えられる 古くはF5連打 DoS 不正パケット系 トラフィック埋める系 バルス! Yahoo砲とかWBS砲とか とにかく、自分にできることをやろう! 対処すべき攻撃
助けてーと叫ぶ
ぜひ聞きたい そのデフォルト設定で、 8時間戦えますか? デフォルト設定だと最大で 256clients x 128MB ≒ 32GB ※memory_limitに依存。デフォルト128MB?
$ cat /etc/httpd/conf/httpd.conf StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000
・具体的には何やればいいの? チューニング httpd.conf の設定 MaxRequestsPerChild: デフォルト4000 -> php なら数百以下がベター MaxClients:
メモリ量に応じて。デフォルト256は大きい Keepalive on かつ KeepAliveTimeout 短めに ※ロードバランサ利用時は要注意 キャッシュプラグインの導入 静的ファイルのキャッシュ / ブラウザキャッシュ フロントでの防御 主にiptables。DoS を防ぐ設定を。 “粘り強い”設定を!
まだ足りない? ・よろしい、ならば翼を授けよう APC(Alternative PHP Cache) リバースプロキシの導入(nginx, varnish, etc) mysqlチューニング LAMP
からの脱却。 nginx とか ・最後はお金の力で解決 スケールアップ バランシング CDN
まとめ ”習うより慣れよ” 最後に、まずは体感してください。 MINI Hardening という初心者向けハードニング 競技イベントを定期的に開催していますので、 是非ご検討ください。 ※ 次回は8/29(土)に開催。大阪開催予定も? http://minihardening.connpass.com/
ハッシュタグ #minihardening