tcpdump는 iptable을 우회합니까?

tcpdump는 iptable을 우회합니까?

제가 실수로 공개 리졸버 DNS 서버를 설정했는데, 이는 곧 러시아에서 시작되거나 러시아로 향하는 수많은 DDoS 공격에 사용되었습니다. 이러한 이유로 신뢰할 수 있는 IP를 제외한 모든 사람에 대해 두 DNS 서버 모두에서 포트 53을 완전히 차단했습니다. 더 이상 연결할 수 없다는 점에서 작동하지만 이상하게 보이는 것은 tcpdump를 실행할 때 eth1(공용 인터넷이 있는 서버의 인터페이스) 공격자로부터 포트 53으로 들어오는 패킷이 많이 있다는 것입니다. .

iptables가 패킷을 삭제하더라도 tcpdump가 이러한 패킷을 표시하는 것이 정상입니까? 아니면 iptables를 잘못 구성한 걸까요?

반면에 이전에 보았던 것처럼 내 서버에서 나가는 패킷이 표시되지 않으므로 방화벽이 작동하는 것 같습니다. 커널이 패킷을 완전히 삭제하지 않는다는 것이 놀랍습니다. 아니면 tcpdump패킷이 iptables에 도달하기 전에도 패킷을 볼 수 있도록 커널에 연결되어 있습니까?

답변1

이것은 좋은 질문입니다.

실제로,tcpdump도중에 유선(및 NIC) 이후에 발견된 첫 번째 소프트웨어입니다.안에, 그리고 가는 길에 마지막으로밖으로.

Wire -> NIC -> tcpdump -> netfilter/iptables

iptables -> tcpdump -> NIC -> Wire

따라서 인터페이스에 도달하는 모든 패킷과 인터페이스에서 나가는 모든 패킷을 볼 수 있습니다. tcpdump에서 알 수 있듯이 포트 53에 대한 패킷은 응답을 받지 못하므로 iptables 규칙이 올바르게 구성되었음을 성공적으로 확인한 것입니다.

편집하다

아마도 몇 가지 세부 사항을 추가해야 할 것 같습니다.tcpdump기반으로libpcap, 생성하는 라이브러리패킷 소켓. 네트워크 스택에 일반 패킷이 수신되면 커널은첫 번째새로 도착한 패킷에 관심 있는 패킷 소켓이 있는지 확인하고, 있으면 해당 패킷 소켓으로 패킷을 전달합니다. 옵션인 경우ETH_P_ALL선택되면모두프로토콜은 패킷 소켓을 통과합니다.

libpcap옵션이 활성화된 패킷 소켓 하나를 구현하고 자체 사용을 위해 복사본을 유지하며 패킷을 네트워크 스택에 다시 복제합니다. 여기서 패킷은 먼저 전달하는 것을 포함하여 일반적인 방식으로 커널에 의해 처리됩니다.넷필터, 커널 공간 대응물iptables. 같은 것, 역순으로(, 첫 번째 넷필터, 그 다음 마지막으로 패킷 소켓을 통과하는 통로), 나가는 길.

해킹되기 쉬운가요? 하지만 물론. 확실히 다음을 사용하는 개념 증명 루트킷이 있습니다.libpcap루트킷으로 향하는 통신을 가로채기 위해~ 전에방화벽이 그들에게 손을 얹을 수 있습니다. 그러나 이조차도 간단한 Google 검색으로 찾아낸 사실과 비교하면 아무것도 아닙니다.일하고 있는트래픽을 숨기는 코드libpcap. 그럼에도 불구하고 대부분의 전문가들은 네트워크 패킷 필터를 디버깅할 때 장점이 단점보다 훨씬 더 크다고 생각합니다.

답변2

오늘은 패킷분석 연습을 했습니다. 특히 IPsec과 tcpdump. 그래서 태핑과 패킷 흐름의 관계에 대해 설명하는 이 웹페이지를 찾았습니다. 혼란을 해결하는데 도움이 될 것 같습니다.

그림 9: ICMP 에코 요청 h1 → h2, r1 통과, 암호화+캡슐화: 그림 9

원천:Nftables - Netfilter 및 VPN/IPsec 패킷 흐름

관련 정보