# 更新软件包列表
sudo apt update # Debian/Ubuntu
sudo yum check-update # CentOS/RHEL
# 升级所有已安装软件包
sudo apt upgrade # Debian/Ubuntu
sudo yum update # CentOS/RHEL
# 自动安全更新
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
修改/etc/ssh/sshd_config
文件:
Port 2222 # 修改默认端口
PermitRootLogin no # 禁止root直接登录
MaxAuthTries 3 # 最大尝试次数
LoginGraceTime 1m # 登录超时时间
AllowUsers user1 user2 # 只允许特定用户登录
PasswordAuthentication no # 禁用密码认证,使用密钥
# UFW (Ubuntu)
sudo ufw enable
sudo ufw allow 2222/tcp
sudo ufw limit 22/tcp # 限制连接速率
# firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
# 创建用户
sudo useradd -m -s /bin/bash username
sudo passwd username
# 修改用户属性
sudo usermod -aG sudo username # 添加sudo权限
sudo usermod -L username # 锁定账户
sudo usermod -U username # 解锁账户
# 删除用户
sudo userdel -r username # 同时删除家目录
# 创建组
sudo groupadd groupname
# 添加用户到组
sudo usermod -aG groupname username
# 查看用户所属组
groups username
编辑/etc/sudoers
或使用visudo
:
# 允许用户执行所有命令
username ALL=(ALL:ALL) ALL
# 允许组执行特定命令
%groupname ALL=/usr/bin/apt update, /usr/bin/apt upgrade
# 修改权限
chmod 755 filename # rwxr-xr-x
chmod u+x script.sh # 给所有者添加执行权限
# 修改所有者
chown user:group file
chown -R user:group dir # 递归修改
# 特殊权限
chmod +s file # 设置SUID/SGID
chmod +t dir # 设置粘滞位
# 设置ACL
setfacl -m u:username:rwx file
setfacl -m g:groupname:rx file
setfacl -R -m u:username:rwx dir
# 查看ACL
getfacl file
# 查看状态
sestatus
# 修改模式
sudo setenforce 1 # 强制模式
sudo setenforce 0 # 宽容模式
# 修改文件上下文
chcon -t httpd_sys_content_t /var/www/html
# 查看状态
sudo apparmor_status
# 配置策略
sudo aa-genprof /path/to/program
/var/log/auth.log # 认证日志
/var/log/syslog # 系统日志
/var/log/secure # 安全日志(CentOS)
/var/log/audit/audit.log # SELinux审计日志
# 查看失败登录尝试
grep "Failed password" /var/log/auth.log
# 使用journalctl
journalctl -u sshd --since "1 hour ago"
密码策略:设置强密码要求
# 修改/etc/login.defs
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
# 安装libpam-pwquality
sudo apt install libpam-pwquality
sudo systemctl disable servicename
通过以上设置和管理措施,可以显著提高Linux系统的安全性,防止未经授权的访问和数据泄露。