Webセキュリティの小部屋

Twitter のフォローはこちらから Facebook ページはこちら RSSフィードのご登録はこちらから
公開日:2014年2月9日
最終更新日:2020年8月8日

最低限必要な CentOS セキュリティ設定

はじめに

この記事では、CentOS で最低限必要なセキュリティ設定を、最近の動向を踏まえてまとめています。リンク先の記事は、設定内容が分かるよう配慮して記述しています。

この記事で取り上げているソフトウェアは、基本的に yum コマンドで完結するものになっているので、採用も簡単です。もちろん無料です。

基本的に CentOS 6/7/8 で動作しますが、CentOS 7から Systemd に変わったことにより、CentOS 7/8では一部コマンドの読み替えが必要な箇所があります。

全パッケージのアップデート

まず最初に、以下のコマンドを実行して、全てのパッケージを最新にします。

# yum -y update

CentOS 8でも yum コマンドは使用できますが、dnf コマンドが標準になったので、以下のコマンドの方がよいでしょう。

# dnf -y update

これ以降は、緊急時には個別パッケージのアップデートも考えられますが、脆弱性情報の取得漏れを防ぐために、定期的に全パッケージのアップデートを行うことを推奨します。

ファイアウォールの設定

IPv6 がサーバーサイドでもクライアントサイドでも普及してきたので、今までのように IPv6 を無効にするのではなく、正しく IPv6 の設定をすることを推奨します。

CentOS 7 からは iptables がなくなって、その代わりに firewalld という仕組みに変わりました。CentOS 7 でも iptables は使えないことはないですが、firewalld への移行をお勧めします。

なお、CentOS 8でも iptables は使用できるようになっています。

リモートからの root ログイン無効化

リモートから root でログインできるのは、不正ログインが発生したときの被害が大きくなるので無効化します。

公開鍵認証による SSH ログイン

ハードウェアの進化により、パスワード認証は脆弱な認証方式となりつつあります。Web サーバーの認証は公開鍵認証に移行しましょう。

SSH ポート番号の変更

SSH のポート番号がデフォルトの 22 番だと、それだけで攻撃を頻繁に受けてしまいます。ポリシーなどの問題がなければ、SSH のポート番号を変更するだけで攻撃が激減します。

不要なサービスを停止

不要なサービスはリソースの無駄なだけではなく、脆弱性の元です。不要なサービスは停止しましょう。

ウィルス対策ソフト

Web サイト改ざんが多発している現在では、Web サーバーでもウィルス対策ソフトの導入は必須です。

ファイル改ざん検知ツール

Web サイトの改ざんが多発している現在では、ウィルス対策ソフトだけでなく、ファイル改ざん検知ツール(IDS)も必須でしょう。

ログ監視ツール

攻撃を受けているかどうかを確認するのにログチェックはかかせません。Logwatch はログチェックを簡単してくれます。

Apache セキュリティ対策

Apache は、デフォルト設定だと意外と脆弱だったりします。安全な設定を行いましょう。

SSL/TLS 設定

以前は SSL/TLS 証明書は有償のものしかありませんでしたが、Let's Encrypt が登場したことにより無償で簡単に SSL/TLS 証明書を導入できるようになりました。

SSL/TLS 証明書を導入しただけでは、サイトはセキュアになりません。必要な設定をすることで初めてセキュアなサイトにすることができます。

WAF (Web Application Firewall)

WAF はあまり導入が進んでいないものだと思いますが、多層防御という観点からは非常に有用なものです。このサイトも SiteGuard Lite を導入していますが、かなりの攻撃を防いでいます。リンク先は、ModSecurity と WebKnight のインストールや Tips などをまとめてあります。

おわりに

CentOS のセキュリティ設定は、これくらいはやって欲しいということをまとめてみましたが、いかがだったでしょう。

サーバー構築の時点でこれだけやるのも大変ですが、実運用に入ると、脆弱性情報の収集や対策、定期的なアップデートと動作確認、ログのチェックなど、やることがどんどん増えてきて大変になっていきます。

個人のサーバーなら、すみませんで済まされることも、企業としてサービスを提供するならそういう訳にもいかないですしね。

サーバーを安全に運用するなら、テスト環境と本番環境を持つといった環境面での対策と、誰が情報収集をし、誰が意思決定をし、誰が作業をするかといった組織的な対策も必要になってきます。

定期的な脆弱性診断を受けられると、なおいいでしょう。

セキュリティには、ここまでやれば大丈夫というものはありません。できうる対策をとって、それでも事故が起きた時の対応まで含めて準備し、運用して行くことが重要です。


スポンサーリンク





カテゴリー:Linux

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA