
우리는 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
위의 내용은 특히 rng 버퍼에서 SMB 트래픽 패킷을 캡처합니다. -W 및 -C 값은 (-W 보관할 파일 수) 및 (-C 보관할 크기(MB)) 파일은 순차적으로 번호가 지정됩니다. FIFO를 작동하고 필요에 따라 조정하여 필요한 트래픽을 포착하세요. 해당 샘플은 10x50Mb를 얻으므로 500Mb의 캡처가 가능합니다. 쉽게 1000 x 100으로 만들고 100Gb를 얻을 수 있습니다. 이는 일반 SMB 로드와 샘플을 라이브로 가져오는 데 걸리는 시간에 따라 다릅니다.
Wireshark에서 후속 파일을 열면 SMB 서버에 대한 대화, 인증을 시도하는 내용, 해당 IP/MAC(MAC는 때때로 장치 ID에도 도움이 됨)를 볼 수 있습니다.만약에DNS 조회를 수행하면 시스템 이름을 알 수도 있습니다. 하지만 활성화하면 리소스를 많이 소모하고 속도가 느려질 수 있다는 경고입니다.