设置 pfctl 以禁止本地应用程序访问特定主机名

设置 pfctl 以禁止本地应用程序访问特定主机名

我是 OSX 用户,我想禁止一些主机名,因为某些本地应用程序可能会用这些主机名做一些令人讨厌的事情。

pfctl是 OSX 10.11 El Captain 上的默认防火墙。那么,如何使用 来阻止特定主机名呢pfctl

我知道修改hosts文件可以通过将其解析为未知 IP 来阻止特定主机名。但是,在我的情况下,hosts 方法不起作用。所以,我想使用 pfctl 代替。

答案1

可以,但不需要使用 pfctl 禁止主机名。

您可以使用 /etc/hosts 来完成此操作。事实上,这就是我多年来一直这样做的方式。它比 pfctl 占用的资源更少,因为您不需要解析名称,也不需要检查流量。它还具有阻止已知名称的所有实例的优点,因为现在站点名称可以解析为多个 IP 地址。

$ dig A  cnn.com
; <<>> DiG 9.8.3-P1 <<>> A cnn.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22656
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 4, ADDITIONAL: 2

;; QUESTION SECTION:
;cnn.com.           IN  A

;; ANSWER SECTION:
cnn.com.        242 IN  A   157.166.226.26
cnn.com.        242 IN  A   157.166.226.25

;; AUTHORITY SECTION:
cnn.com.        172707  IN  NS  ns3.timewarner.net.
cnn.com.        172707  IN  NS  ns2.p42.dynect.net.
cnn.com.        172707  IN  NS  ns1.timewarner.net.
cnn.com.        172707  IN  NS  ns1.p42.dynect.net.

;; ADDITIONAL SECTION:
ns1.timewarner.net. 172707  IN  A   204.74.108.238
ns3.timewarner.net. 172707  IN  A   199.7.68.238

;; Query time: 5 msec
;; SERVER: 192.168.201.1#53(192.168.201.1)
;; WHEN: Sun Nov 22 07:35:00 2015
;; MSG SIZE  rcvd: 186

方法是编辑主机

sudo /etc/hosts

并用地址 0.0.0.0 填充它,后跟要阻止的站点的名称。人们过去使用 127.0.0.1,但是由于 Windows 兼容性问题,并且由于 0.0.0.0 信号使您甚至不必尝试打开连接,现在使用 0.0.0.0。

如果您担心的是恶意软件,除了添加您自己的恶意软件之外,您还可以使用此列表作为起点,这是众所周知的列表之一。

“使用主机文件阻止不需要的连接”

http://winhelp2002.mvps.org/hosts.htm

这是我在 /etc/hosts 中的一些条目的示例

0.0.0.0 youtu.be
0.0.0.0 allsrtfree.com
0.0.0.0 serve.adplxmd.com
0.0.0.0 www.subtitlseex.xyz
0.0.0.0 fukizi.com
0.0.0.0 www.themoviesarea.com
0.0.0.0 www.dream-marriage.com
0.0.0.0 system-protection.6offers.com
0.0.0.0 adstrx.com
0.0.0.0 mackeeperapp3.mackeeper.com
0.0.0.0 www.download-genius.com
0.0.0.0 cdn.myfreesoftwarehub.com
0.0.0.0 cdn.freefairs.com
0.0.0.0 piratetorrents.net

如果你还想用pf,看来你得和relayd一起使用,因为它不是封锁IP地址,而是封锁站点。

我找到了一张谈论它的幻灯片:

http://quigon.bsws.de/papers/2013/vbsdcon/mgp00043.html

作为脚注,如果您想要 OS/X 中良好的图形防火墙,Little Snitch 非常出色,并且还可以在应用程序级别进行阻止。

https://www.obdev.at/products/littlesnitch/index.html

相关内容