安全 Linux
1. 系统帐号和密码管理
1 及时删除或禁用无用账户
在Linux系统中,所有账户信息都存储在/etc/passwd
文件中,系统管理员应定期检查该文件,验证账户的合法性,并及时删除或禁用不再使用的账户,以下是一些示例命令:
创建用户并锁定其账户:
useradd aaa -s /sbin/nologin passwd -l aaa
强制删除用户:
userdel aaa
修改用户的登录Shell为/sbin/nologin
:
sed -ri 's#(.*)aaa:/bin/bash#1aaa:/sbin/nologin#g' /etc/passwd
2 设置密码复杂度策略
为了提高密码的安全性,可以设置密码复杂度策略,以下是一个示例配置,要求密码至少包含16个字符,包含大小写字母、数字和特殊字符:
cp /etc/pam.d/system-auth{,.bak} sed -r 's#(.*)type=#1type= minlen=16 ucredit=-1 lcredit=-1 ocredit=-1 dcredit=-1#g' /etc/pam.d/system-auth
还可以限制连续错误登录次数,超过最大次数则锁定账户:
cp /etc/pam.d/sshd{,.bak} sed -i '2aauth required pam_tally2.so onerr=fail deny=3 unlock-time=300 even_deny_root root_unlock_time=300' /etc/pam.d/sshd
3 保护Shadow密码文件
确保/etc/shadow
文件的权限设置为只有root用户可读写:
chmod 600 /etc/shadow chown root:root /etc/shadow
4 防止root账户被篡改
通过限制root用户远程登录和使用sudo提权,可以减少root账户被攻击的风险:
禁止root用户远程登录:
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
配置sudo,允许特定用户执行特权命令:
usermod -aG wheel username visudo
在打开的编辑器中添加:
%wheel ALL=(ALL) NOPASSWD: ALL
2. 网络安全
1 Ping入侵防范
为了防止ping入侵,可以在防火墙中设置规则,丢弃ICMP回显请求包:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
2 端口安全
定期扫描开放端口,关闭不必要的服务和端口,使用nmap进行端口扫描:
nmap -sS -O 192.168.1.1 iptables -A INPUT -p tcp --dport 22 -j DROP # 禁止远程SSH登录
3 拒绝攻击防范
配置防火墙规则以检测和阻止拒绝服务(DoS)攻击,可以使用fail2ban等工具自动封禁攻击源IP。
4 加强Xinetd的安全
如果使用xinetd超级守护进程管理网络服务,确保其配置文件/etc/xinetd.d/
中的服务仅监听信任的网络接口,并设置适当的访问控制。
3. 文件系统的安全
1 权限管理
确保文件和目录的权限设置合理,避免未经授权的访问,使用chmod
和chown
命令调整权限:
chmod 755 /path/to/directory chown user:group /path/to/file
2 SELinux配置
SELinux提供了强制访问控制(MAC),可以进一步增强系统安全性,确保SELinux处于启用状态,并适当配置策略:
sestatus sed -i 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
4. 系统日志的保存
1 日志管理
配置日志记录策略,确保重要事件和操作都被记录下来,常用的日志文件包括/var/log/messages
、/var/log/secure
等,定期检查日志文件,监控异常活动:
tail -f /var/log/secure
5. 内核更新及安全补丁安装
1 定期更新系统
保持系统和软件的最新状态,及时安装安全补丁,使用包管理器更新系统:
yum update -y apt-get update && apt-get upgrade -y
2 安全补丁管理
订阅厂商的安全公告,及时获取和应用安全补丁,可以使用自动化工具如Ansible或Puppet来管理和部署补丁。
相关问题与解答
问题1:如何更改SSH服务的默认端口?
解答:可以通过修改SSH配置文件/etc/ssh/sshd_config
来更改默认端口,将端口更改为65534:
vi /etc/ssh/sshd_config Port 65534
然后重新启动SSH服务:
systemctl restart sshd
>注意:如果使用SELinux,还需要告知SELinux关于新的端口号:
semanage port -a -t ssh_port_t -p tcp 65534
问题2:如何使用fail2ban防止暴力破解?
解答:fail2ban是一款用于防止暴力破解的工具,可以自动封禁多次失败登录尝试的IP地址,以下是安装和配置fail2ban的基本步骤:
1、安装fail2ban:
yum install fail2ban -y
2、编辑配置文件/etc/fail2ban/jail.local
,添加要保护的服务和封禁策略,保护SSH服务:
[sshd] enabled = true port = ssh logpath = /var/log/secure maxretry = 3
3、启动并启用fail2ban服务:
systemctl start fail2ban systemctl enable fail2ban
各位小伙伴们,我刚刚为大家分享了有关“安全 linux”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/655344.html