주의: 다음의 제안은 단지 제안일 뿐입니다. 각각 방화벽의 요구 사항은 다르고 여러분의 특정한 요구 사항에 맞는 방화벽을 만드는 방법은 이야기할 수 없습니다.
처음 방화벽을 설정할 때에는 제어되는 환경에서 방화벽 호스트를 설정할 수 있는 시험 벤치마크를 하지 않았다면 명령 기록을 사용하고 커널의 기록 기능을 사용하기를 강력하게 권장합니다. 이렇게 하면 문제 영역을 빠르게 찾아낼 수 있으며 큰 혼란 없이 문제를 해결할 수 있습니다. 초기 설정 단계가 끝난 뒤에도 `거부'를 기록하는 것을 권장합니다. 이는 가능한 공격을 추적할 수 있도록 하며 요구사항이 바뀌는 경우 방화벽 규칙을 바꿀 수 있도록 합니다.
주의:
accept명령의 기록 버전을 사용하면, 방화벽을 지나가는
모든 패킷에 대해 기록이 남으므로 많은 양의 기록 데이터가
만들어질 수 있습니다. 따라서 큰 ftp/http 전송 등에서는 실제로
시스템을 느리게 만들 수 있습니다. 또한 패킷이 지나가기 전에 커널이
해야 할 일이 많아지므로 그런 패킷에 대한 처리시간이 늘어납니다.
syslogd는 모든 데이터를 디스크에 기록하므로 더 많은 프로세서
시간을 쓰고, /var/log가 있는 파티션이 쉽게 가득찰 수
있습니다.
현재 FreeBSD는 방화벽 규칙을 부팅 시에 읽어들일 수 있는
기능을 제공하지 않습니다. 제 제안은 /etc/netstart
스크립트에 호출하는 부분을 넣는 것입니다. netstart 파일 앞부분에
호출부를 놓아두면 IP 인터페이스가 설정되기 전에 방화벽이
설정되도록 합니다. 이는 여러분의 네트워크가 열리는 동안의
창이 없다는 것입니다(역주: 네트워크 설정과 방화벽 사이의
무방비 상태의 시간이 없어진다는 뜻).
규칙을 읽어들이는 실제 스크립트는 전적으로 여러분에게 달려 있습니다.
ipfw 유틸리티에는 현재 한 명령으로 여러개의 규칙을 읽어들이는
방법이 없습니다. 제가 사용하는 시스템에서는
현재 규칙을 파일로 출력하기 위해 다음 명령을 사용합니다:
# ipfw list
그리고서 텍스트 편집기를 사용하여 모든 행 앞에 ``ipfw ''
을 붙입니다. 이 스크립트는 가 /bin/sh에게 전달되어 커널의 규칙을
재설정하는데 사용할 수 있습니다. 아마 가장 효율적은 아니겠지만,
동작합니다.
다음 문제는 여러분의 방화벽이 실제로 어떻게 하고 있는가입니다! 이는 대체적으로 여러분이 밖에서 들어오는 어떤 접근을 허용하는지, 내부에서 밖으로 가는 접근은 얼마나 허용하는지에 달려 있습니다. 일반적인 규칙 몇가지는 다음과 같습니다:
xhost +를 하는
습관이 있다면). X11은 실제로 6000부터 시작하는 영역의 포트를 사용할 수
있으며, 상한은 여러분의 기계에서 얼마나 많은 X 디스플레이를 사용하는지에
따라 다릅니다. RFC 1700 (포트 번호 할당)에서 정의하는 상한은
6063입니다.
방화벽 설정에 대한 또 다른 검사 목록은 CERT의 ftp://ftp.cert.org/pub/tech_tips/packet_filtering 에서 볼 수 있습니다.
앞에서도 말씀드렸지만, 이것들은 오직 가이드라인일 뿐입니다. 여러분은 스스로 방화벽에 사용할 필터 규칙을 선택해야 할 것입니다. 누군가 여러분의 네트워크에 침입한다면, 위에서 말한 권고를 따랐더라도 저는 어떤 책임도 질 수 없습니다.