リンクバル技術部の川畑です。先日HASHコンサルティング主催の「【学ぶ夜シリーズ・第2弾】徳丸浩とWordPressのセキュリティを学ぶ夜」に参加してきました。
主な内容は、簡単な攻撃デモとセキュリティ対策についての解説と少し宣伝といった感じとなります。そのうちのセキュリティ対策の内容についてのレポートとなります。
Webサイトへの侵入経路は2パターンしかない!
- 管理用ツールの認証を突破される
- ソフトウェアの脆弱性を悪用される
- 基盤ソフトウェアの脆弱性を悪用される(例:Apache、Nginx、PHPなどの脆弱性)
- アプリケーションの脆弱性を悪用される(例:SQLインジェクションなどの脆弱性)
基本的にWebサイトへの侵入経路は2パターンしかないとのことで、「認証の突破」と「脆弱性の悪用」を重点として対策を打つのが有効!
攻撃受けるとどうなるか
- 情報漏洩
- データ改ざん
- DDos攻撃
- なりすまし
対策の基本的な考え方
- 根本的解決
- パスワードをしっかり設定
- 8文字以上
- 英数字を混ぜる
- 辞書に載っている単独文字は禁止
- できればランダム文字列
- 他のところで使用していないもの
- 管理者が複数存在する場合は、管理者毎にユーザーを作成する
- 退職・異動した管理者のアカウントは直ちに無効化する
- 脆弱性を解消する
- ソフトウェアバージョンアップまたはパッチ適用
- 脆弱性対処は、バージョンアップまたはパッチ適用が基本
- OSのパッケージを導入している場合はパッチ適用
- バージョンアップするとサイトが動かなくなる…なんて心配しないで、とにかくバージョンアップ!
- 自力でトラブル対処ができないソフトは導入しないこと
- パブリッククラウドを利用している場合、イメージ形式でのバックアップをとっておくと安心
- 脆弱性対処は、バージョンアップまたはパッチ適用が基本
- ソフトウェアバージョンアップまたはパッチ適用
- パスワードをしっかり設定
最も大切なことは「根本的解決策」を面倒くさがらずしっかりやる。パスワードもポリシーを作成し、定期的に変更するなどはセキュリティーの観点からはかなり有効とのこと。ユーザー名はデフォルトでも構わないからとにかく「パスワード!パスワード!」といっていたのが印象的でした。
- 保険的対策
- PHPの機能を制限する
- ファイルのディレクトリのパーミッション設定
- 管理画面のログイン画面のIP制限
- WAFの導入
- SQLインジェクション対策
- PHPの場合、とにかくプレースホルダを使うこと
- 外部入力をSQL文に混ぜない
セキュリティ対策はイタチごっこ。地道な対策を続けることでシステムのセキュリティは守られるのだと再認識しました。
リンクバルではエンジニアを積極募集中です。興味のある方は、ご応募ください。もちろん、社内の人間と面識があるのでしたら、直接にご連絡いただいてもかまいません。