ウェブサーバのセキュリティ対策について(安全なウェブサイトの作り方)

2016年3月26日

てか、安全なウェブサイトの作り方長えよ!
チェック項目として使うのが正解な気がする・・・

でも、そのためには一度読んどかないといけないか。

前回までは脆弱性の概念的な話だったけど、今回から運用レベルの解決策を学んでいく。
ウェブサイトの安全性向上のための取り組みについて。

安全なウェブサイトの作り方ではこういう目次になってる。

2.1 ウェブサーバのセキュリティ対策について
2.2 DNS 情報の設定不備
2.3 ネットワーク盗聴への対策
2.4 パスワードの不備
2.5 フィッシング詐欺を助長しないための対策
2.6 WAF によるウェブアプリケーションの保護
2.7 携帯ウェブ向けのサイトにおける注意点

一つ一つ見ていこう。

1.ウェブサーバのセキュリティ対策について

サーバレベルでのセキュリティ対策について。
前回まではアプリケーションレベルでの話が多かったかな。

OS やソフトウェアの脆弱性情報を継続的に入手し、脆弱性への対処を行う

脆弱性は日々発見されるので、OS やソフトウェアの開発者から提供される脆弱性情報を継続的に入手し、ソフトウェアの更新や問題の回避を行ってください。

「ソフトウェアの更新」ということは、やっぱり最新verを使うのがいいんだろうな・・・
ここら辺は自分の力量が試される。

OSはパッケージの自動更新とかも考えたほうがいい。
いずれにしても今後の課題。

ウェブサーバをリモート操作する際の認証方法として、パスワード認証以外の方法を検討する

より高い安全性を確保するための方法として、暗号技術に基づく公開鍵認証等の利用を検討することをお勧めします。

これは実践できている。
最近のサーバを設定する記事の大半では解説されてるので助かった。

自分の記事では、下記を参考。
公開鍵認証の設定とconfigファイルでssh接続の管理(Ubuntu)

パスワード認証を利用する場合は、十分に複雑な文字列を設定する

複雑な文字列であること、そして十分に長いパスワードであることを心がけている。
今は12文字ぐらいを目安にしてる。

パスワードの長さと解読にかかる時間を出してた記事見たけどどこだったか忘れた・・・

不要なサービスやアカウントを停止または削除する

ウェブサイト運営に必要のないサービスがウェブサーバ上で稼動している場合、そのサービスに対する管理が十分でなく、脆弱性が存在するバージョンをそのまま利用している可能性等が考えられます。

不要なサービスを止める理由は、自分がそれらを忘れているため。
自分の認識外が脆弱性になりやすい。

止め方はさくらインターネットの社長のブログを参考にした。
記事のはCentOS5の話なので、CentOS6についてまた調べる。

公開を想定していないファイルを、ウェブ公開用のディレクトリ以下に置かない

ウェブ公開用のディレクトリに保管されているファイル群は、基本的に外部から閲覧することが可能です。公開ウェブページにファイルへのリンクが無くても、外部から直接指定することで閲覧されてしまいます。

FuelPHPを使ったことで、この問題は回避。
レガシーな PHPを使ってたらこの問題に今ぶち当たっていたと思う。

こういった意味でも、フレームワークはセキュリティを強制してくれてありがたい。

参考

安全なウェブサイトの作り方