Debian 附带了多个harden
软件包,旨在使计算机更加安全。我的需求非常简单:文字处理和网页浏览。我不运行任何特殊的服务器,不使用 SSH、telnet 等。据我所知,唯一应该使用互联网的软件是iceweasel
和apt
。
- 有没有办法保证只有这两个软件才能上网?
- 是否有任何软件包
harden
适合这些需求?
答案1
在默认用户安装中,仅安装 ssh 作为服务器应用程序,您可以通过aptitude remove openssh-server
或通过您使用的任何其他包管理器简单地卸载它。
限制应用程序的网络访问很困难。
{{ 编辑: 不过现在有豹花开发的似乎提供了您需要的功能(每进程防火墙,交互式用户界面)。}}看每个进程防火墙?有关该主题的更多信息。无需使用复杂的解决方案,您只能通过 iptablesowner
模块限制特殊用户的网络访问。
作为普通用户,您不需要任何harden-*
软件包。它们要么与不安全的软件包发生冲突,而您可能还没有安装这些软件包,要么安装对于普通系统而言过于复杂而无法配置和维护的安全软件包,例如网络入侵系统。
答案2
我同意严格使用 iptables。它是一个非常简单的基于命令行的防火墙,利用内核(在大多数发行版中)。
我提出的另一个建议是selinux。我不确定 Debian 现在是否默认带有它。简而言之,Selinux 是强制访问控制,这意味着它在内核级别上管理应用程序和外部资源(即文件和系统属性)之间的通信。顺便说一句,它也是在美国国家安全局的帮助下开发的。使用 selinux 配置文件,您可以防止应用程序读取超出其范围的文件。
结合最佳实践(例如禁用不需要的守护进程),良好的防火墙规则 selinux 可能是您正在寻找的强化此框的选项。
答案3
不幸的是,似乎没有任何 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。
答案4
Linux 上最流行的网络过滤/防火墙基础是iptables
,它不能在应用程序基础上工作。您需要的是一个可以限制程序访问网络资源的安全策略程序。两种方法是SELinux和应用装甲。
以下是一些 AppArmor 配方示例,其中之一为 Firefox/Iceweasel 打开网络访问。