소개 #
SSL 서비스는 점점 더 중요해지고 있으며 최신 TLS 프로토콜 버전과 보안 암호를 사용하고 있는지 확인해야 합니다. 그러나 우리 서비스에 다양한 종류의 장치를 사용하는 다양한 유형의 클라이언트가 있는 실제 생활에서는 보안 서비스에 대한 연결을 보장해야 합니다.
따라서 어떤 클라이언트가 SSL 서비스에 연결하고 있는지(또는 연결을 시도하고 있는지) 식별하는 것이 유용할 수 있습니다. 그런 경우에는 도구를 사용하면 됩니다. TCP 덤프 로드 밸런서 또는 Linux 서버의 경우.
SSL 필터로 tcpdump 실행 #
명령 TCP 덤프 로드 밸런서 또는 Linux 서버에서는 TCP 필드별로 필터링할 수 있으므로 12번째 위치에 있는 SSL 패킷의 버전 번호에 따라 바이트를 일치시켜야 합니다. 또한 SSLv2, SSLv3, TLS1.0 또는 TLS1.1에 대해 서로 다른 위치를 찾을 수 있으므로 여러 필터의 구성을 사용해야 합니다.
root@noid-ee-01:~$ tcpdump -i any -n "(((tcp[((tcp[12] & 0xf0) >> 2)] = 0x14) || (tcp[((tcp[12] & 0xf0) >> 2)] = 0x15) || (tcp[((tcp[12] & 0xf0) >> 2)] = 0x17)) && (tcp[((tcp[12] & 0xf0) >> 2 )+1] = 0x03 && (tcp[((tcp[12] & 0xf0) >> 2)+2] < 0x03))) || (tcp[((tcp[12] & 0xf0) >> 2)] = 0x16) && (tcp[((tcp[12] & 0xf0) >> 2)+1] = 0x03) && (tcp[((tcp[12] & 0xf0) >> 2)+9] = 0x03) && (tcp[((tcp[12] & 0xf0) >> 2)+10] < 0x03) || (((tcp[((tcp[12] & 0xf0) >> 2)] < 0x14) || (tcp [((tcp[12] & 0xf0) >> 2)] > 0x18)) && (tcp[((tcp[12] & 0xf0) >> 2)+3] = 0x00) && (tcp[((tcp[ 12] & 0xf0) >> 2)+4] = 0x02))"
명령은 Crtl+C를 사용하여 명령을 수동으로 취소할 때까지 대기합니다.
SSL 필터 테스트 #
특정 SSL 프로토콜을 사용하는 서버에 대해 SSL 연결을 테스트하려면 다음을 사용할 수 있습니다. 하려면 openssl 성공적인 연결과 함께 아래 표시된 것처럼 클라이언트 측에서.
client:~$ openssl s_client -connect 192.168.56.10:443 -tls1 CONNECTED(00000003) [...] --- 인증서 체인 [...] --- 서버 인증서 -----인증서 시작---- - MIID8DCCAtigAwIBAgIJAJ22cPNVcSZYMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYD VQQGEwJFUzEOMAwGA1UECAwFU3BhaW4xDjAMBgNVBAcMBVNwYWluMRMwEQYDVQQK DApaZXZlbmV0IFNMMRswGQYDVQQLDBJUZ WxlY29tbXVuaWNhdGlvbnMxCjAIBgNV [...]
원하는 서버와 포트를 변경해야 합니다. 또한 매개변수를 변경할 수도 있습니다. -tls1 원하는 프로토콜을 사용하려면
결과 해석하기 #
서버 측에서는 다음과 같은 내용을 볼 수 있습니다.
root@noid-ee-01:~$ tcpdump [...] tcpdump: 자세한 출력 억제, 전체 프로토콜 디코드 수신을 위해 -v 또는 -vv 사용, 링크 유형 LINUX_SLL(Linux 요리), 캡처 크기 262144바이트 12 :20:46.984131 IP 192.168.56.1.58286 > 192.168.56.10.444: 플래그 [P.], seq 1580373103:1580373207, ack 4195613909, win 502, 길이 104 12:20:46.988648 IP 192.168.56.10.444 > 192.168.56.1.58286: 플래그 seq 1:1414, 확인 104, 승리 29, 길이 1413 [...]
IP 주소 192.168.56.1 서비스에 대한 안전하지 않은 연결로 감지되었습니다. 192.168.56.10.444 서버에서.