특정 IP만 허용하도록 OpenBSD에서 /etc/host.allow를 어떻게 구성해야 합니까?

특정 IP만 허용하도록 OpenBSD에서 /etc/host.allow를 어떻게 구성해야 합니까?

저는 정적 HTML 기반 웹사이트를 실행하는 OpenBSD 5.1 컴퓨터를 가지고 있습니다.

허용하려는 IP 주소 목록이 있습니다. 예를 들면 다음과 같습니다.

...
78.128.49.0/24
78.128.50.0/24
...

약 10KB. ~10,000줄. 서버(httpd, ssh 등 모든 것, 사용하지 않는 포트)에 연결하지 않고 이러한 IP 주소를 허용하고 싶습니다.

묻다:host.allow/host.deny 파일에서 이를 수행하는 가장 좋은 구문은 무엇입니까? (내가 아는 한 10,000개의 IP 주소 범위를 파일에 넣은 다음 방화벽에 넣어 두는 것이 더 좋습니다..)

답변1

OpenBSD 구현의 경우 tcpwrappers각 주소에 대해 10,000개의 항목을 포함해야 하며 /etc/hosts.allow이는 매우 빨리 다루기 어려워질 것입니다.

ALL : ... 78.128.49.0/24 78.128.50.0/24 ... : deny

악몽이 되기 위해 많이 줄을 설 필요가 없습니다. 주소는 공백이나 쉼표 또는 둘 다로 구분됩니다.

이를 pf구성하고 실행 중인 경우 주소 파일의 내용으로 테이블을 채우는 것이 더 쉬울 수 있습니다.

table <blockthese> persist file /etc/list-of-addresses-to-block

block in log quick on $ext_if from <blockthese> to any

테이블 조회는 pf빠르고 메모리 사용량 측면에서 테이블은 매우 효율적입니다. 따라서 오래된 시스템의 RAM 용량이 매우 제한되어 있지 않는 한 이 방법은 잘 작동할 것입니다. 이는 제가 여러 시스템에서 사용한 전략입니다. FreeBSD 호스트이며 매우 잘 작동합니다.

관련 정보