Linux 安全
Linux 安全
1.bootloader配置权限检查
检测类型:bootloader配置权限
风险等级:中危
风险描述:以下关键文件或目录权限错误:/boot/grub/grub.cfg
当前权限: 444 : root 安全权限: 600 : root
解决方案:
1、对【/boot/grub2/grub.cfg
】文件,配置对应权限
2、
chmod 600 /boot/grub2/grub.cfg
chown root /boot/grub2/grub.cfg
2.SSH 空闲超时时间检测
检测类型:SSH 空闲超时时间检测
风险等级:中危
风险描述:当前SSH空闲超时时间为:0,请设置为600-900
解决方案:
1、在【/etc/ssh/sshd_config
】文件中设置【ClientAliveInterval
】设置为600到900之间
2、提示:SSH空闲超时时间建议为:600-900
vi /etc/ssh/sshd_config
ClientAliveInterval 900
3.检查重要文件是否存在suid和sgid权限
检测类型:检查拥有suid和sgid权限的文件
风险等级:中危
风险描述:以下文件存在sid特权,chmod u-s或g-s去除sid位:"/usr/bin/chage、/usr/bin/gpasswd、/usr/bin/wall、/usr/bin/chfn、/usr/bin/chsh、/usr/bin/newgrp、/bin/mount、/bin/umount"
解决方案:
1、使用chmod u-s/g-s
【文件名】命令修改文件的权限
chmod u-s/g-s /usr/bin/chage
chmod u-s/g-s /usr/bin/gpasswd
chmod u-s/g-s /usr/bin/wall
chmod u-s/g-s /usr/bin/chfn
chmod u-s/g-s /usr/bin/chsh
chmod u-s/g-s /usr/bin/newgrp
chmod u-s/g-s /bin/mount
chmod u-s/g-s /bin/umount
4.检查SSH密码失效时间
检测类型:检查SSH密码失效时间
风险等级:中危
风险描述:【/etc/login.defs】文件中把PASS_MAX_DAYS设置为90-180之间
解决方案:
1、【/etc/login.defs】 使用非密码登陆方式密钥对。请忽略此项, 在/etc/login.defs 中将PASS_MAX_DAYS 参数设置为90-180之间
2、PASS_MAX_DAYS 90 需同时执行命令设置root密码到期时间 命令如下: chage --maxdays 90 root
5.检查是否设置无操作超时退出
检测类型:检查是否设置命令行界面超时退出
风险等级:中危
风险描述:未配置命令行超时退出
解决方案:
1、在文件【/etc/profile】中添加tmout=300,等保要求不大于600秒
2、执行命令source /etc/profile使配置生效
vi /etc/profile
tmout=900
source /etc/profile
6.检查SSH密码修改最小间隔
检测类型:检查SSH密码修改最小间隔
风险等级:中危
风险描述:【/etc/login.defs】文件中把PASS_MIN_DAYS大于等于7
解决方案:
1、【/etc/login.defs】 PASS_MIN_DAYS 应设置为大于等于7
2、PASS_MIN_DAYS 7 需同时执行命令设置root 密码失效时间 命令如下: chage --mindays 7 root
7.检查ls和rm命令是否设置别名
检测类型:检查别名配置
风险等级:低危
风险描述:ls、rm命令未配置别名或配置不当
解决方案:
1、在文件【~/.bashrc】中添加或修改alias ls='ls -alh'以及alias rm='rm -i'
2、执行【source ~/.bashrc】使配置生效
vi ~/.bashrc
# -l : (list)以列表形式显示
# -a: (all)显示全部文件, 包括隐藏文件
# -h: (human readable)人性化形式显示文件大小
alias ls='ls -alh'
alias rm='rm -i' #询问是否删除
source ~/.bashrc
8.设置ssh登录白名单
检测类型:ssh访问控制列表检查
风险等级:低危
风险描述:未设置ssh登录白名单
解决方案:
1、在【/etc/hosts.deny】添加ALL:ALL
2、在【/etc/hosts.allow】添加sshd:【来访者IP地址】
vi /etc/hosts.deny
ALL:ALL
vi /etc/hosts.allow
sshd:【来访者IP地址】
9.检测是否使用安全的套接字层加密传输信息,避免被侦听敏感信息
检测类型:是否使用加密的远程管理ssh
风险等级:中危
风险描述:未使用安全套接字加密远程管理ssh
解决方案:
1、在【/etc/ssh/sshd_config
】文件中添加或修改Protocol 2
2、随后执行命令systemctl restart sshd
重启进程
vi /etc/ssh/sshd_config
Protocol 2
systemctl restart sshd
10.检测是否开启系统防火墙
检测类型:系统防火墙检测
风险等级:中危
风险描述:未开启系统防火墙,存在安全风险
解决方案:
1、建议开启系统防火墙,以避免所有服务器端口暴露在互联网上,如服务器有【安全组】功能,请忽略此提示
2、注意:开启系统防火墙需提前将需要开放的端口,特别是SSH和面板端口加入放行列表,否则可能导致服务器无法访问
11.检测是否禁止ICMP协议访问服务器(禁Ping)
检测类型:ICMP检测
风险等级:中危
风险描述:当前未开启【禁Ping】功能,存在服务器被ICMP攻击或被扫的风险
解决方案:
1、在【安全】页面中开启【禁Ping】功能
2、注意:开启后无法通过ping通服务器IP或域名,请根据实际需求设置
永久禁用:
echo net.ipv4.icmp_echo_ignore_all=1 > /etc/sysctl.conf
执行sysctl -p使新配置生效
永久启用:
echo net.ipv4.icmp_echo_ignore_all=0 > /etc/sysctl.conf
执行sysctl -p使新配置生效
sysctl -p
临时禁用:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
临时启用:
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
12.检查是否开启TCP-SYNcookie保护缓解syn flood攻击
检测类型:TCP-SYNcookie保护检测
风险等级:低危
风险描述:未开启TCP-SYNcookie保护
解决方案:
1、在【/etc/sysctl.conf
】文件中添加net.ipv4.tcp_syncookies=1
2、然后执行命令sysctl -p
生效配置
vi /etc/sysctl.conf
net.ipv4.tcp_syncookies=1
sysctl -p