狠狠撸

狠狠撸Share a Scribd company logo
松本 悦宜 @ ym405nm
(加筆修正版)
WordCamp Kansai 2016
? 自己紹介
? WordPressのセキュリティ事象
? 抑えておきたい攻撃パターン
? 吹き飛ばすには ~運用者編~
? 吹き飛ばすには ~開発者編~
? 吹き飛ばすには ~初心者編~
? 最後に
WordPressセキュリティの心配事を吹き飛ばせ! WordCamp Kansai 2016
WordCamp Kansai 2016
WordPressは脆弱性が多い ← わかる
WordPressは危ない ← ええ???
WordPress使うな ← !?!?
WordCamp Kansai 2016
その後の某社
WP
危
な
い
脆
弱
性
レ
ン
タ
ル
サ
ー
バ
ご
と
や
ら
れ
る
あ
あ
あ
↑提案してきた人
WordCamp Kansai 2016
? 増え続けるユーザ数
管理できないサイトが増え続けていた
? WordPressに起因するセキュリティ事件が多発
WordPressを狙った攻撃が増加した
? プラグイン / テーマの脆弱性が多数発見
深刻な脆弱性をもつ製品が多く使用されていた
別のCMSが安全という人もおりました(??ω:;.:…
WordCamp Kansai 2016
? WordPress本体のセキュリティアップデート
発見されたセキュリティ問題を迅速に修正
自動アップデートで配信
? セキュリティを強化するプラグインが登場
? セキュリティ関連の情報が増加
有志のユーザやホスティング会社などによる解説サイト
WordCamp Kansai 2016
他のCMSでも問題は数多く出てるんです???
大事なのはセキュリティに対し、みんなで取り組む
ことですよね!
J-WAVE、コマンドインジェクション攻撃による不正アクセス、個人情報64万件が流出した恐れ
http://internet.watch.impress.co.jp/docs/news/754885.html
WordPressセキュリティの心配事を吹き飛ばせ! WordCamp Kansai 2016
WordCamp Kansai 2016
? WordPressに対する攻撃を2年間かけて追跡
? 攻撃の傾向を調べてみました
WordCamp Kansai 2016
? IDパスワードに対する攻撃
? プラグインとテーマに対する攻撃
? サーバに対する攻撃
WordCamp Kansai 2016
? 攻撃検出の頻度を集計結果
? パスワードは短期間に大量のツールによる攻撃が来
ていた
WordCamp Kansai 2016
検出したパスワード攻撃の上位 20 件
11 . 1234567
12 . 123456789
13 . 123123
14 . adminpass
15 . pass
16 . abc123
17 . トップレベル付きドメイン名(小文字)
18 . test
19 . Info12345678
20 . admin1
1 . admin
2 . administrator
3 . admin123
4 . password
5 . 123456
6 . ドメイン名(小文字)
7 . 123
8 . 12345
9 . 12345678
10 . 1234
WordCamp Kansai 2016
? 攻撃検出の頻度を集計結果
? 攻撃が継続的に行われている
WordCamp Kansai 2016
ソースIPをGeoIPにて国を検索した結果
※踏み台となっている可能性もある
ロシア
スウェーデン
ウクライナ
カナダ
WordCamp Kansai 2016
wp-mobile-detector
motopress-content-editor
formcraft
revslider
WordCamp Kansai 2016
? 各ファイルのパーミッションの設定が不適切
但しこの場合攻撃ケースは稀
? サーバの認証が不備にあっている
SSH接続、各種アカウント
? FTPはできるだけ使わないように
クライアントの脆弱性、FTPの仕様上の弱さ
WordPressセキュリティの心配事を吹き飛ばせ! WordCamp Kansai 2016
WordCamp Kansai 2016
自動アップデート機能をなるべく使用する
「WordPress」「テーマ」「プラグイン」は最新のものを使
用する
それぞれ更新のタイミングがバラバラなので、ダッシュボー
ドの通知を要チェック
使っているものは最新版に保つ
WordCamp Kansai 2016
自分のアカウントのパスワードは強固なものにする(推測不
能、英数字混在8文字以上)
(できれば)ログインフォームへのアクセス制限、二要素認
証の導入など
サーバへのアクセスや、コントロールパネルへのアクセスも
同様
アカウントの管理をしっかりする
WordCamp Kansai 2016
メンテナンス頻度が高いものを選ぶ
脆弱性は無いのにこしたことはないが最初から0のものは
ない → 見つかった脆弱性に対し迅速に対応されているかが
重要
明らかに不要なものは削除しておく
無効にしている状態のままでは攻撃を受ける可能性がある
テーマ / プラグインの選定をする
WordPressセキュリティの心配事を吹き飛ばせ! WordCamp Kansai 2016
WordCamp Kansai 2016
ユーザがアップロードしたファ
イルを使用する場合は要注意
アップロード機能をプラグイン
やテーマ内で実装するのではな
く、WordPressのギャラリーを
使用する
アップロード機能に注意
画像
攻撃用
WordPress
テーマ/プラグイン
WordCamp Kansai 2016
plugins/wp-sample/download.php?file=sample.png
ダウンロード機能に注意
ダウンロード機能があるプラグイン
ここにファイル名を指定してる場合
WordCamp Kansai 2016
GET /wp-content/plugins/_____
/downloadpdffile.php?fileName=../../../../../../../../../../etc/passwd HTTP/1.1
Host: [server].info
Keep-Alive: 300
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 OPR/36.0.2130.32
サーバの任意のファイルが取得可能
同様の手法で wp-config.php もダウンロードされる
実際の攻撃事例
WordCamp Kansai 2016
? 対策
ファイルを配列などで間接的に指定する
または、ディレクトリを表す記号(例:「/」、
「../」、「..?」)が来た場合はエラーを返す
WordCamp Kansai 2016
脆弱性に注意
XSS : スクリプトを埋め込まれる脆弱性
出力値にWordPressのエスケープ関数を使用する
WordCamp Kansai 2016
脆弱性に注意
SQLインジェクション : DBに不正な操作を行われる脆弱性
できるだけ文字列連結でクエリを構成するのを避ける
$wpdb->query( $wpdb->prepare(
"INSERT INTO $wpdb->postmeta
( post_id, meta_key, meta_value )
VALUES ( %d, %s, %s )",
10,
$metakey,
$metavalue
) ); Codex
関数リファレンス/wpdb Class
https://wpdocs.osdn.jp/関数リファレンス/wpdb_Class
対策コード
WordCamp Kansai 2016
脆弱性に注意
CSRF : 不正なページ遷移により、なりすましをさせられる
脆弱性
nonce を使用しページ遷移を検証する
※ プラグインのconfig画面など
生成 : wp_create_nonce( $action );
検証 : wp_verify_nonce( $nonce, $action );
WordCamp Kansai 2016
<?php
$nonce = wp_create_nonce( 'my-nonce' );
?>
<a href='myplugin.php?do_something=some_action&_wpnonce=<?php
echo $nonce; ?>'>Do some action</a>
<?php
// このコードは行き先ページに書く。
// nonce を検証する必要がある。
$nonce = $_REQUEST['_wpnonce'];
if ( ! wp_verify_nonce( $nonce, 'my-nonce' ) ) {
// nonce が無効な場合。
die( 'Security check' );
} else {
// nonce が有効な場合。
// 目的のアクションを実行。
}
?>
Codex
関数リファレンス/wp create nonce
https://wpdocs.osdn.jp関数リファレンス/wp_create_nonce
対策コード
WordPressセキュリティの心配事を吹き飛ばせ! WordCamp Kansai 2016
WordCamp Kansai 2016
「よくわからんけど怖いことだけわかった」
「全部やるのは面倒くさいよね???」
最低限やったほうがいいことだけ
今から教えます!
WordCamp Kansai 2016
悪い例 : adminpass
良い例 : aDm1n4ss
パスワードを見直す
8文字以上、英数混合、推測されにくいもの
パスワードジェネレータで生成するのもOK
意外と日本語のローマ字表記も有効?
WordCamp Kansai 2016
テーマ?プラグインの選定
1年以内に更新されているもの
ユーザ数が多いもの
安全性の観点では無料?有料は関係ない
WordCamp Kansai 2016
ログインするたびに通知はみておく
特に見ておく必要があるのはこのあたり
WordCamp Kansai 2016
レンタルサーバを利用する
自分で管理する場合…
iptables ? PHPのアップデート? OpenSSL ?
WordPress.com
WordPress専用サーバなど
WordCamp Kansai 2016
WordPressは適切に開発?運用すれば、
安全にしやすいソフトウェアです!
今日紹介したもの
?開発者の対策
?運用者の対策
?初心者の対策
WordCamp Kansai 2016
WordPressの安全のおともに(登録無料)
https://wp-portal.net
国内のWordPressに対する
攻撃情報が掲載されている
ご自身のWordPressサイトの
セキュリティチェックができる

More Related Content

WordPressセキュリティの 心配事を吹き飛ばせ! WordCamp Kansai 2016