최근에 Apache 서버 79.134.108.134에서 이상한 내부 연결이 나오는 것을 발견했습니다.
서버에 공개 tcp6 주소가 없습니다.
Apache 서버가 tcp6을 사용하여 포트 80에서 임의의 많은 수의 로컬/내부 포트에 연결하는 이유는 무엇입니까?
tcp6 0 0 79.134.108.134:80 79.134.108.134:42189 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42094 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42131 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42202 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42127 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42096 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42225 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42192 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42213 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42110 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42111 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42150 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42061 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 62.78.173.45:52132 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42132 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42179 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 78.27.124.85:50972 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42079 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 78.27.124.85:53132 FIN_WAIT2 -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42196 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42072 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42209 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42193 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42187 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42221 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42190 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42118 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42066 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 46.229.168.73:50922 TIME_WAIT -
tcp6 0 0 79.134.108.134:80 79.134.108.134:42210 TIME_WAIT -
답변1
Linux는 이제 거의 기본값으로 설정됩니다 tcp6
. 커널은 IPv6 및 IPv4 스택으로 시작하며 IPv4에만 바인딩하도록 서비스를 구성하거나 단계를 수행하지 않는 한 포트는 일반적으로 예약됩니다.둘 다IPv6 또는 IPv4의 경우.
따라서 IPv6 공용 주소를 구성하지 않는 이유는 결과가 표시되지 않기 때문이 아닙니다 tcp6
. 이 경우 netstat를 사용할 때 IPv4 및 IPv6 연결은 모두 tcp6으로 특성화됩니다.
연결 목록을 보면 모두 IPv4 주소를 사용하므로 IPv6 연결이 될 수 없음을 알 수 있습니다.
또한 권한이 없는 무작위 상위 주소(임시 포트라고 함)에서 서비스 포트(80/TCP - 이 경우 HTTP)로의 연결은 TCP 프로토콜이 작동하는 방식과 클라이언트가 사이트를 사용하는 방식과 거의 유사하므로 실제로는 놀랍지도 않습니다.
그러나 IP 주소 79.134.108.134에서 들어오는 연결 수가 더 걱정됩니다. 그러나 귀하의 사이트, 서비스 및 구현을 알지 못하면 이것이 정상적인 것인지, 폭주하는 프로세스, 애플리케이션 구현 또는 일부 잘못된 구성인지 확실하게 말할 수 없습니다.
어떤 페이지/서비스가 액세스되고 있는지, 존재하는지 확인하려면 Apache access.log 로그 파일을 살펴보는 것도 좋습니다. 이를 통해 연결의 성격에 대한 단서를 얻을 수 있습니다.
그래도 앞으로는 Apache에서 클라이언트를 제한하는 방법을 조사하고 해당 주제에 대해 질문할 가치가 있다고 제안하고 싶습니다.
관련 보기Apache 대신 로드 밸런서를 사용하여 특정 IP의 트랜잭션을 제한합니다.
iptables를 통해 ServerIP:Port에 대한 모든 요청을 차단하는 방법
Fail2Ban을 사용하여 ProxyPass(ed) 애플리케이션을 보호하는 방법
나는 빗나갔지만 TCP/IP 학습을 위한 최고의 참고서적도 추천합니다.https://www.amazon.com/TCP-Illustration-Protocols-Addison-Wesley-Professional/dp/0321336313
추신: 경험이 풍부한 컨설턴트/시스템 관리자를 고용하는 것을 고려해 보겠습니다.