[apple] Mac OS Lion에서 네트워크 액세스 제어 시작

우선, OpenBSD에서 pf를 광범위하게 사용했기 때문에 규칙을 잘 알고 있습니다. 최신 버전에 더 익숙하지만

그러나 시작 또는보다 구체적으로 afp에 대한 네트워크 액세스를 규제하는 간단한 방법이 있는지 알고 싶습니다.

ALL : ALL (또는 launchd : ALL 및 기타 조합)을 /etc/hosts.deny에 넣으려고했지만 launchd 가이 파일을 전혀 사용하지 않는다고 생각합니다. 누군가가 이것을 확인할 수 있습니까? hosts_options (5)는 Apple이 만든 확장 기능을 보여 주지만이 파일을 사용하기 위해 시작된 다시로드하는 방법을 알 수 없습니다.

내 해결책은 지금 포트 포트 548에 대한 모든 연결을 차단하고 내 집 컴퓨터 만 허용하는 것입니다. 이를 위해 다음과 같이 /etc/pf.conf를 수정하고 마지막 줄을 추가했습니다.

#
# Default PF configuration file.
#
# This file contains the main ruleset, which gets automatically loaded
# at startup.  PF will not be automatically enabled, however.  Instead,
# each component which utilizes PF is responsible for enabling and disabling
# PF via -E and -X as documented in pfctl(8).  That will ensure that PF
# is disabled only when the last enable reference is released.
#
# Care must be taken to ensure that the main ruleset does not get flushed,
# as the nested anchors rely on the anchor point defined here.
#
# See pf.conf(5) for syntax.
#

#
# com.apple anchor point
#
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"
include "/etc/pf.userrules"

그리고 /etc/pf.userrules에서 다음 Apple 업데이트에서 덮어 쓸 수있는 내 자신의 작품입니다.

block in inet proto tcp from any to port 548
pass in inet proto tcp from { 10.10.10.11, 10.10.10.12 } to port 548

이것은 작동하지만 호스트 액세스 파일을 사용할 수 있기를 바랍니다.



답변

launchdlibwrap명령에 표시된 것처럼을 사용하지 않습니다 .

nm -a /sbin/launchd | grep hosts

이 명령이 아무것도 출력하지 않는다는 사실 은 TCP 래퍼 라이브러리 launchd내에서 진입 점을 사용 하지 않는다는 것을 의미합니다
libwrap.

이 답변에 확인되었다 Snow LeopardLion.

lion, 예를 들어, libwrap에 의해 사용 sshd하지 telnetd않고 launchd:

% nm -a / usr / sbin / sshd | grep 호스트
                 U _hosts_access
% nm -a / usr / libexec / telnetd | grep 호스트
%

libwrap라이브러리는 Mountain Lion에 없습니다.


답변