最低限必要な CentOS セキュリティ設定
はじめに
この記事では、CentOS で最低限必要なセキュリティ設定を、最近の動向を踏まえてまとめています。リンク先の記事は、設定内容が分かるよう配慮して記述しています。
この記事で取り上げているソフトウェアは、全て yum コマンドで完結するものになっているので、採用も簡単です。もちろん無料です。
なお、対象は Web サーバーの CentOS になっています。
動作確認は、CentOS 6.5 で行っています。
全パッケージのアップデート
まず最初に、以下のコマンドを実行して、全てのパッケージを最新にします。
1 |
# yum -y update |
これ以降は、緊急時には個別パッケージのアップデートも考えられますが、脆弱性情報の取得漏れを防ぐために、定期的に全パッケージのアップデートを行うことを推奨します。
iptables/ip6tables の設定
IPv6 がサーバーサイドでもクライアントサイドでも普及してきたので、今までのように IPv6 を無効にするのではなく、正しく IPv6 の設定をすることを推奨します。
リモートからの root ログイン無効化
リモートから root でログインできるのは、不正ログインが発生したときの被害が大きくなるので無効化します。
公開鍵認証による SSH ログイン
ハードウェアの進化により、パスワード認証は脆弱な認証方式となりつつあります。Web サーバーの認証は公開鍵認証に移行しましょう。
SSH ポート番号の変更
SSH のポート番号がデフォルトの 22 番だと、それだけで攻撃を頻繁に受けてしまいます。ポリシーなどの問題がなければ、SSH のポート番号を変更するだけで攻撃が激減します。
不要なサービスを停止
不要なサービスはリソースの無駄なだけではなく、脆弱性の元です。不要なサービスは停止しましょう。
ウィルス対策ソフト
Web サイト改ざんが多発している現在では、Web サーバーでもウィルス対策ソフトの導入は必須です。
ファイル改ざん検知ツール
Web サイトの改ざんが多発している現在では、ウィルス対策ソフトだけでなく、ファイル改ざん検知ツール(IDS)も必須でしょう。
ログ監視ツール
攻撃を受けているかどうかを確認するのにログチェックはかかせません。Logwatch はログチェックを簡単してくれます。
Apache セキュリティ対策
Apache は、デフォルト設定だと意外と脆弱だったりします。安全な設定を行いましょう。
- Apache のバージョンや OS の情報を出力しないようにする
- Apache のディレクトリリスティングを無効にする
- クリックジャッキング対策(Apache/IIS)
- Apache の Trace メソッドを無効にする
WAF (Web Application Firewall)
WAF はあまり導入が進んでいないものだと思いますが、多層防御という観点からは非常に有用なものです。このサイトもオープンソースの ModSecurity を導入していますが、かなりの攻撃を防いでいます。リンク先は、ModSecuriy のインストールや Tips などをまとめてあります。
おわりに
CentOS のセキュリティ設定は、これくらいはやって欲しいということをまとめてみましたが、いかがだったでしょう。
サーバー構築の時点でこれだけやるのも大変ですが、実運用に入ると、脆弱性情報の収集や対策、定期的なアップデートと動作確認、ログのチェックなど、やることがどんどん増えてきて大変になっていきます。
個人のサーバーなら、すみませんで済まされることも、企業としてサービスを提供するならそういう訳にもいかないですしね。
サーバーを安全に運用するなら、テスト環境と本番環境を持つといった環境面での対策と、誰が情報収集をし、誰が意思決定をし、誰が作業をするかといった組織的な対策も必要になってきます。
定期的な脆弱性診断を受けられると、なおいいでしょう。
セキュリティには、ここまでやれば大丈夫というものはありません。できうる対策をとって、それでも事故が起きた時の対応まで含めて準備し、運用して行くことが重要です。
スポンサーリンク
カテゴリー:Linux
Twitter でも、いろんな情報を発信しています。@fnyaさんをフォロー