ufw를 사용하여 웹 페이지를 차단할 수 있습니까?


8

기본적으로 나는 두 개의 기계 X와 Y가 있습니다.

ufw를 사용하여 HTTP 포트 80의 시스템 X에서 "http : // <IP-of-Y-Here> / AFolder /"를 차단하고 싶습니다.

사소하게, 이것은 다음을 통해 ufw를 사용하여 (완전히) 완료 될 수 있습니다.

sudo ufw deny out 80

그러나 다음 라인을 따라 뭔가를 할 수 있습니까?

ufw deny from (X IP ADDRESS) port 80 to (Y IP ADDRESS)/AFolder

내 요구 사항을 충족합니까?

답변:


6

아니요, ufw를 사용하여 웹 서버의 특정 페이지에 대한 액세스를 차단할 수는 없지만 다른 페이지는 액세스 할 수 없습니다.

ufw는 Linux 커널에 내장 된 netfilter 방화벽 iptables을 제어 하는 프론트 엔드입니다 . 이것은 일반적인 방화벽입니다. 방화벽을 사용하여 헤더를 기반으로 패킷을 필터링 할 수 있습니다.

IP 주소와 포트는 패킷의 헤더에 포함되어 있지만 검색되는 웹 문서 는 없습니다. 대신이 정보는 연결이 설정된 후 패킷 본문으로 전송됩니다.

아시다시피, 특정 웹 사이트에 대한 액세스를 차단할 수 있으며 (보통 누군가가 블록을 우회하는 것이 매우 쉽지만), 특정 페이지를 차단하는 동시에 세부적인 페이지를 차단하고 다른 페이지에 대한 액세스를 허용하는 유틸리티가 있습니다. 같은 서버. 그러나 당신이 요구 한 것을 해결하기 위해 : ufw는 이것을하지 않을 것입니다.


6

을 사용하여 서버의 포트에 대한 액세스를 차단할 수 있습니다 ufw. man ufw예제의 전체 뗏목이 있지만 활성화되어 있다고 가정하면 다음과 같아야합니다.

sudo ufw deny out to <<ip address>> port 80

방금 내 서버에서 이것을 테스트했으며 작동합니다. 포트 443은 SSL에도 사용되므로 블로킹을 원할 수도 있습니다.

이 서버에서 포트 80 전체를 차단합니다.


하위 폴더를 기반으로 필터링을 시작하려면 (일부 경로는 허용하지만 다른 경로는 허용하지 않음) 요청을 프록시하는 것이 필요합니다. 방화벽은 내용을 보지 않고 연결을 보았습니다. 방화벽에서 / subfolder에 대한 요청은 / a-different-subfolder에 대한 요청과 동일합니다.

그래서 당신이 찾고있는 것은 트래픽의 일부를 속일 수있는 투명한 프록시입니다. 보호자 통제 소프트웨어는 빠른 설정에 가장 적합한 방법 일 것입니다. 같은 뭔가가 dansguardian확실히 인기가 사용 나는 탐험을 보증 말할 것입니다. 자세한 정보는 위키에서 사용 가능합니다.


간단하고 완벽합니다. 16.04에서 테스트
Sam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.