在当今的信息安全环境中,Linux系统因其稳定性和灵活性被广泛使用。然而,默认的Linux安装并不一定是最安全的。本文将以Centos系统为例介绍一些有效的Linux系统安全加固措施,以提高系统的安全性。
1. 更新和升级系统
确保系统始终处于最新状态是安全的基础。使用以下命令更新系统:
sudo yum update -y
2. 配置防火墙
CentOS默认使用firewalld作为防火墙工具。可以通过以下命令启动和配置防火墙:
sudo systemctl start firewalld
sudo systemctl enable firewalld
添加SSH服务并重新加载防火墙:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
3. 禁用不必要的服务
检查并禁用未使用的系统服务,以减少攻击面。使用以下命令列出当前运行的服务:
sudo systemctl list-units --type=service --state=running
禁用不必要的服务:
sudo systemctl disable 服务名
4. 强化SSH安全
SSH是远程管理CentOS的重要工具。以下是一些强化SSH安全的建议:
- 更改默认端口:将SSH端口更改为不常用的端口。
- 禁用root登录:防止使用root账户直接登录。
编辑SSH配置文件 /etc/ssh/sshd_config,进行以下修改:
Port 2222 #端口改为2222,也可以是其他端口
PermitRootLogin no #禁用root账号(重启SSH服务之前请先确认创建了其他用户,避免远程连接不上)
PasswordAuthentication no #不允许使用密码登录(重启SSH服务之前确保生成并添加了密钥登录)
重启SSH服务以应用更改:
sudo systemctl restart sshd
详情请点击查看:Linux使用SSH密钥认证
5. 使用SELinux
SELinux是CentOS的安全模块,可以提供额外的安全层。确保SELinux处于启用状态:
sestatus
如果未启用,可以通过编辑/etc/selinux/config文件,将以下行设置为enforcing:
SELINUX=enforcing
重启系统以应用更改。
6. 定期审计和监控
利用auditd进行系统审计,监控文件和用户活动。安装auditd:
sudo yum install audit -y
启动并启用auditd服务:
sudo systemctl start auditd
sudo systemctl enable auditd
详情请点击查看:CentOS中的Auditd详解
7. 使用复杂密码和定期更换
强制用户使用复杂密码,并定期更换密码。可以使用pam模块来实现:
编辑/etc/security/pwquality.conf,设置密码复杂度:
minlen = 12
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1
在/etc/pam.d/system-auth中确认使用pam_pwquality.so:
password required pam_pwquality.so retry=3
结论
通过实施上述措施,可以显著提高CentOS系统的安全性。安全是一项持续的任务,定期检查和更新安全策略对于保护您的系统至关重要。保持警惕,监控系统活动,以确保数据的安全和完整性。