14个Linux系统安全小妙招,总有一招用的上!
原创14个Linux系统平安小妙招,总有一招用的上!
在维护Linux系统的平安方面,有很多小技巧和最佳实践可以帮助我们节约系统的平安性。以下是一些实用的Linux系统平安小妙招,总有一招会对你有所帮助。
1. 使用强密码策略
确保所有用户账户都使用强密码。强密码应该包含大小写字母、数字和特殊字符,并且长度至少为8个字符。可以使用以下命令来检查密码策略:
bash
cat /etc/login.defs | grep -i 'PASSWORD_MIN_LEN'
如果发现密码长度不够,可以修改`/etc/login.defs`文件中的`PASSWORD_MIN_LEN`值。
2. 定期更新系统
保持系统软件的更新是防止平安漏洞的关键。可以使用以下命令来更新系统:
bash
sudo apt-get update
sudo apt-get upgrade
对于Red Hat系发行版,可以使用:
bash
sudo yum update
3. 安装平安软件包
安装一些平安相关的软件包,如`fail2ban`和`unbound`等,可以帮助越来越系统平安。
bash
sudo apt-get install fail2ban unbound
4. 使用SELinux
SELinux(平安越来越型Linux)可以提供更高级别的平安保护。启用SELinux可以通过编辑`/etc/selinux/config`文件来实现:
bash
sudo vi /etc/selinux/config
将`SELINUX=disabled`改为`SELINUX=enforcing`,然后重启系统。
5. 局限SSH访问
只允许特定的IP地址或IP段通过SSH访问服务器。编辑`/etc/ssh/sshd_config`文件:
bash
sudo vi /etc/ssh/sshd_config
添加以下行:
AllowUsers username
AllowGroups groupname
或者使用`AllowUsers`和`AllowGroups`来指定允许访问的用户和组。
6. 禁用不必要的端口
关闭不必要的网络端口可以缩减攻击面。可以使用`iptables`或`firewalld`来管理端口。
bash
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
对于使用`firewalld`的系统,可以使用以下命令:
bash
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
7. 使用公钥认证
使用SSH密钥对进行认证比使用密码更平安。生成SSH密钥对:
bash
ssh-keygen -t rsa -b 2048
然后将公钥添加到远程服务器的`~/.ssh/authorized_keys`文件中。
8. 使用Fail2Ban自动防御暴力破解
Fail2Ban可以监控登录尝试并自动阻止连续落败的登录尝试。配置Fail2Ban:
bash
sudo vi /etc/fail2ban/jail.conf
添加或修改以下行:
enabled = true
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 600
bantime = 3600
9. 使用AppArmor越来越进程平安
AppArmor是一种平安模块,可以局限进程访问特定的文件和系统资源。为Apache服务器启用AppArmor:
bash
sudo vi /etc/apparmor.d/apache2
添加以下行:
/profile /usr/sbin/apache2 flags=(root) /usr/sbin/apache2
然后重新加载AppArmor:
bash
sudo apparmor_parser -R /etc/apparmor.d/usr/sbin/apache2
10. 定期备份系统
定期备份系统数据是防止数据丢失的重要措施。可以使用`rsync`或`tar`等工具进行备份。
bash
sudo rsync -a /var/www /backup/
或者:
bash
sudo tar -czvf /backup/system_backup_$(date +%Y%m%d%H%M%S).tar.gz /var/www
11. 使用systemd-cron越来越定时任务平安性
systemd-cron提供了一种更平安的方法来设置定时任务。创建一个`@reboot`服务:
bash
sudo vi /etc/systemd/system/reboot.service
添加以下内容:
[Unit]
Description=Reboot service
[Service]
ExecStart=/usr/bin/some_command
[Install]
WantedBy=multi-user.target
然后启用并启动服务:
bash
sudo systemctl enable reboot.service
sudo systemctl start reboot.service