Linux で不要なサービスを無効化および削除する方法
RHEL 9をインストールするシステムには、軽量かつ安全なシステムを維持するために、最小限のパッケージとサービスがプリインストールされています。
ただし、時間が経つにつれて、新しいパッケージやサービスをインストールすると、システムが肥大化し、セキュリティの脅威に対して脆弱になる可能性があります。
この記事では、不要なサービスやパッケージを無効にして削除する方法について説明します。 RHELベースのディストリビューション のような ロッキーリナックス、 アルマリナックス、 そして フェドーラシステムの安全性と機能性が維持されます。
新しくインストールした レッドヘル 例えば、小規模なウェブサイトをホストするシステム アパッチ または エンギンクス、またはネットワークサービスを提供するために ドメイン名、 DHCPサーバー、 PXEブート、 FTP サーバーなど、または実行を必要としないその他のサービス Postifx MTA、 カップ そして アヴァヒ デーモンなら、なぜこれらの不要なデーモンをサーバーにインストールしたり、実行したりしたままにしておく必要があるのでしょうか。
最小限のインストールを実行した後、サーバーが実際に実行するために必要な主な外部サービスは、 SSHデーモンシステムへのリモートログインを許可し、場合によっては、 NTPA の サービス、正確に サーバーの内部時計を同期する 外部 NTP サーバーを使用します。
便利なシステムユーティリティのインストール
インストールが完了したら、 根 アカウントまたは ルート権限を持つユーザー システムアップデートを実行して、すべてのパッケージとセキュリティパッチがシステムに適用された最新の状態であることを確認します。
yum update -y yum upgrade y
次のステップは、次のような便利なシステムユーティリティをインストールすることです。 ネットツール (このパッケージは古いですが、良い ifconfig コマンド)、 ナノテキストエディタ、 ファイルのダウンロードにはwgetを使用する そして URL転送用のcurl、 lsof (開いているファイルを一覧表示する) bash 補完、入力したコマンドを自動補完します。
yum install nano bash-completion net-tools wget curl lsof
Linux で不要なサービスを無効化して削除する
これで、プリインストールされている不要なサービスを無効化および削除できますが、その前に、システム上で有効になっていて実行中のすべてのサービスのリストを取得する必要があります。
有効なサービスの確認
サービスを無効にする前に、システム上で現在有効になっているサービスを確認することが重要です。
systemctl list-unit-files --type=service --state=enabled
無効にするサービスをメモしておきます。
不要なサービスの特定
無効にする前に 不要なサービスを削除する、どのサービスが必要で、どのサービスを安全に無効にできるかを特定する必要があります。
これを行う 1 つの方法は、有効なサービスのリストを調べ、その説明を調べて、そのサービスが何を行うかを判断することです。
たとえば、次のコマンドは、有効になっているすべてのサービスとその説明のリストを表示します。
systemctl list-unit-files --type=service --all --no-pager
次に、各サービスの説明を調べて、システムに必要かどうかを判断できます。
もう一つのアプローチは、次のようなツールを使うことです。 システム分析 システムの起動時間を分析し、システムの速度を低下させているサービスを特定します。 ブートプロセス。
systemd-analyze systemd-analyze blame
上記のコマンドは、初期化にかかった時間順に並べられた、実行中のすべての systemd ユニット (サービス) のリストを表示します。
システムの動作に重要ではなく、起動プロセスを遅くしているサービスは、多くの場合、安全に無効にすることができます。
不要なサービスを無効にする
重要ではなく、起動時間を遅くしている可能性のあるサービスを特定したら、次のコマンドを使用してそのサービスを無効にして停止できます。
sudo systemctl disable sudo systemctl stop
無効化または削除する必要があるサービスは特定のユースケースによって異なりますが、RHEL の最小インストールで無効化または削除することを検討する必要がある一般的なサービスがいくつかあります。
ポストフィックス
ポストフィックス は メール転送エージェント (インド) は、システム上で電子メールを送受信するために使用されます。システムを電子メールに使用していない場合は、このサービスを無効にして削除できます。
sudo systemctl stop postfix sudo systemctl disable postfix sudo yum remove postfix
アヴァヒ
アヴァヒ ゼロ構成ネットワーキングに使用されるサービスであり、デバイスが同じネットワーク上で相互に検出して通信できるようにします。
この機能が必要ない場合は、 avahi サービスを無効化して削除する。
sudo systemctl stop avahi-daemon.socket sudo systemctl disable avahi-daemon.socket sudo yum remove avahi-autoipd avahi-libs avahi-tools
カップ
の カップ サービスは印刷に使用されます。システムで印刷機能が必要ない場合は、無効にして停止することができます。
sudo systemctl disable cups sudo systemctl stop cups suod yum remove cups
不要なサービスの削除
不要なサービスを削除するだけでなく、不要になったパッケージも削除する必要があります。使用されていないパッケージはディスク領域を占有し、セキュリティ上の脆弱性を引き起こす可能性があります。
まず、インストールされているパッケージを一覧表示して、不要なサービスに関連付けられているパッケージを特定します。
rpm -qa
特定のサービスを提供するパッケージを確認するには、次のコマンドを使用します。
rpm -qf /usr/lib/systemd/system/.service
パッケージとそれに関連するファイルを削除するには、を使用します。
sudo yum remove
サービスの無効化と削除に関するベストプラクティス
サービスを無効化したり削除したりするときは、システムの安全性と機能性を維持するためにベスト プラクティスに従うことが重要です。
従うべきガイドラインをいくつか示します。
- サービスを削除する前に、バックグラウンドで実行されないように無効にしてください。これは、
systemctl disable
指示。 - 現在のセッションでサービスが実行されないようにするには、サービスを停止します。
systemctl stop
指示。 - 不要になったパッケージを削除する ディスクスペースを解放する セキュリティの脆弱性を減らすには、
yum remove
指示。 - サービスを無効化または削除した後は、systemdデーモンを更新して変更が有効になっていることを確認します。これは、
systemctl daemon-reload
指示。 - サービスを削除した後、まだ実行されている可能性のあるゴーストサービスがないか確認します。これは、
systemctl list-units
指示。
結論
不要なサービスやパッケージを無効化して削除する レッドヘル システムのセキュリティとパフォーマンスを維持するために不可欠なステップです。
この記事で概説した手順に従うことで、システムの安全性と機能性を維持できます。サービスを無効化および削除するときは常にベスト プラクティスに従い、パッケージを削除するときは潜在的なセキュリティの脆弱性を回避するために注意してください。
Hope this help!