Ubuntu系统的安全加固是一个涉及多个方面的过程,旨在提高系统的稳定性和安全性。以下是一些关键的安全加固措施:
cat /etc/passwd
命令查看系统中所有用户的信息,确保用户身份的唯一性。cat /etc/shadow
命令查看用户密码的加密信息,确保密码的复杂度并定期更换。grep "password" /etc/pam.d/common-password
命令检查PAM(Pluggable Authentication Modules)配置文件中是否设置了密码复杂度要求。grep 'PASS_' /etc/login.defs
命令查看系统中密码的有效期配置,包括密码的最大使用天数、最小修改天数等。grep 'deny' /etc/pam.d/login
和 grep 'deny' /etc/pam.d/sshd
命令检查是否配置了登录失败处理功能,如连续登录失败次数超过限制后锁定账户等。ls -l /path/to/file
命令查看指定文件的权限设置,确保文件权限的合理性。find / -perm -4000 -o -perm -2000
命令查找系统中具有SUID或SGID权限的文件,这些文件可能会带来安全风险。cat /etc/ssh/sshd_config | grep PermitRootLogin
命令查看是否限制了root账户的远程登录。sudo apt-get install auditd
命令安装auditd服务以进行安全审计。systemctl status auditd
(Ubuntu 18及以上)命令查看auditd服务的运行状态。auditctl -w /path/to/file -p rwxa -k key_name
命令为指定文件添加审计规则,监控文件的读、写、执行和属性更改操作。ausearch -i -k key_name
命令根据审计规则的标识符(key_name)查看审计日志。lsb_release -a
、uname -a
命令获取系统的完整版本信息,以便进行漏洞评估和防范。netstat -aptn
(需先安装net-tools工具)命令列出系统中所有开放的端口,确保没有不必要的服务暴露在外。systemctl status ufw
命令查看防火墙的状态,确保不必要的端口被关闭。cat /var/log/syslog
或 cat /var/log/messages
(取决于系统配置)命令查看系统日志,以便及时发现和响应潜在的安全事件。/etc/ssh/sshd_config
文件,将 PermitRootLogin
设置为 no
,禁止直接通过SSH登录root账户。PubkeyAuthentication
设置为 yes
,使用密钥对进行身份验证,提高安全性。ufw
防火墙工具,只允许必要的端口如SSH和HTTP,并定期检查防火墙设置。/etc/fail2ban/jail.conf
文件进行配置。unattended-upgrades
包实现系统的自动更新,定期手动运行 sudo apt update && sudo apt upgrade
检查更新。请注意,以上命令仅为示例,并非完整的等保测评命令集。在实际操作中,需要根据具体的测评要求和系统环境进行相应的调整。同时,为了确保系统的安全性,建议定期进行安全评估和漏洞扫描,并及时更新系统和软件补丁。