Answers:
在默认的用户安装中,仅安装了ssh作为服务器应用程序,您可以简单地通过aptitude remove openssh-server
或通过使用的任何其他软件包管理器进行卸载。
限制应用程序的网络访问很困难。
{{编辑:但是,现在开发了Leopard Flower,它似乎提供了您需要的功能(每进程防火墙,交互式用户界面)。}}请参阅每进程防火墙?有关该主题的更多信息。在不使用复杂解决方案的情况下,您只能通过iptables owner
模块将网络访问限制为特殊用户。
作为普通用户,您不需要任何harden-*
软件包。它们或者在您可能始终没有安装的不安全软件包上发生冲突,或者安装了对于配置和维护而言过于复杂的普通系统(例如网络入侵系统)的安全软件包。
我同意严格使用iptables。这是一个非常简单的基于命令行的防火墙,利用了内核(在大多数发行版中)。
我会提出的另一个建议是selinux。我不确定debian现在默认是否附带它。简而言之,Selinux是强制性的访问控制,它在内核级别上控制着应用程序与外部资源(即文件和系统属性)之间的通信。作为附带说明,它也是在国家安全局的帮助下开发的。使用selinux配置文件,可以防止应用程序读取超出其范围的文件。
结合最佳实践(例如禁用不需要的守护程序),良好的防火墙规则selinux可能是您想要强化此框的选项。
不幸的是,似乎没有Linux可以替代littlesnitch
或zonealarm
,并且大多数GUI防火墙都会让您想要。您当然可以使用iptables
连接跟踪来做很多有用的事情。
一个经常被忽视的实用工具是tcpwrappers
。我将添加一条规则到/etc/hosts.deny
:
ALL: PARANOID
另外,通过将以下行添加到来禁用ping和其他ICMP响应/etc/sysctl.conf
:
net.ipv4.icmp_echo_ignore_all = 1
编辑:我倾向于同意jmtd,第二个想法是有更好的方法来过滤ping。
tcpwrappers
在于它的选择加入:该程序需要链接到包装器库,才能真正生效。 iceweasel
不是。如果愿意,可以强制使用LD_PRELOAD
技巧。
LD_PRELOAD
。程序需要支持它。对于静态链接程序,LD_PRELOAD
无论如何都无法工作。
在Linux上iptables
,最流行的网络过滤/防火墙基础是,它不能在应用程序上运行。您需要的是一个安全策略程序,该程序可以限制程序访问网络资源的能力。两种方法是SELinux和AppArmor。
这是一些AppArmor食谱示例,其中之一打开了Firefox / Iceweasel的网络访问权限。