A
내 방화벽은 내 우분투 웹 서버가 맬웨어와 관련이 있을 수 있다고 생각되는 도메인에 기록적인 DNS 요청을 하도록 표시했습니다 ..su
tcpdump
도메인 요청이 다시 나타날 때까지 며칠 동안 서버의 포트 53에서 이 작업을 수행했고(다운스트림 방화벽이 실제 URL을 기록하지 않았기 때문에) 이제 실제 도메인이 요청되었습니다 . 확인해 보니 몇 개의 RBL에 있지만 내 서버에서 이러한 특정 DNS 쿼리를 실행하는 항목이 무엇인지 알고 싶습니다.
데스크탑 환경이 아니라 명령줄 Ubuntu Server입니다. ISPConfig
주로 기본 웹 서버로 실행되므로 요청은 설치된 모든 항목에서 올 수 있습니다 . 어쩌면 OS나 구성 요소가 소유자의 업데이트 서버에 연결을 시도하고 들어오는 메일 등을 찾으려고 할 수도 있습니다. 그러나 이는 해당 도메인에 대한 요청 NS
만 A
기록할 뿐 아무 것도 기록하지 않습니다 MX
... TXT
정말 짜증나는 일입니다.
도메인을 찾기 위해 Bind를 호출하는 프로세스를 찾는 방법을 아시나요?
답변1
iptables
이것은 조잡하지만 패킷을 모니터링하고 lsof
쿼리 중인 포트에서 무엇이 사용되고 있는지 찾는 데 사용할 수 있습니다 .
기본적으로 다음과 같습니다.
iptables -I OUTPUT -p UDP --dport 53 -m string --algo bm --string foobar.su -j LOG --log-uid --log-prefix FOOBAR_MATCH
journalctl -t kernel -f | perl -ne '/FOOBAR_MATCH/ && /SPT=(\d+)/ && system("lsof -i udp:$1")'
^ foobar.su
보고 있는 내용으로 변경하세요.
시스템에 IPv6가 활성화되어 있으면 iptables
명령을 실행하고 다시 실행 해야 합니다 ip6tables
.
완료되면 iptables
명령을 다시 실행하되 대신 -D
규칙 -I
을 삭제하십시오.
--log-uid
규칙 에 대한 것은 선택 사항입니다. 어떤 이유로 프로세스를 캡처할 수 없는 iptables
경우에 대비해 포함시켰지만 잠재적으로 유용한 정보를 수집할 수 있습니다.lsof
요청을 삭제하려면 다른 iptables 규칙을 추가해야 할 수도 있습니다. 그렇지 않으면 애플리케이션이 응답을 받고 너무 빨리 사라져서 lsof
이를 포착할 수 없습니다.