pf는 차단하려는 포트 하나뿐만 아니라 모든 입출력 트래픽을 차단합니다.

pf는 차단하려는 포트 하나뿐만 아니라 모든 입출력 트래픽을 차단합니다.

pf를 사용하여 들어오는 포트를 차단해야 합니다. 나는 pf를 처음 접했고 여기서 내가 뭘 잘못하고 있는지 모르겠습니다.

들어오는 포트 22를 차단하기 위한 전체 규칙 파일은 다음과 같습니다.

set block-policy drop
pass in all keep state
pass out all keep state
block in proto tcp to port 22

pf를 시작한 후 sudo /sbin/pfctl -e -f /path/to/my/rule/file모든 네트워크 트래픽이 차단되었습니다. 웹페이지를 로드하려고 하는데 sudo /sbin/pfctl -dpf를 비활성화할 때까지 로드되지 않습니다.

block in proto tcp to port 22규칙 목록에서 네 번째 줄( )을 제거하면 아무것도 차단되지 않습니다. 그렇다면 들어오는 TCP 포트 22 대신 모든 것을 차단하게 만드는 4행에서 내가 뭘 잘못하고 있는 걸까요? 모든 예제는 유사한 작업을 수행합니다.

중요한 경우 내 운영 체제는 OS X 10.8.5입니다.

답변1

block all
pass in on fxp0 proto tcp from any to any port 22 flags S/SA
pass out on fxp0 proto tcp from any to any port 22 flags S/SA

fxp0운영 체제에 따라 이더넷으로 변경 해야 한다는 점을 고려하세요 .

위와는 반대로 :

pass in on fxp0 proto tcp from any to any port < 22 flags S/SA
pass out on fxp0 proto tcp from any to any port < 22 flags S/SA
pass in on fxp0 proto tcp from any to any port > 22  flags S/SA
pass out on fxp0 proto tcp from any to any port > 22 flags S/SA


block in on fxp0 proto tcp from any to any port 22 
block out on fxp0 proto tcp from any to any port 22 

관련 정보