누군가 내 서버에 며칠 전에 HTTP 다운로드가 있었는데 바이러스였을 수도 있다고 언급했습니다. 요청의 소스 IP/포트, 대상 IP/포트, 프로토콜, 시간, 길이 및 방법이 있습니다.
내 서버가 해킹되었을 수도 있지만 어떤 사용자와 어떤 프로그램이 HTTP 요청을 했는지 알고 싶습니다. 가능합니까? Linux는 나가는 모든 HTTP 요청을 기록합니까? 그렇지 않다면 위의 정보를 이용하여 찾을 수 있나요?
답변1
httpd 서버를 사용하는 경우 요청에 도움이 될 수 있는 http 로그가 있습니다.기준 치수더 나은 피드백을 제공할 수 있는 Apache mod_dumpio의 경우 요청 시 이 명령을 실행하여 현재 서버에서 http가 무엇을 요청하고 있는지 더 잘 파악하는 것이 좋습니다.
# tcpdump filter for HTTP GET
sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
# tcpdump filter for HTTP POST
sudo tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
# tcpdump for specific client
tcpdump -vvvnn port 80 and host ip_addr_of_client -i any