macOS Sierra의 PF가 ApplicationFirewall을 읽지 않는 것 같습니다.

해리 맥거번

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 규칙에 지시하는 방법은 무엇입니까?

2 방화벽

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

1 누락 된 도구

PF 및 앵커 트리를 사용하여 주어진 시간에 적용되는 전체 규칙 집합에 대한 올바른 비전을 갖는 것은 매우 어렵습니다.

pfctl보안 문제를 분석하는 것 외에 다른 표준 도구는 없습니다 .

이 과정에서 도움이되는 도구는 다음과 같습니다.

pfdump

문제를 분석하려면 에서 로컬로 연결할 수 있는지 확인 하기 위해 사용 nmap( Brew또는 참조 Macports)하는 master것이 25/tcp좋습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C의 파이프-파이프에서 읽을 때 scanf가 작동하지 않는 것 같습니다.

분류에서Dev

더 이상 macOS의 터미널에서 마우스 스크롤을 허용하지 않는 것 같습니다.

분류에서Dev

SignalR Core가 Newtonsoft의 TypeNameHandling 설정을 존중하지 않는 것 같습니다.

분류에서Dev

Ubuntu 14.04의 Tkinter가 작동하지 않는 것 같습니다.

분류에서Dev

HashSet의 두 객체가 같은 것을 실현하지 않습니다

분류에서Dev

iOS의 3DES 암호화가 마지막 블록을 암호화하지 않는 것 같습니다.

분류에서Dev

iOS의 3DES 암호화가 마지막 블록을 암호화하지 않는 것 같습니다.

분류에서Dev

SQL 쿼리가 동일한 수의 행에 영향을주지 않는 것 같습니다. count 문 추가

분류에서Dev

서버의 accept () 함수가 클라이언트의 새 연결을 수락하지 않는 것 같습니다.

분류에서Dev

CentOS7의 /etc/resolv.conf가 옵션을 존중하지 않는 것 같습니다.

분류에서Dev

CentOS에서 Open JDK 1.7을 사용했습니다. Oracle의 Java rpm을 설치했습니다. Oracle Java가 존재하지 않는 것 같습니다.

분류에서Dev

CAPTCHA가 Joomla의 문의 양식에 표시되지 않는 것 같습니다.

분류에서Dev

WPToolkit : TiltEffect가 이미지에 영향을 미치지 않는 것 같습니다.

분류에서Dev

clojure-conj가 벡터에 값을 추가하지 않는 것 같습니다.

분류에서Dev

macOS 10.13.4-`renice`가 효과가없는 것 같습니다.

분류에서Dev

불화의 on_reaction_add가 작동하지 않는 것 같습니다.

분류에서Dev

zip : create가 Windows의 Erlang 22에서 작동하지 않는 것 같습니다.

분류에서Dev

가설은 pytest의 maxfail 인수를 존중하지 않는 것 같습니다.

분류에서Dev

Python 동작 태그의 Or 논리가 작동하지 않는 것 같습니다.

분류에서Dev

DIff 파일의 인수 무시가 작동하지 않는 것 같습니다.

분류에서Dev

메서드 재정의가 작동하지 않는 것 같습니다.

분류에서Dev

실행 파일의 setuid가 작동하지 않는 것 같습니다.

분류에서Dev

Java의 mousePressed () 메서드가 작동하지 않는 것 같습니다.

분류에서Dev

FreeBSD의 alsa-utils가 작동하지 않는 것 같습니다

분류에서Dev

route.php의 Laravel redirect ()가 작동하지 않는 것 같습니다.

분류에서Dev

jQuery의 data () 함수가 제대로 작동하지 않는 것 같습니다.

분류에서Dev

Framerate ()가 영화에 영향을 미치지 않는 것 같습니다.

분류에서Dev

map () 함수가해야 할 일을하지 않는 것 같습니다.

분류에서Dev

Android AccountManager가 토큰을 무효화하지 않는 것 같습니다.

Related 관련 기사

  1. 1

    C의 파이프-파이프에서 읽을 때 scanf가 작동하지 않는 것 같습니다.

  2. 2

    더 이상 macOS의 터미널에서 마우스 스크롤을 허용하지 않는 것 같습니다.

  3. 3

    SignalR Core가 Newtonsoft의 TypeNameHandling 설정을 존중하지 않는 것 같습니다.

  4. 4

    Ubuntu 14.04의 Tkinter가 작동하지 않는 것 같습니다.

  5. 5

    HashSet의 두 객체가 같은 것을 실현하지 않습니다

  6. 6

    iOS의 3DES 암호화가 마지막 블록을 암호화하지 않는 것 같습니다.

  7. 7

    iOS의 3DES 암호화가 마지막 블록을 암호화하지 않는 것 같습니다.

  8. 8

    SQL 쿼리가 동일한 수의 행에 영향을주지 않는 것 같습니다. count 문 추가

  9. 9

    서버의 accept () 함수가 클라이언트의 새 연결을 수락하지 않는 것 같습니다.

  10. 10

    CentOS7의 /etc/resolv.conf가 옵션을 존중하지 않는 것 같습니다.

  11. 11

    CentOS에서 Open JDK 1.7을 사용했습니다. Oracle의 Java rpm을 설치했습니다. Oracle Java가 존재하지 않는 것 같습니다.

  12. 12

    CAPTCHA가 Joomla의 문의 양식에 표시되지 않는 것 같습니다.

  13. 13

    WPToolkit : TiltEffect가 이미지에 영향을 미치지 않는 것 같습니다.

  14. 14

    clojure-conj가 벡터에 값을 추가하지 않는 것 같습니다.

  15. 15

    macOS 10.13.4-`renice`가 효과가없는 것 같습니다.

  16. 16

    불화의 on_reaction_add가 작동하지 않는 것 같습니다.

  17. 17

    zip : create가 Windows의 Erlang 22에서 작동하지 않는 것 같습니다.

  18. 18

    가설은 pytest의 maxfail 인수를 존중하지 않는 것 같습니다.

  19. 19

    Python 동작 태그의 Or 논리가 작동하지 않는 것 같습니다.

  20. 20

    DIff 파일의 인수 무시가 작동하지 않는 것 같습니다.

  21. 21

    메서드 재정의가 작동하지 않는 것 같습니다.

  22. 22

    실행 파일의 setuid가 작동하지 않는 것 같습니다.

  23. 23

    Java의 mousePressed () 메서드가 작동하지 않는 것 같습니다.

  24. 24

    FreeBSD의 alsa-utils가 작동하지 않는 것 같습니다

  25. 25

    route.php의 Laravel redirect ()가 작동하지 않는 것 같습니다.

  26. 26

    jQuery의 data () 함수가 제대로 작동하지 않는 것 같습니다.

  27. 27

    Framerate ()가 영화에 영향을 미치지 않는 것 같습니다.

  28. 28

    map () 함수가해야 할 일을하지 않는 것 같습니다.

  29. 29

    Android AccountManager가 토큰을 무효화하지 않는 것 같습니다.

뜨겁다태그

보관