过去,我总是在 Windows PC 和互联网之间运行 NAT 路由器。我想知道我是否仍然需要这个,或者 OSX 防火墙是否足以让我将 Mac 直接连接到互联网。
答案1
虽然我不介意将我的 Mac 连接到任何网络,我没有明确的答案。不过,有些注释太长,无法发表评论:
OS X 内置防火墙是应用程序防火墙:接受传入连接是按应用程序而不是按端口授予的。一旦获得权限,应用程序可以打开它喜欢的任何端口,但我想这对您信任的软件来说不是问题。此外,它仅适用于传入连接:所有传出连接始终被允许(但对于 NAT 防火墙也是如此)。并且根据 Apple 的“Mac OS X 10.5 Leopard:关于应用程序防火墙“:
所有经过系统信任的证书颁发机构数字签名的应用程序 [..] 均允许接收传入连接。Leopard 中的每个 Apple 应用程序均经过 Apple 签名,并允许接收传入连接。
在 10.6 中,后者变得更加明确(并且可以被禁用),即“自动允许签名的软件接收传入连接。允许由有效证书颁发机构签名的软件提供从网络访问的服务。“:
因此,即使防火墙处于活动状态,默认情况下,您运行的每个类似服务器的 Apple 应用程序都允许接受传入连接。(或者,在 10.6 中,它甚至适用于任何签名的应用程序?)此类软件中的错误可以危害您的计算机。我不知道这会对 Bonjour 和文件共享等功能产生什么影响。
如果防火墙处于活动状态,则任何非 Apple 软件(或至少未签名的软件)首先需要您的许可才能接受传入连接。当此类软件更新时,可能会或者可能不会再次需要您的许可:
经过签名的应用程序 [..] 可以通过数学方法证明它确实是来自您过去信任的同一供应商的同一应用程序的新版本。结果是不再需要对话框要求您确认您无法合理验证其安全性的选择。
答案2
当然,人们可以继续讨论理论上没有什么是安全的,永远如此。
但从实际目的来看,是的,通常来说,将 Mac 直接连接到互联网是足够安全的。(每个人都这样做——好吧,大多数人无论如何 - 而且不太可能发生任何不好的事情。)特别是如果您没有在您的机器上打开任何额外的服务(如httpd等)。
也就是说,请(让自动更新程序)始终保持您的 Mac OS X 更新到最新的安全修复程序,并检查其内置防火墙已启用。
答案3
将计算机连接到互联网从来都不安全,因此最好在其间安装路由器。
由于大多数路由器都运行嵌入式 Linux,因此将它们置于中间很可能更安全。
作为 Linux 用户:Mac OSX 拥有 FreeBSD 的大部分应用程序,因此,如果您不需要 ssh 和 sshfs,请确保您没有安装或运行它们。
仅有防火墙是不够的。确保防火墙配置正确。
答案4
我在家里使用 NAT ADSL 连接,在外出时使用 3G 服务。在使用 3G 时,我注意到了ssh login
在 NAT 防火墙后面通常不会看到的尝试。
看看您正在运行哪些服务。
netstat
或者
netstat -f inet
Active Internet connections
Proto Recv-Q Send-Q Local Address Foreign Address (state)
udp4 0 0 *.ipp *.*
udp4 0 0 172.16.250.1.kerberos *.*
udp4 0 0 192.168.144.1.kerberos *.*
udp4 0 0 *.* *.*
udp4 0 0 localhost.ntp *.*
udp4 0 0 *.ntp *.*
udp4 0 0 *.snmp *.*
udp4 0 0 *.* *.*
udp4 0 0 *.mdns *.*
udp4 0 0 *.* *.*
udp4 0 0 *.syslog *.*
icm4 0 0 *.* *.*
这是我正在运行的服务器的简要列表。您可以看到您可能没有的服务器snmp
。syslog
大多数服务都在所有接口上监听 (*.)。就我而言,我应该修复我的snmp
和,syslog
使其仅在本地网络上列出。
安装nmap
http://nmap.org/dist/nmap-5.21.dmg.nmap
有很多不同的方法来查看服务或端口是否正在监听 - 在您的机器上尝试一些,但不要在其它机器上尝试,除非您知道自己在做什么(我当然不知道)。
nmap 127.0.0.1
Starting Nmap 4.85BETA6 ( http://nmap.org ) at 2010-06-17 00:09 EST
Interesting ports on localhost (127.0.0.1):
Not shown: 960 closed ports, 32 filtered ports
PORT STATE SERVICE
22/tcp open ssh
88/tcp open kerberos-sec
139/tcp open netbios-ssn
445/tcp open microsoft-ds
548/tcp open afp
625/tcp open apple-xsrvr-admin
631/tcp open ipp
5900/tcp open vnc
Nmap done: 1 IP address (1 host up) scanned in 6.28 seconds
也可以从另一台机器上尝试nmap
- 您也必须在那里安装它。有 Windows 和 Linux 版本可用。
是否存在您不想运行的服务?
就我而言,我不确定为什么要通过 samba (139/445) 共享文件,所以我会将其关闭。我看不出如何关闭ipp
(631)。这是用于打印机共享的,已关闭。如果我上网并且nmap
我的pppd
IP 地址是,则ipp
端口已关闭。这很好,并且与cupsd
配置文件匹配。我不需要AFP
一直运行,所以我会将其关闭。我不需要ssh
或屏幕共享正在运行,所以我也会将其关闭。
我现在只是运行这些。
88/tcp open kerberos-sec
625/tcp open apple-xsrvr-admin
631/tcp open ipp
有人提到大多数人都位于 NAT 防火墙后面。如果您有路由器,这可能是真的,但请检查 NAT 是否已打开。
但是使用 3G 服务时,您是直接连接的,因此您应该小心。我还没有使用过,所以这个问题让我重新检查了我的设置。
其他事情要做。
- 檢查
appfirewall.log
文件 - 如果您懂技术,请尝试添加一些
ipfw
规则。
请记住,如果服务未运行,则无人可以进入。因此,打开的端口越少越好。