暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

redhat/linux 操作系统上面进行安全加固

原创 伟鹏 2024-05-20
1354

在Linux系统中,为了增强系统的安全性,需要采取一系列的安全加固措施。其中,密码输入错误5次后锁定5分钟是一种常见的安全策略。通过配置PAM(Pluggable Authentication Modules)模块的tally2功能,可以实现这一策略。具体操作如下:

  1. 使用vi编辑器打开/etc/pam.d/login文件,添加以下内容:
auth required pam_tally2.so deny=5 unlock_time=5 even_deny_root root_unlock_time=10

这表示当用户连续输入错误密码5次后,账户将被锁定5分钟。even_deny_root参数表示即使是root用户也会受到同样的限制,而root_unlock_time参数则指定了root用户的解锁时间,这里设置为10分钟。如果不希望对root用户设置同样的限制,可以将上述命令修改为:

auth required pam_tally2.so deny=3 unlock_time=5

这样,只有普通用户会受到上述限制,而root用户仍然可以无限制地尝试登录。

  1. 为了提醒用户定期更改密码,可以在/etc/login.defs文件中设置相关参数。打开该文件,添加或修改以下内容:
PASS_MAX_DAYS 180 PASS_MIN_DAYS 7 PASS_WARN_AGE 30 PASS_MIN_LEN 8

这些参数分别表示密码的最大使用天数、最小使用天数、警告天数和最小密码长度。根据上述设置,密码的有效期为180天,最短使用天数为7天,30天后开始提醒用户更改密码,且密码长度不得小于8个字符。

  1. 为了加强密码强度,可以使用pam_cracklib模块来检查密码的复杂度。在/etc/pam.d/system-auth文件中添加以下内容:
password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1

这表示密码必须包含数字、大小写字母、符号,且长度不小于8个字符。difok参数表示允许的简单密码个数,ucredit、lcredit和dcredit分别表示至少包含一个大写字母、一个小写字母和一个数字。

  1. 为了防止用户在命令行下长时间不操作而导致资源浪费,可以在/etc/profile文件中设置自动退出时间。添加以下内容:
TMOUT=300

这表示用户在命令行下超过5分钟不操作后,将自动退出登录。

  1. 为了提高SSH登录的安全性,可以禁止root用户远程登录。在/etc/ssh/sshd_config文件中添加以下内容:
PermitRootLogin no Protocol 2 MaxAuthTries 3

这表示禁止root用户进行SSH登录,并限制最大认证尝试次数为3次。

  1. 最后,可以通过编写一个脚本来实现上述所有的安全加固操作。脚本内容如下:
#!/bin/sh ### times limits on password errors echo "auth required pam_tally2.so deny=5 unlock_time=5 even_deny_root root_unlock_time=10" >> /etc/pam.d/login ###warning 180 days echo "PASS_MAX_DAYS 180" >> /etc/login.defs echo "PASS_MIN_DAYS 7" >> /etc/login.defs echo "PASS_WARN_AGE 30" >> /etc/login.defs echo "PASS_MIN_LEN 8" >> /etc/login.defs ###-crypth stregnth echo "password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1" >> /etc/pam.d/system-auth ### idle time limits echo "TMOUT=300" >> /etc/profile ### root login deny echo "PermitRootLogin no" >> /etc/ssh/sshd_config echo "MaxAuthTries 3" >> /etc/ssh/sshd_config ###limits su useradd hbdtzx usermod -G wheel hbdtzx echo "auth required pam_wheel.so group=wheel" >> /etc/pam.d/su echo "SU_WHEEL_ONLY yes" >> /etc/login.defs ###log limits echo "LogLevel INFO" >> /etc/ssh/sshd_config chmod 640 /var/log/cron* chmod 640 /var/log/messages* chmod 640 /var/log/secure* chmod 640 /var/log/lastlog chmod 640 /var/log/maillog* chmod 640 /var/log/dmesg* ###user limits chmod 600 /etc/hosts.* chmod 644 /etc/passwd chmod 600 /etc/shadow chmod 644 /etc/group service sshd restart

将以上脚本保存为一个文件,例如命名为linux_security_harden.sh,然后在终端中运行该脚本即可完成所有的安全加固操作。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论