저는 데비안 11 불스아이를 사용하고 있습니다. 특정 IP를 차단하기 위해 ufw 방화벽을 사용하려고 합니다. ufw 패키지를 설치했습니다. 그런 다음 몇 가지 간단한 규칙을 추가하고 다음을 통해 ufw를 시작했습니다.
sudo ufw enable
그런 다음 상태를 확인했습니다.
sudo ufw status verbose
그것은 나에게 규칙을 제공합니다. 또한 systemctl 명령을 사용하여 활성화했습니다.
sudo systemctl enable ufw
sudo systemctl start ufw
둘 다 성공하기도 했습니다.
하지만 시도해 보니 IP가 차단되지 않았으며 내 컴퓨터로 패키지를 보낼 수 있다는 사실을 발견했습니다. ufw가 제대로 작동하는지 확인하기 위해 tpc.googlesyndicate.com과 같은 알려진 광고 웹사이트의 IP를 사용했습니다.ping -c 1 tpc.googlesyndicate.com웹사이트의 IP를 찾으세요). ufw 규칙으로 추가했습니다sudo ufw xxxx에서 거부. 그러나 IP 소스가 내 컴퓨터로 패킷을 보내는 것을 확인했습니다(브라우저에 광고가 표시되어 있기 때문입니다). (사이트가 IP 주소를 변경하지 않도록 이 모든 작업을 짧은 시간에 수행했습니다.)
ufw가 작동하지 않고 들어오는 패킷을 차단하는 이유는 무엇입니까? 내가 뭘 잘못했나요?
답변1
실제로 아웃바운드 트래픽을 차단하려는 경우 원치 않는 인바운드 트래픽을 차단하는 규칙을 생성합니다.
컴퓨터가 연결을 시작했기 때문에 방화벽은 해당 상태를 아웃바운드 연결(사용자가 시작한 연결)과 관련된 설정/관련으로 간주하므로 원격 호스트에서 수신되는 후속 패킷을 차단하지 않습니다.
이 IP 주소에서 아웃바운드 트래픽을 차단해야 합니다.
sudo ufw deny out from any to x.x.x.x
그런 다음 ufw를 다시 로드하세요.sudo ufw reload
또한 인터넷의 많은 호스트에는 많은 수의 IP 주소가 할당되며 이러한 호스트에 대한 DNS 쿼리는 서로 다른 시간에 서로 다른 IP를 반환합니다. 따라서 차단한 개별 IP가 변경되어 트래픽이 다시 허용될 수 있습니다. 이 호스트 이름에 대한 DNS 요청을 차단하는 것이 좋습니다.
이 방법은 차단하려는 원격 호스트가 변경되지 않는 고정 IP 주소인 경우에 작동합니다.