Unix: ファイルシステム上のサービス構成ファイルの場所

Unix: ファイルシステム上のサービス構成ファイルの場所

私は Solaris 10 ボックスを使用していますが、Linux ディストリビューションと比較すると、インストールされているツールとコマンドが限られています。さらに、grep や netstat などの使用できるツールには、同じオプションやフラグがありません。

調査したいポートで実行されているサービスがいくつかあります。たとえば、22 番以外のポートで実行されている SSH サーバーです。変更 (弱い暗号を無効にするなど) を行うために、構成ファイルを見つけられるようにしたいのですが、ファイル システム全体を検索しても、ポート 22 のデフォルトsshd.confの SSH サーバーの構成しか見つかりません。

このユニークなサービスの設定ファイルを見つける方法について、ヒントを教えていただけませんか。すでに「find / -name "sshd.conf"」やその他の可能なバリエーションを試しましたが、成功しませんでした。

次に試したいアプローチは、netstatやなどのツールを使用することですsvcs。 および を使用してサービスが実行されていることが分かります。nmap -p 5555 [ip]また、を使用してssh [ip] -p 5555サービスが listen していることも確認できますnetstat -an | grep "5555"。 ただし、 にリストされているサービスと一致させることはできません。 のサービスと一致させてを使用したsvcs -a場合(詳細については)、パラメータが読み取られる構成ファイルは表示されず、ログ ファイルのみが表示されます。svcs -asvcs -x [FMRI]

つまり、TL;DR: FMRI がわかっている場合、またはサービスを FMRI にマップできない場合、サービスの構成ファイルを見つけるにはどうすればよいでしょうか。おそらくもっと簡単に言えば、netstat の出力を使用して、デバイスでリッスンしている実際のサービスを特定するにはどうすればよいでしょうか。これは、セキュリティ監査などで頻繁に尋ねられると思います。

答え1

この場合はman sshd

それは次のことを伝えます:

 -f configuration_file

     Specifies  the  name  of  the  configuration  file.  The
     default  is  /etc/ssh/sshd_config. sshd refuses to start
     if there is no configuration file.

見てみると/etc/ssh/sshd_config構成が分かります。

他にどのようなオプションが利用可能か確認することもできますman sshd_config

一般的に、サービスの XML ソースは にあります/var/svc/manifest。そのsshうちの 1 つは です/var/svc/manifest/network/ssh.xml。現在の設定は で表示できますsvccfg export ssh

関連情報