您强烈建议在维护Linux服务器时使用哪些安全性最佳做法?
(即启动防火墙,禁用不必要的服务,小心suid可执行文件等等。)
另外:Selinux上有明确的参考资料吗?
编辑:是的,我打算将机器放在互联网上,至少使用openvpn,ssh和apache(目前没有动态内容),并为某些人提供shell访问权限。答案 0 :(得分:5)
对于SELinux,我发现SELinux By Example非常有用。它非常深入地保持了一个尽可能安全的服务器,并为这么广泛的主题编写得非常好。
一般情况下:
答案 1 :(得分:4)
简短的回答是,这取决于。这取决于你使用它的方式,这反过来会影响你应该花多少精力去保护它。
这个问题的答案有一些方便的提示: Securing a linux webserver for public access
如果你没有将盒子扔到互联网上,那么这些答案中的一些将无关紧要。如果你把它扔到互联网上和主持一些甚至有点模糊的东西,那些答案对你来说太过放任了。
答案 2 :(得分:4)
有一份NSA文件“适用于RHEL5的NSA安全指南”,可从以下网址获取:
http://www.nsa.gov/ia/_files/os/redhat/rhel5-guide-i731.pdf
非常有帮助,至少是系统性的。
答案 3 :(得分:2)
这或多或少都是我要做的。
编辑:我添加了一些我之前忘记命名的想法......
答案 4 :(得分:1)
1。)仅启用必要且相关的端口。
2。)定期扫描网络数据
3.。)定期扫描访问服务器的IP地址,并验证是否有任何与日志/跟踪中找到的IP地址相关的异常数据活动
4.。)如果某些关键和机密数据和代码需要存在于服务器上,可能是加密的
-AD
答案 5 :(得分:1)
目标: 最难的部分始终是定义您的安全目标。其他一切都相对容易。
探测/研究: 考虑攻击者采取的相同方法,即网络侦察(namp对此非常有帮助)。
更多信息: 通过示例SELinux是一本有用的书,找到SELinux信息的良好集中源仍然很难。 我有一小段有用的链接,我发现有用的时间http://delicious.com/reverand_13/selinux
有用的解决方案/工具: 正如大多数人所说的那样,更少。对于带有SELinux的开箱即用的盒子,我建议剪辑(http://oss.tresys.com/projects/clip)。我的一个朋友在学术模拟中使用它,其中盒子受到其他参与者的直接攻击。我记得这个故事对这个盒子非常有利。
您需要熟悉编写SELinux政策。模块化政策也可能会有所帮助。 SLIDE和seedit等工具(未尝试过)可能会对您有所帮助。
答案 6 :(得分:0)
除非必须,否则请勿使用DNS服务器。 BIND一直是安全问题和漏洞利用的热点。
答案 7 :(得分:0)
加固Linux服务器是一个广泛的话题,它主要取决于您的需求。
通常,您需要考虑以下关注的组(我将在每个组中提供最佳实践的示例):
启动和磁盘
示例1:禁止从外部设备启动。
例2:为GRUB引导程序-Ref设置密码。
文件系统分区
示例1:将用户分区(/home
,/tmp
,/var
)与OS分区分开。
例2:在分区上设置nosuid
–以防止使用特权setuid
升级特权。
内核
例1:更新安全补丁。
例2:在here中了解更多信息。
网络
示例1:关闭未使用的端口。
示例2:禁用IP转发。
示例3:禁用发送数据包重定向。
用户/帐户
Ex1:强制使用强密码(SHA512)。
示例2:设置密码的有效期和有效期。
示例3:限制用户使用旧密码。
服务
示例1:删除未使用的服务,例如:FTP,DNS,LDAP,SMB,DHCP,NFS,SNMP等。
EX2:如果您使用的是Apache或nginx之类的Web服务器-不要以root用户身份运行它们-阅读更多here。
示例3:安全SSH ref。
软件
确保删除未使用的软件包。
了解更多:
https://www.tecmint.com/linux-server-hardening-security-tips/
https://cisofy.com/checklist/linux-security/
https://www.ucd.ie/t4cms/UCD%20Linux%20Security%20Checklist.pdf
https://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/
https://securecompliance.co/linux-server-hardening-checklist/
现在专门用于SELinux:
首先,请确保您的计算机中已启用SELinux。