
当社では、TrueNAS-13.0-U5.3 を実行している TrueNAS システムを使用しています。このシステムは Active Directory にバインドされており、SMB ファイル共有専用に使用されています。最近、SMB サービスの品質が低下するという定期的なイベントが発生しています。パフォーマンスが低下し、サービスが新しい接続を受け入れなくなります。SMB サービスを停止して再起動すると、問題は一時的に解決されます。
これらのイベント中、/var/log/messages
以下に示すようなメッセージが含まれます。
Sep 15 11:03:28 FS.example.lan kernel: pid 41336 (smbd), jid 0, uid 0: exited on signal 6
Sep 15 11:03:28 FS.example.lan kernel: pid 42956 (smbd), jid 0, uid 0: exited on signal 6
Sep 15 11:03:28 FS.example.lan kernel: pid 90877 (smbd), jid 0, uid 0: exited on signal 6
調査してみると、var/log/samba4/log.smbd
ゲスト ユーザーによる認証試行が大量に発生しているようです。たとえば、今日 2 時間の間に、このサーバーの 5 つの共有で約 10,000 件の試行が発生しています。ゲスト アクセスはどの共有でも許可されていません。
[2023/09/15 11:22:38.582960, 1] ../../source3/smbd/service.c:399(create_connection_session_info)
create_connection_session_info: guest user (from session setup) not permitted to access this share (exampleshare)
[2023/09/15 11:22:38.583037, 1] ../../source3/smbd/service.c:588(make_connection_snum)
create_connection_session_info failed: NT_STATUS_ACCESS_DENIED
[2023/09/15 11:22:38.589570, 1] ../../source3/smbd/service.c:399(create_connection_session_info)
create_connection_session_info: guest user (from session setup) not permitted to access this share (exampleshare)
ネットワーク上には、macOS、Windows、Linux が混在する約 300 台のクライアント コンピューターがあります。
私の質問は次のとおりです:
- ゲスト認証要求の発信元デバイスのソース IP またはホスト名を特定する方法はありますか?
- これらの観察を説明できるような通常の活動はあるでしょうか?
答え1
私は個人的に TrueNAS OS を使用したことはありませんが、SSH で接続する際に問題はないようで、tcpdump もサポートされています。したがって、SMB トラフィックをパケット キャプチャでトラップし、問題なくこの情報を確認できるはずです。
tcpdump -W 10 -C 50 -w smb.pcap -s 0 port 445
上記は、SMB トラフィック パケットを具体的には rng バッファーにキャプチャします。-W と -C の値は (-W は保持するファイル数) と (-C は保持する MB 単位のサイズ) です。ファイルは順番に番号付けされ、FIFO で操作され、必要なトラフィックを捕捉するために必要に応じて調整されます。このサンプルは 10x50Mb を取得するため、500Mb のキャプチャになります。通常の SMB 負荷とサンプルをライブで取得するのにかかる時間に応じて、1000 x 100 にして 100Gb を簡単に取得できます。
後続のファイルをWiresharkで開くと、SMBサーバーとの通信、認証しようとしているもの、その通信元のIP/MAC(MACはデバイスの識別にも役立つ場合があります)を確認できます。もしDNS ルックアップを実行させると、システム名がわかる場合もあります。ただし、有効にすると大量のリソースが消費され、処理が遅くなる可能性があるので注意してください。