系统安全加固--口令配置
1、检查是否设置账户口令的生存期不长于90天
修改/etc/login.def PASS_MAX_DAYS 90 --99999 PASS_MIN_DAYS 10 --0 PASS_MIN_LEN 8 --5 PASS_WARN_AGE 5 --7
2、检查是否设置用户不能重复使用最近5次(含5次)内已使用的口令
修改文件 # vi /etc/pam.d/system-auth 在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
3、检查是否设置当用户连续认证失败次数超过5次,锁定该用户使用的账户。
# vim /etc/pam.d/login auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=10
4、检查默认账号,是否删除或锁定与设备运行、维护等工作无关的账号。查看多余账号# cat /etc/passwd
[root@localhost ~]# userdel username [root@localhost ~]# groupdel groupname 删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator, games,gopher等。 删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers, slipusers等。
5、检查远程登录限制,是否限制具备超级管理员权限的用户远程登录
限制具备超级管理员权限的用户远程登录。远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作。
Root从远程使用Telnet登录;
普通用户从远程使用Telnet登录;
Root从远程使用ssh登录;
普通用户从远程使用ssh登录;
6、检查用户缺省访问权限,是否配置用户缺省访问权限,屏蔽掉新建文件和目录不该有的访问允许权限。
查看新建的文件或目录的权限,操作举例如下: #ls -l dir; #查看目录dir的权限 #cat /etc/default/login /etc/default/login不存在 (查看是否有umask027内容)
7、检查服务开启,是否最小化,关闭不必要的服务。
/etc/rc.d/init.d或# rpm -qi $(rpm -qf /etc/rc.d/init.d/sshd) chkconfig –level 2345 服务名称 off
8、检查补丁安全,是否在确保业务不受影响的情况下及时更新操作系统补丁。
查看补丁安装情况:
# rpm –qa | grep patch /etc/sysconfig/yum-cron CHECK_ONLY=yes 更新的补丁在: http://itrc.hp.com/service/patch/releaseIndexPage.do
9、检查日志审计功能设置,是否配置日志审计功能
查看日志服务是否开启#service -–status-all | grep syslog 在root权限下,使用命令more、cat或vi查看 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UUCP和news设备相关的日志信息 /var/log/boot.log 守护进程启动和停止相关的日志消息
10、检查远程管理加密协议,是否配置使用SSH等加密协议进行远程管理,禁止使用Telnet等明文传输协议。
查看SSH服务状态:#ps –elf|grep ssh 查看Telnet服务状态:#ps –elf|grep telnet (是否有SSH进程存在:#ps –elf|grep ssh)
11、检查登录超时时间设置,是否设置登录账号的登录超时为30分钟
cat /etc/profile|grep TMOUT -n 查看超时时间参数TMOUT 在/etc/profile 后面添加 export TMOUT=1800 readonly TMOUT
12、ssh安全设置策略(/etc/ssh/sshd_config)
Port 22 #ssh服务端口号,我们可以改成高端口,一般端口扫描工具不会扫描高端口的。 AddressFamily any #ssh服务的协议族,可以用ipv4 ipv6或者直接使用any。 Protocol 2 #ssh服务协议版本,默认为1,建议使用2,1有漏洞。 KeyRegenerationInterval 3600 # 在SSH-1协议下,短命的服务器密钥将以此指令设置的时间为周期(秒),不断重新生成。这个机制可以尽量减小密钥丢失或者黑客攻击造成的损失。 ServerKeyBits 2048 # 指定临时服务器密钥的长度。1024存在认证漏洞,安全最低2048位。 LogLevel ERROR #日志级别,可以使用 QUIET, FATAL, ERROR, INFO(默认), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3。 LoginGraceTime 30 #限制用户必须在指定的时限内认证成功,建议设置低,增加暴力破解难度,单位为秒。 MaxAuthTries 3 #最多登录尝试次数,建议设置低一些,加大暴力破解难度。 RSAAuthentication yes #使用纯 RSA公钥认证。 PubkeyAuthentication yes #使用公钥认证,推荐使用安全高效! AuthorizedKeysFile .ssh/authorized_keys #用户公钥文件保存路径,默认为用户的home目录下.ssh隐藏文件夹中的authorized_keys,建议更换到其他目录,防止丢失或者被恶意登陆者在默认的这个路径中找到篡改。 PermitEmptyPasswords no #不允许空密码登录,这个太危险啦。 GSSAPIAuthentication no #不基于 GSSAPI 的用户认证,关闭,优化性能。 UsePAM no #使用PAM认证,如果不用LDAP之类的登陆,建议关闭,优化性能。 X11Forwarding no #如果没有使用x11转发最好关闭掉,优化性能。 PrintMotd no #登录打印公告信息,可以修改或者关闭,修改/etc/motd来震慑恶意登陆者,默认会显示一些系统信息,关闭掉,减少恶意登陆者获取的信息量,防止被恶意利用。 PrintLastLog no #不打印最后登陆信息,减少恶意登陆者获取的信息量,防止被恶意利用。 TCPKeepAlive yes #保持长连接,加快连接速度,优化性能。 PidFile /var/run/sshd.pid #ssh服务的pid文件。 Banner none #不显示系统banner信息,如果开启会在每次登陆时显示系统信息,减少恶意登陆者获取的信息量,防止被恶意利用。 PermitRootLogin no #禁止root用户登陆,降低远程登陆的用户权限。 PasswordAuthentication no #允许用户名密码登陆,no,禁止使用用户名和密码登陆,使用公钥登陆,防止针对用户名和密码的暴力破解。
13、检查是否设置口令长度至少8位,并包括数字,小写字符、大写字符和特殊符号4类中至少2类。
在文件/etc/login.defs中设置 PASS_MIN_LEN 不小于标准值 修改/etc/pam.d/system-auth文件, 在ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 选3种,追加到password requisite pam_cracklib.so后面,添加到配置文件中。 例如:password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1 注:ucredit:大写字母个数;lcredit:小写字母个数;dcredit:数字个数;ocredit:特殊字符个数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-03-02 openssl dhparam(密钥交换)
2020-03-02 openssl enc(对称加密)
2020-03-02 openssl rsautl和openssl pkeyutl(文件的非对称加密)
2020-03-02 openssl dgst(生成和验证数字签名)
2020-03-02 openssl passwd
2020-03-02 openssl speed和openssl rand
2020-03-02 openssl rsa和openssl pkey