PF가 작동하지만 시스템을 시작 / 다시 시작하면 postfix 'master'프로그램이 인터넷 연결을 허용 할 권한을 부여 할 것인지 묻습니다. 이제 환경 설정을 통해 설정 한 권한이 SystemFirewall에 설정됩니다. 그러나 시작시 pf가로드하는 /etc/pf.anchors/local.rules에 고유 한 규칙 세트도 있습니다.
#
# com.apple anchor point
#
int_if = "en0"
lan_net = "192.168.0.0/24"
set skip on lo0
tcp_services = "{ ssh, smtp, domain, www, pop3, auth, pop3s }"
udp_services = "{ domain }"
scrub-anchor "com.apple/*"
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
dummynet-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
#
그래서 pfctl -ef /etc/pf.anchors/local.rules로 plist에서 pfctl을 시작합니다.
접미사 마스터를 제외하고는 모든 것이 잘 작동합니다. 이는 pfctl이 250.ApplicationFirewall / * 앵커를 읽지 않는다는 것을 알려줍니다. 이것은 ... ApplicationFirewall 규칙이어야합니다.
이
sudo pfctl -a com.apple -sr
보고
No ALTQ support in kernel
ALTQ related functions disabled
anchor "200.AirDrop/*" all
anchor "250.ApplicationFirewall/*" all
pf 컨트롤러와 동시에 응용 프로그램 방화벽을 실행하면 안 되나요? 또는 실제로 ApplicationFirewall 규칙을 읽도록 pf 규칙에 지시하는 방법은 무엇입니까?
MacOS에는 2 개의 독립적 인 방화벽이 있습니다. 첫 번째는 프로토콜 수준에서 작동하고 OpenBSD의 패킷 필터입니다. 로 활성화됩니다 pfctl -e -f pf_configuration_file
.
두 번째 ApplicationFirewall
는 소켓 수준에서 작동하지만 예비 단계로 PF를 활성화합니다. GUI로 활성화됩니다 System Preferences > Security & Privacy > Firewall > Firewall Options…
.
이 두 방화벽 은 단독으로 또는 함께 작동 할 수 있습니다 . 그러나 MacOS의 GUI는 두 가지를 함께 제공합니다.
애플리케이션 방화벽은 다음에 고정 된 자체 PF 규칙 세트를로드합니다.
/com.apple/250.ApplicationFirewall
안타깝게도이 규칙 세트의 소스에 액세스 할 수 없습니다.
그러면이 2 개의 방화벽이 독립적으로 완벽하게 작동합니다. 안타깝게도 애플리케이션 방화벽의 GUI가 자체적으로 PF를 시작하고 있으며 이는 문서화되어 있지 않습니다.
나는 애플의 작업이이 두 층의 방화벽에서 끝나지 않았다고 생각한다. 이 문서화되지 않은 GUI에서 벗어나기위한 최선의 조언은 트리의 완전한 로컬 사본을 만드는 것입니다.
/com.apple/250.ApplicationFirewall
PF 및 앵커 트리를 사용하여 주어진 시간에 적용되는 전체 규칙 집합에 대한 올바른 비전을 갖는 것은 매우 어렵습니다.
pfctl
보안 문제를 분석하는 것 외에 다른 표준 도구는 없습니다 .
이 과정에서 도움이되는 도구는 다음과 같습니다.
문제를 분석하려면 에서 로컬로 연결할 수 있는지 확인 하기 위해 사용 nmap
( Brew
또는 참조 Macports
)하는 master
것이 25/tcp
좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다