web-dev-qa-db-ja.com

CVE-2017-7494 Sambaリモート呼び出し。 SambaがUbuntuサーバーで実行されているかどうかを確認するにはどうすればよいですか?

私のサーバーはUbuntuです。 Sambaが誤ってインストールされたかどうかを知りたい。次のコマンドは正しいですか?

Sambaがインストールされていないようです。

$ samba --version
The program 'samba' is currently not installed. You can install it by typing:

$ ps -ef | grep smb
(empty)
4
zono

インストールされていないようです。最終チェックとして何がインストールされているかについて、パッケージマネージャーに確認してください。しかし、インストールされていないように見えます。

次を使用して実行可能ファイルを検索することもできます

find / -executable -name samba
7
ISMSDEV

他の答えは間違いなく便利ですが、あなたが求めたものには正確には答えていません...つまり、Sambaがrunningかどうか、しかしSambaかどうか(残っている可能性のあるディスク上のファイルを確認することにより)またはSambaがシステムの知識でインストールされているかどうか、常にそうであるとは限りません。

dpkg will not Sambaがインストールされているかどうかを通知します。 dpkg/aptを使用してインストールされたかどうかがわかります。たとえば、tarballを使用してSambaを最初からインストールする場合、Ubuntuインストールシステム全体は、Sambaが稼働している場合でも、Sambaがインストールされたことを認識していないことを忠実に通知します。

Sambaがインストールされていることを確認するには、実際にsambaを実行してみます。

smbd -V

インストールされている場合(実行されていなくても)、そのバージョンが報告されます。

同じチェックはSambaスイートのclientの部分でも実行できます。これは必ずしもサーバーにインストールされているとは限りません。

smbclient --version

ファイルシステムのサポートのために、念のため、mount.cifs -V代わりに。厳密に言うと、これはSambaではなくCIFSサポートです。

Sambaプログラムがrunningであるかどうかを確認するには、Sambaスイートの実行中のプロセス(smbd、nmbd、winbind)を確認します。

Sudo ps waux | grep "[sn]mbd"

これは、プログラムが実行されていない場合は何も返さないか、Sambaスイートの一部のプロセスのリストを返します。

root     23942  0.0  0.3 299100 15176 ?        Ss   May24   0:00 /usr/sbin/smbd -D
root     23943  0.0  0.1 298532  4744 ?        S    May24   0:00 /usr/sbin/smbd -D
root     23944  0.0  0.1 298556  7408 ?        S    May24   0:00 /usr/sbin/smbd -D
root     23946  0.0  0.2 299092  9504 ?        S    May24   0:00 /usr/sbin/smbd -D

または、ポートをリッスンしているかどうかを確認できます。

Sudo netstat -nap | grep "[sn]mbd"

これは、プロセスが実行されていない場合は何も返さないか、プロセスがリッスンしているポートを通知します。

tcp        0      0 192.168.2.200:445       0.0.0.0:*               LISTEN      23942/smbd
tcp        0      0 192.168.2.200:139       0.0.0.0:*               LISTEN      23942/smbd

上記では、たとえば、私のsmbdはすべて(0.0.0.0)のリモートアドレスでリッスンしています。

別の方法は、チェックすることですSambaの場所で何かがリッスンしているかどうか TCPポート139および445:

Sudo fuser -n tcp 139

これは何も返さない(プログラムが実行されていない)か、実行中のプロセスのPIDを返します。

139/tcp:             23942
8
LSerni

$ dpkg -L sambaで確認できます

6
hailinzeng

パッケージsambaがUbuntuにインストールされているかどうかを確認するには、次のコマンドを使用できます。

dpkg -s samba | grep Status

パッケージsambaが提供するすべてのファイルを見つけるには:

dpkg -L samba

aptの使用:

apt-cache policy samba

出力例:

samba:
Installed: (none)
1
GAD3R