# 创建新用户并设置密码
sudo useradd -m -s /bin/bash username
sudo passwd username
# 锁定/解锁用户账户
sudo usermod -L username # 锁定
sudo usermod -U username # 解锁
# 删除用户及其主目录
sudo userdel -r username
# 创建组
sudo groupadd groupname
# 将用户添加到组
sudo usermod -aG groupname username
# 查看用户所属组
groups username
# 修改文件所有者
sudo chown user:group filename
# 修改文件权限
chmod 750 filename # 所有者:rwx, 组:r-x, 其他:---
# 设置SUID/SGID/sticky bit
chmod u+s filename # SUID
chmod g+s filename # SGID
chmod +t directory # Sticky bit
# 查看最近登录的用户
last
# 查看失败的登录尝试
lastb
# 查看当前登录用户
who
# 查看系统进程
top
htop
# 查找可疑进程
ps aux | grep suspicious_process
# 使用AIDE进行文件完整性检查
sudo aide --check
# 使用tripwire进行文件监控
sudo tripwire --check
# 启用防火墙
sudo ufw enable
# 允许SSH连接
sudo ufw allow ssh
# 拒绝特定IP
sudo ufw deny from 192.168.1.100
# 查看防火墙状态
sudo ufw status verbose
# 阻止IP地址
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
# 允许已建立的连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 保存iptables规则
sudo iptables-save > /etc/iptables/rules.v4
# 编辑SSH配置文件
sudo nano /etc/ssh/sshd_config
# 推荐配置项:
Port 2222 # 更改默认端口
PermitRootLogin no
PasswordAuthentication no # 仅使用密钥认证
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 0
# 生成SSH密钥对
ssh-keygen -t ed25519
# 将公钥复制到服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server -p 2222
# 认证日志
tail -f /var/log/auth.log
# 系统日志
tail -f /var/log/syslog
# SSH日志
tail -f /var/log/secure # 在RHEL/CentOS上
# 使用grep搜索特定内容
grep "Failed password" /var/log/auth.log
# 使用journalctl查看系统日志
journalctl -xe
# 使用logwatch分析日志
sudo logwatch --detail High
# 启用自动安全更新 (Ubuntu/Debian)
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# 手动检查更新
sudo apt update && sudo apt upgrade -y
# 对于RHEL/CentOS
sudo yum update --security
# 查看SELinux状态
sestatus
# 临时更改模式
sudo setenforce 1 # 强制模式
sudo setenforce 0 # 宽容模式
# 永久更改模式
sudo nano /etc/selinux/config
# 查看AppArmor状态
sudo apparmor_status
# 强制加载配置文件
sudo apparmor_parser -r /etc/apparmor.d/profile.name
# 安装ClamAV
sudo apt install clamav clamav-daemon
# 更新病毒定义
sudo freshclam
# 扫描系统
sudo clamscan -r -i / # 递归扫描整个系统
# 查看当前内核参数
sysctl -a
# 编辑安全相关内核参数
sudo nano /etc/sysctl.conf
# 推荐配置项:
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.accept_redirects=0
kernel.exec-shield=1
kernel.randomize_va_space=2
#!/bin/bash
# 基本安全检查脚本
echo "===== 安全检查开始 ====="
echo "1. 检查未授权的SUID文件..."
find / -perm -4000 -type f -exec ls -la {} \; 2>/dev/null
echo "===== 2. 检查空密码账户 ====="
awk -F: '($2 == "") {print}' /etc/shadow
echo "===== 3. 检查世界可写文件 ====="
find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
echo "===== 4. 检查未授权的cron任务 ====="
ls -la /etc/cron.*
crontab -l
echo "===== 安全检查完成 ====="
通过实施这些命令和最佳实践,您可以显著提高Linux服务器的安全性,减少被攻击的风险。