PF 매뉴얼북 4판 (The Book of PF, 4th Edition)
(nostarch.com)- OpenBSD의 패킷 필터 PF를 중심으로 한 방화벽 구축과 네트워크 보안을 다루는 실무 지침서
- 최신판에서는 IPv6, 듀얼 스택 구성, 트래픽 셰이핑, NAT, 무선 네트워킹, 스팸 차단, 장애 조치, 로깅 등 최신 기능을 포함
- IPv4·IPv6 규칙 세트 작성, 무선 네트워크 보안, CARP·relayd를 통한 가용성 향상, 적응형 방화벽 구축 등 구체적 설정 방법 제시
- OpenBSD의 최신 트래픽 제어 시스템과 FreeBSD의 ALTQ, Dummynet 활용법을 함께 다룸
- OpenBSD 7.x, FreeBSD 14.x, NetBSD 10.x 환경에서 안정적이고 유연한 네트워크 운영을 위한 핵심 참고서
PF와 네트워크 관리 개요
- PF(Packet Filter)는 OpenBSD와 FreeBSD의 핵심 네트워크 도구로, 현대 인터넷 환경에서 필수적인 방화벽 구성 요소로 설명됨
- 대역폭 요구 증가와 보안 위협이 커지는 상황에서 시스템 관리자는 PF 전문 지식이 필수임
- 이 책은 PF의 최신 기능과 설정 방법을 포괄적으로 다루며, 실무 중심의 접근을 제공
4판의 주요 업데이트
- 4판에서는 IPv6 및 듀얼 스택 구성, 큐와 우선순위 기반 트래픽 셰이핑 시스템, NAT 및 리디렉션, 무선 네트워크, 스팸 차단, 장애 조치(failover) , 로깅 등의 최신 내용을 포함
- OpenBSD 7.x, FreeBSD 14.x, NetBSD 10.x 버전을 대상으로 함
학습 가능한 주요 기술
- IPv4와 IPv6 트래픽 규칙 세트 작성: LAN, NAT, DMZ, 브리지 등 다양한 네트워크 환경에서의 설정 방법 제시
- 무선 네트워크 구축 및 보안 강화: 액세스 포인트 설정, authpf 및 접근 제한 기능 활용
- 서비스 가용성 극대화: CARP, relayd, 리디렉션을 통한 유연한 서비스 운영
- 적응형 방화벽 구축: 공격자와 스패머에 대한 선제적 방어 기능 구현
- 트래픽 제어 및 모니터링: OpenBSD의 최신 트래픽 셰이핑 시스템, FreeBSD의 ALTQ·Dummynet 구성, NetFlow 기반 시각화 도구 활용
책의 구성
- 총 10개 장과 2개의 부록으로 구성
- 1장: 네트워크 구축
- 2장: PF 설정 기본
- 3장: 실제 환경 적용
- 4장: 무선 네트워크
- 5장: 복잡한 네트워크
- 6장: 능동적 방어
- 7장: 트래픽 셰이핑
- 8장: 중복성과 자원 가용성
- 9장: 로깅·모니터링·통계
- 10장: 설정 최적화
- 부록 A: 참고 자료 / 부록 B: 하드웨어 지원
저자 소개
- Peter N.M. Hansteen은 노르웨이 베르겐 기반의 DevOps 컨설턴트이자 작가로, OpenBSD 및 FreeBSD 관련 강연과 글을 다수 진행
- Freenix 커뮤니티 활동가이며, PF 온라인 튜토리얼의 확장판으로 본서를 집필
- 개인 블로그(bsdly.blogspot.com)에서 네트워킹 관련 글을 게시하며, RFC 1149 구현팀의 일원으로 참여한 경력 보유
Hacker News 의견들
-
요즘 PF(Packet Filter) 를 실제 운영 환경에서 써본 경험이 어떤지 궁금함
nftables만 써봤는데, PF 쪽은 어떤 느낌인지 알고 싶음- 나는 약 12개의 VLAN에 걸쳐 400개 정도의 규칙을 가진 pf.conf를 관리하고 있음
구조가 코드 편집하는 느낌이라 꽤 직관적이고 즐거움
상단에는 host, network, port 선언이 있고, NAT/egress 섹션, 그리고 VLAN별 pass in/out 규칙 섹션이 있음
tmux에서pflog0인터페이스를 tail 하며 트래픽을 모니터링하고,.profile에 pf 설정을 쉽게 수정·적용할 수 있는 함수도 만들어둠
파일을 열어 수정하고, 검증 후 규칙을 다시 로드하며, 성공 시 규칙 개수를 출력함function pfedit { vi /etc/pf.conf && \ pfctl -f /etc/pf.conf && \ { c=`pfctl -s rules | wc -l | tr -d ' '`; printf 'loaded %s rules\n' "$c"; } } - 내 경험상 PF는 상용 방화벽처럼 필터링과 NAT 사고방식이 유사함
Linux의 nftables는 여전히 오래된 ipchains 개념의 “chain” 구조를 유지하고 있어서 직관적이지 않음
PF는 단순히 in/out과 인터페이스 기준으로 정책을 세우면 됨
nftables의 “명령 기반 정책 추가/삭제” 방식보다는 설정 파일 중심 관리가 훨씬 깔끔하다고 느낌 - pf와 iptables를 비교하면, 규칙 적용 방식과 로그 처리가 가장 다름
pf는 패킷이 전체 규칙을 통과하며 마지막 매칭 규칙이 적용됨 (“quick”으로 단축 가능)
로그는 syslog에 자동 통합되지 않아 별도 설정이 필요함
개인적으로 pf를 선호하지만, 초보자에게는 추천하지 않음 - 단순한 패킷 필터링만 필요하다면 PF는 충분하지만, 요즘은 위협 인텔리전스·프로토콜 분석 같은 기능이 필수인 경우가 많음
pf로 스크립트로 구현은 가능하지만 비효율적임
진짜 운영 환경이라면 IPS나 Layer 7 방화벽 수준의 기능이 필요함
그래도 단순 필터링 용도로는 좋은 선택임 - iptables를 더 이상 안 써도 된다는 점이 정말 좋음
하지만 수많은 튜토리얼과 LLM 모델에 여전히iptables -A구문이 박혀 있어서, 앞으로도 오랫동안 기억해야 할 듯함
- 나는 약 12개의 VLAN에 걸쳐 400개 정도의 규칙을 가진 pf.conf를 관리하고 있음
-
예전에 이 책을 가지고 있었는데, 방화벽 설정, 로드 밸런싱, 트래픽 셰이핑 등에서 큰 도움을 받았음
FreeBSD 루트킷 설계 관련 책도 매우 유익했음
지금은 미니멀리즘을 위해 전부 정리하고 디지털 정보에 의존 중이라 약간 아쉬운 마음이 있음- 나도 비슷하게 책을 정리하려다 아직 못했음
예전 OpenBSD 학습 시기에 산 책들이 아직 남아 있는데, 지금은 거의 참고하지 않음
그래도 책장 한켠의 OpenBSD 구역이 꽤 멋짐 - 전자책 리더기와 DRM-free 전자 도서관이 대안이 될 수 있음
- 나도 비슷하게 책을 정리하려다 아직 못했음
-
No Starch Press에 대한 존경이 큼. 책의 품질이 정말 좋음
- Dr. Marshall Kirk McKusick이 최근 BSD 컨퍼런스에서 발표했듯, No Starch가 올해 안에 『Design and Implementation of the FreeBSD Operating System』 3판을 출간할 예정임
- 개인적으로 좋아하는 책은 Nora Sandler의 Writing a C Compiler, Sy Brand의 Building a Debugger처럼 복잡한 시스템을 직접 구현하게 해주는 책들임
이런 류의 책이 더 많아졌으면 함 - 나는 No Starch나 Leanpub 같은 출판사에서 직접 DRM-free 전자책을 구매함
독자를 존중하지 않는 판매처는 피함
소비자가 더 나은 조건을 요구하지 않으면, 언젠가 구매한 책을 마음대로 삭제하는 독점 구조가 생길 수 있음 - 종이책의 질감이 좋아서 실제 종이로 된 작은 도서관을 유지하고 있음
No Starch의 제본 품질은 여전히 훌륭하지만, 최근 O’Reilly의 POD(Print on Demand) 책들은 값비싸고 품질이 떨어져 아쉬움 - No Starch는 최고임. 그들의 책에서 정말 많은 걸 배웠음
-
PF는 Packet Filter의 약자임
- 제목을 보고 순간 Pathfinder의 새 버전이 나온 줄 알고 착각했음
-
참고로, 이 책은 FreeBSD 14를 다루지만 FreeBSD 15(12월 출시)에서는 PF가 크게 업데이트됨
자세한 내용은 Netgate 블로그의 업데이트 글 참고 -
nftables 중심의 비슷한 범위의 책이 있으면 좋겠다고 생각함
No Starch의 Linux Firewall 책은 2008년판이라 iptables 기반임- nftables는 공식 문서 사이트가 매우 잘 되어 있음
nftables 위키를 참고하는 게 가장 좋음 - Steve Suehring의 『Linux Firewalls』가 nftables를 다룸
기본 개념을 익히기에 좋은 책임
- nftables는 공식 문서 사이트가 매우 잘 되어 있음