CentOS 5.8 64 [final]サーバーをWebサーバーとしてセットアップしました。
仕様:2x E5620 Intel CPU、DDR3 RAM、ハードウェアAdaptec RAID 10、4x SASドライブ。
私は自分自身をインストールしました:
Nginx
PHP-FPM
MySQL [ourdelta.org version]
Sphinx
Vsftpd
Fail2ban
Citadel [ddos flood protection]
Munin
NTP
Htop
Iptraf
これらはすべて、私が自分のWebサイトを運営するために積極的に使用しているものです。
今私の質問:
私はこの記事を見つけました: http://www.vr.org/kb/1002/Optimize-and-disable-default-CentOS-services.html
これは、無効にできるサービスの全リストについて説明しています。
これは彼らが提案するリストです:
chkconfig anacron off
chkconfig apmd off
chkconfig atd off
chkconfig autofs off
chkconfig cpuspeed off
chkconfig cups off
chkconfig cups-config-daemon off
chkconfig gpm off
chkconfig isdn off
chkconfig netfs off
chkconfig nfslock off
chkconfig openibd off
chkconfig pcmcia off
chkconfig portmap off
chkconfig rawdevices off
chkconfig readahead_early off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig smartd off
chkconfig xfs off
chkconfig ip6tables off
chkconfig avahi-daemon off
chkconfig firstboot off
chkconfig yum-updatesd off
chkconfig sendmail off
chkconfig mcstrans off
chkconfig pcscd off
chkconfig bluetooth off
chkconfig hidd off
今はsendmail
とsmartd
を使用しているので、これらは保持します。
しかし、私が認識していない他のプロセスのほとんど。無効にする際に注意すべきことはありますか?
実際に必要なものを無効にする可能性があるため、他の人の「リスト」の使用には注意してください。
そのリストで私が見るいくつかの明らかな問題は次のとおりです。
anacron
は、システムが復旧したときに、ダウンタイムが原因で失われたcronジョブが実行されるようにします。smartd
はディスクの状態を監視し、ディスクに障害が発生した場合に電子メールで通知するように設定できます(ただし、ハードウェアRAIDがあるため、代わりにベンダー提供のツールを使用する必要があります)。ip6tables
はIPv6ファイアウォールです...本当に?誰かがアドバイスしましたファイアウォールをオフにする?!?これは本当に彼らの信頼を地獄に吹き飛ばします。yum-updatesd
自動更新を提供します。これが不要な場合はオフにしますが、シナリオによっては便利です。また、最小限のインストールを行うには、@ aaireyのアドバイスに同意する必要があります。 CentOS 5では、これにはキックスタートファイルを使用する必要があります。 CentOS 6には、特別な最小限のインストールCDがあります。
特定のソフトウェアを無効化/アンインストールすることは、システムを強化するための完全に有効なアプローチですが、多くの場合、それはやり過ぎです。特に、自分のように、無効にするサービスがわからない場合はなおさらです。
より良いアプローチは、制限付きファイアウォールと組み合わせた最小限のインストールを使用することです。これはWebサーバーになるため、ルールセットの定義は非常に簡単です。
最小限のインストールを実行するには、CentOSインストーラーを実行し、役割を一覧表示する画面が表示されたら、すべてのチェックを外します。次に、「今すぐカスタマイズ」を選択します。
左側にさまざまなカテゴリ、右側にパッケージグループがある画面が表示されます。各カテゴリに目を通し、すべてのパッケージグループのチェックを外します。 Baseカテゴリで、オプションパッケージボタンをクリックします。私は通常、以下を除くすべてのチェックを外します。
インストールが完了して再起動したら、Webサーバーと状況に応じたその他の必要なパッケージ(httpd、PHP、MySQLなど)をインストールできます。 Yumは自動的に依存関係を解決し、選択したサービスが機能するために必要なパッケージのみをインストールする必要があります。
それが完了したら、必要なサービス(SSH、HTTP、HTTPS、SMTPアウトバウンドなど)のみを許可するようにiptablesルールを編集します。これを行う方法を説明するチュートリアルが多数あります。 この質問とその受け入れられた回答は良い出発点です。
SSHをブロックしないでください!サーバーへのコンソールアクセスがない場合は、SSHをブロックしないように注意してください。システムにアクセスできません。ファイアウォールルールを変更するときは、接続できることを確認するためだけに、既存の(動作中の)SSHセッションを閉じずに常に新しいSSHセッションを開きます。その確立されたセッションを終了すると、SSHがブロックされている場合は、パドルなしで小川を上っています。
最小限のインストールから始めましたか?そうでない場合は、anacron
のようなものが最初からインストールされていないので、そこから始めることをお勧めします。