lsofでプロセスを調べ、yumでパッケージを特定、削除する

lsofでプロセスを調べ、yumでパッケージを特定、削除する

   特定のポートで待ち受けているプロセスが何かは、lsofコマンドを用いることで調査できます。ポート25番で待ち受けているプロセスと、そのプロセスが何のパッケージに依存しているか? を調べてみましょう。

   root権限で「lsof -i [ポート番号]」と実行することで、どのプロセスがそのポート番号を使っているかを特定できます。また、ポート番号の前に「TCP:」や「UDP:」と付 加することで、TCPもしくはUDPに限定して調べることもできます。ここではTCPのポート番号25を使っているプロセスということで、リスト16のよ うな結果が得られました。これで、sendmailコマンドが当該ポートで待ち受けを行っていることがわかります。

リスト16:ポート25番での接続待ちプロセスを調べる

ポート25番での接続待ちプロセスを調べる
(画像をクリックすると別ウィンドウに拡大図を表示します)

   それでは次に、sendmailコマンドは何のパッケージに属してるのかを調べましょう。これは、yumコマンドのwhatprovidesサブコ マンドを使うことで特定可能です。出力結果はいささか冗長なので、インストールされているパッケージを特定するために、grepで「installed」 という文字列を探してみましょう(リスト17)。

リスト17:sendmailが属するパッケージを調べる

sendmailが属するパッケージを調べる
(画像をクリックすると別ウィンドウに拡大図を表示します)

   logwatch.noarchは、出力されたログを監視するためのパッケージなので、はずさなくても外部待ち受けを行うものを何とかするという観点からは支障はありません。このため、sendmail.i386のみを削除する対象とします。

   このようにして、すべてのポートについて関連するパッケージまでを調査していくと、今回除外するものは以下のようになります。


  • sendmail.i386
  • portmap.i386
  • nfs-utils.i386
  • cups.i386
表12:除外するもの

   上記の作業において、dhclient.i386も特定されますが、環境によってはこのパッケージが必要なこともあるので、あえて削除はしません。

   それでは、これらのパッケージを削除してみましょう。これには、yumのremoveサブコマンドを用います。例えば、sendmail.i386 を削除する際には、「yum remove sendmail.i386」として実行します。パッケージ名には、複数パッケージを指定することも可能です。ここでは、上記のパッケージをすべて指定し て削除してみましょう(リスト18)。

リスト18:パッケージを削除

パッケージを削除
(画像をクリックすると別ウィンドウに拡大図を表示します)

   最終的に、削除されるパッケージおよび、依存関係上削除されるパッケージの両方が表示されます。問題なければ、「y」と指定して削除しましょう。削除した後のプロセスの状態は、リスト19のとおりになります。

リスト19:パッケージを削除した後のプロセス

パッケージを削除した後のプロセス
(画像をクリックすると別ウィンドウに拡大図を表示します)

   基本的にこれで問題ないと思えばそれでいいのですが、いくつか「これ何?」というようなプロセスもあります。そういうものの中からさらに、明らかに不要と思われるものを消していきます。筆者の場合は、以下のような感じで不要と思えるものを特定しています。

   上記プロセスの中で、筆者の主観ではありますが、「XenのDomain-0上で動作するもの」として、明らかに不要と思えるものは以下のとおりです。


  • ネットワークサービスは使わないので、xinetdは不要
  • Xは使わないので、xfsは不要
  • マウスは使わないので、gpmは不要
  • 電力制御は使わないので、acpidは不要
表13:Domain-0上で動作するもので不要なもの

   その他は、以下のようになります。


  • 固定IPアドレスを割り当てれば、dhclientも不要
表14:他に不要なもの

   なお、D-BUS関連のパッケージは、削除した際に影響が大きいと判断したため、削除はしていません。

   とはいえ、これだけ削れば充分か? と言われると、そうともいえません。ほかに(不要でも)インストールされているものは多くあります。例えば、ここでは動作していませんが、Sambaがイ ンストールされています。こういったものも(必要に応じて)削除していくとよいでしょう。

   ここまでの作業を実施することで、「最小限のネットワークサービス」および「最小限のプロセス」が動作している状態を作り出すことが可能になります。

SSHサーバーとiptablesの設定を実施する

   SSHサーバーは、設定を確認の上で、sargeで掲げたのと同様のポリシーで動作するようにします。iptablesについては、インストール時 の設定だけだと細かい制限ができません。このため、/etc/sysconfig/iptablesファイルに対して自分で手を入れる必要があります。

   sargeの節で提示したルールを適用するか、インストール時に自動的に作成されたルール(/etc/sysconfig/iptablesファイ ルに保存されている)について、ICMPプロトコルの部分を細かく設定してやる必要があります。もちろん、sargeのところで述べたルールをそのまま適 用してもかまいません。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30