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.