Linux基础防护

系统更新先行

系统不更新,啥安全都白扯!先把系统补丁更新做好:

sudo apt update && sudo apt upgrade -y

嫌每次更新麻烦?可以设置自动更新:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades

SSH安全加固

SSH就是远程登录的重要手段,不加固好就等于把家门随便放着。所以配置ssh的加固就非常重要:

1. 禁止root直接登录

编辑这个文件:

sudo vi /etc/ssh/sshd_config

找到PermitRootLogin,改成:

PermitRootLogin no

2. 用密钥代替密码

这招特别好使!先在自己电脑上生成密钥:

ssh-keygen -t rsa -b 4096

然后把公钥放到服务器上:

ssh-copy-id username@server_ip

关闭密码登录:

PasswordAuthentication no

3. 换个隐蔽的端口

默认22端口太显眼了,换个其他端口,至少能躲掉一半的扫描:

Port 2222

记得每次改完都要重启SSH:

sudo systemctl restart sshd

防火墙配置

UFW是Ubuntu自带的防火墙,简单好用!

# 安装UFW
sudo apt install ufw

# 只开放需要的端口
sudo ufw allow 2222/tcp # SSH端口
sudo ufw allow http
sudo ufw allow https

# 启动防火墙
sudo ufw enable

# 查看状态
sudo ufw status

用户权限管理

安全的第一条铁律:给最小权限!

1. 创建普通用户

sudo adduser newuser

2. 给sudo权限(按需分配)

sudo usermod -aG sudo newuser

3. 设置sudo超时

sudo visudo

加上这行(5分钟后要重新输密码):

Defaults timestamp_timeout=5

暴力破解防护

Fail2ban是个好东西,能自动封禁那些试图暴力破解的IP:

sudo apt install fail2ban

默认配置就挺好,想调整可以改/etc/fail2ban/jail.local

病毒防护

ClamAV是Linux下的免费杀毒软件,装上总没错:

sudo apt install clamav clamav-daemon

# 更新病毒库
sudo freshclam

# 扫描home目录
sudo clamscan -r /home

磁盘加密

特别是笔记本,丢了就麻烦了。建议在安装系统时就选择加密,已经装好的系统可以用LUKS加密重要目录。

双因素认证(2FA)

再安全的密码也可能被破解,加个双因素认证保险一点:

# 安装Google认证器
sudo apt install libpam-google-authenticator

# 运行配置向导
google-authenticator

日志监控

光有防护还不够,得知道谁来过:

sudo apt install logwatch
sudo logwatch --detail high --mailto your-email@example.com

精简服务

没用的服务都关掉,能少一个攻击面是一个:

# 查看运行的服务
systemctl list-units --type=service --state=running

# 关闭不需要的服务
sudo systemctl stop service_name
sudo systemctl disable service_name

写在最后

以上这些配置,都是我在实战中反复验证过的。但记住,安全不是一劳永逸的事情,需要持续关注和维护。建议大家把这些配置做成脚本,方便重复使用。