OpenBSD在默认安装中有开放的端口

我一直在考虑用OpenBSDreplaceUbuntu,以提高本地服务器的安全性。 我需要ssh访问它,我也需要它来提供静态网页内容 – 所以我需要打开的唯一端口是22和80。

但是,当我在安装OpenBSD 4.8之后扫描服务器的开放端口,并在/etc/rc.conf启用ssh和http

 httpd_flags="" sshd_flags="" 

我发现它有几个其他的开放端口:

 Port Scan has started… Port Scanning host: 192.168.56.102 Open TCP Port: 13 daytime Open TCP Port: 22 ssh Open TCP Port: 37 time Open TCP Port: 80 http Open TCP Port: 113 ident 

ssh(22)和http(80)应该打开,因为我启用了httpd和sshd,但为什么其他端口是打开的,我应该担心它们会产生额外的安全漏洞吗? 它们是否应该在默认安装中打开?

白天和时间 ,我会考虑“传统”协议。 我的猜测是他们被包含在传统的UNIX风格完整性的默认configuration中。 它们是由inetd启动的,除非你需要这些服务(如果你需要的话,你可能不需要),你可以通过在/etc/inetd.conf (见手册页 )中注释掉相关行来禁用它们。

 #ident stream tcp nowait _identd /usr/libexec/identd identd -el #ident stream tcp6 nowait _identd /usr/libexec/identd identd -el #daytime stream tcp nowait root internal #daytime stream tcp6 nowait root internal #time stream tcp nowait root internal #time stream tcp6 nowait root internal kill -HUP `cat /var/run/inetd.pid` 

鉴于pf默认启用,你可以让你的pf.conf使用默认的拒绝方法。 假设你的界面是fxp0 ,这是一个很好的起始规则集。

 set skip on lo0 block in fxp0 block out fxp0 pass out on fxp0 proto { tcp, udp, icmp } from any to any modulate state pass in on fxp0 proto tcp from any to (fxp0) {22 80} 

这个问题已经三年了,但是我觉得应该这样回答:它们在默认安装中是没有打开的; 至less现在不在了。

在OpenBSD 5.5的基本安装上的端口扫描只显示ssh:

 Port Scan has started… Port Scanning host: 192.168.1.29 Open TCP Port: 22 ssh Port Scan has completed… 

启用httpd并使用pfctl -d禁用pf仅显示ssh和http:

 Port Scan has started… Port Scanning host: 192.168.1.29 Open TCP Port: 22 ssh Open TCP Port: 80 http Port Scan has completed… 

这并不是说他们从来没有开放, 他们在以前的版本。 它们是否是一个漏洞取决于用户。 事实上,他们是非常简单的守护进程,我认为这很难被利用。 更多答案在这里 。