linux系统安全防护
查看密码策略
/etc/login.defs
/etc/login.defs
文件定义了与/etc/passwd
和/etc/shadow
配套的用户限制设置。这个文件是定要存在的,缺失并不会影响系统的使用,但是也许会产生意想不到的错误。
如果/etc/shadow
文件里有相同的选项,则以/etc/shadow
里的设置为准,也就是说**/etc/shadow的配置优先级高于/etc/login.defs**。
PASS_MAX_DAYS 99999 #密码的最大有效期 天 ,推荐90
PASS_MIN_DAYS 0 #两次修改密码的最小间隔时间
PASS_WARN_AGE 7 #密码过期前多少星期开始提示
PASS_MIN_LEN #用户密码的最少长度,root用户无效
ENCRYPT_METHOD SHA512 #Linux用户使用 SHA512 散列模式加密
UMASK 022 #创建用户目录的UMASK值
/etc/passwd
在Linux
/etc/passwd
文件中每个用户都有一个对应的记录行,它记录了这个用户的一些基本属性。系统管理员经常会接触到这个文件的修改以完成对用户的管理工作。
内容
# id:密码(统一用X代替):用户UID:GID:注释信息:用户的home目录:用户shell
root:x :0 :0 :root :/root :/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
...
/etc/shadow
检查空密码
前面介绍了
/etc/passwd
文件,由于该文件允许所有用户读取,易导致用户密码泄露,因此Linux系统将用户的密码信息从/etc/passwd
文件中分离出来,并单独放到了此文件中。
/etc/shadow
文件只有root用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。 注意,如果这个文件的权限发生了改变,则需要注意是否是恶意攻击。
root:$6$8810rg2Q$WeVTW6VtBdaUCBmu7/26HJil1bjFTTQUgq1aBQRQEMPqkOKuntW7lz.GeVZuRuNmpnNmQ8rRvjTwBdkyanRA6. :19277 :0 :99999 :7 : : :daemon :* :17959 :0 :99999 :7 : : :
用户名
加密密码
最后一次修改时间
最小修改时间间隔(day)
密码有效期(day)
密码需要变更前的警告天数
密码过期后的宽限天数
账号失效时间
保留
访问控制
/etc/ssh/sshd_config
ssh功能配置
内容
Port 22 #端口 建议不要22
ListenAddress 0.0.0.o #监听地址,只能使用这个地址访问,配置内网地址
LoginGraceTime 2m #连接主机时,输入密码的时间超过多长时间就断开,30s
PermitRootLogin yes #是否允许root登入 no
passwd #创建用户与密码useradd
MaxAuthTries 6 #可以测试密码的次数I使用本地xshe71测试,3
Maxsessions 3 #同时发起登录请求的数量,3
clientAlivecountMax #客户端超时次数(输密码的次数),3
/etc/bashrc
环境变量,初始化整个bash的设置
ubantu系统修改
~/.bashrc
文件
/etc/profile
环境变量,初始化整个系统的设置
/etc/hosts.deny
主机黑名单
sshd:ALL #所有主机禁止登录sshd,配合白名单
/etc/hosts.allow
主机白名单
sshd:[ip] #把需要的主机IP填入
安全审计
/etc/rsyslog.conf
系统日志管理,配置安全日志的完备性
# 需要打印的日志类型 保存地址
*.err;kern.debug;daemon.notice /var/log/adm.log
#配置日志的远程主机(把日志保存到其他主机文件) *.*: 所有日志
*.* @192.q68.0.1:514
mail.* ....
history
查看命令执行记录
将 HISTTIMEFORMAT 变量加入 /etc/profile 文件中,让它对所有用户永久生效。打印出来的命令带有时间
入侵防范(关闭不必要的服务)
systemctl list-unit-files | grep enabled #查看启动的服务 开机自启动
systemctl disable nginx #关闭 nginx 服务
挂服务指纹
systemctl list-unit-files | grep enabled > text
md5sum text
md5sum --check md5 #检查这个MD5值是否被修改
渗透测试工具
扫描
链路检测扫描
ping
端口检测扫描
talnet
探测这个端口是否开放
Nmap
-1667211762248)]
链路检测扫描
ping
[外链图片转存中…(img-5KO2jDbd-1667211762249)]
端口检测扫描
talnet
探测这个端口是否开放
[外链图片转存中…(img-fj1nLTpQ-1667211762249)]