本帖最后由 沧海 于 2020-5-29 10:32 编辑
最近马上要护网了 分享一些安全加固方面的知识
linux常规安全配置
重要目录和文件权限:合理配置重要目录和文件权限,增强安全性 检查方法:使用ls -l命令查看目录和文件的权限设置情况 加固方法:对于重要目录,建议执行类似操作 chmod -R 750 /etc/rc.d/init.d/* 这样除了root可读,写,执行这个目录下的脚本
umask值 操作目的:设置默认的umask值,增强安全性 检查方法:使用umask查看umask值是否为027 加固方法:使用命令 vim /etc/profile 添加umask 027 即新创建的文件属主读写执行权限,同组用户读和执行权限,其他用户无权限。使用命令umask 027应用设置
bash历史命令 操作目的:设置bash保留历史命令的条数 检查方法:使用 cat /etc/profile|查看HISTSIZE 和 HISTFILESIZE 查看保留历史命令的条数 加固方法:vim /etc/profile 修改配置文件 HISTSIZE=5 即保留5条命令
登陆超时 操作目的:设置系统登陆后,连接超时时间,增强安全性 检查方法:使用命令 cat /etc/profile | grep TMOUT 查看tmout是否被设置 加固方法:vim /etc/profile 修改配置文件,把TMOUT设置为180 即超时时间为3分钟
root路径 操作目的:检查系统root用户环境变量path设置中是否包含 “ . ” 检查方法:root用户环境变量path中不应包含当前目录 “ . ”,以root身份执行命令:#echo $PATH /usr/local:/sbin:/bin:/usr/bin:/root/bin:. 加固方法:vim /etc/profile 修改echo $PATH后面的路径
禁用无用账号 操作目的:减少无用账号,降低风险 检查方法:使用 cat /etc/passwd 查看口令文件,确认不必要的账号。不必要的账号,shell应该sbin/nologin 加固方法:使用passwd -l user 锁定不必要的账号
账号策略 操作目的:防止口令暴力破解,降低风险 检查方法:使用命令 cat /etc/pam.d/system-auth 查看配置文件 加固方法:设置连续输错3次密码账号锁定2小时,vim /etc/pam.d/system-auth 修改配置文件 auth required pam_tally.so onerr=fail deny=3 unlock_time=7200
检查特殊账号 操作目的:查看空口令和root权限的账号 检查方法:使用命令 awk -F: '($3==0)'/etc/passwd 查看uid为0的账号 awk -F: '($2=="")'/etc/shadow 查看空口令账号 (上面两条命令冒号后多了空格,因为发出来会变成表情包) 加固方法:使用命令 passwd user 为空口令账号设定密码,uid为0的账号应该只有root 使用usermod -u uid user
口令周期策略 操作目的:加强口令的复杂度,降低被猜解的可能性 检查方法:使用命令 cat /etc/login.defs | grep PASS 和 cat /etc/pam.d/system-auth 查看密码策略 加固方法:vim /etc/login.defs 修改配置文件 PASS_MAX_DAYS 60 新建用户的密码最长使用天数
PASS_MIN_DAYS 0 新建用户的密码最短使用天数
PASS_WARN_AGE 7 新建用户的密码到期提前提醒天数 或 chage -m 0 -M 30 -E 2020-01-01- -W user(将user用户的密码长度设为30天,最短提醒天数为0 账号2020年1月1号过期,过期前7天警告用户)
口令复杂度策略 操作目的:加强口令的复杂程度,降低被猜解的可能性 检查方法:使用命令 cat /etc/pam.d/system-auth | grep pam_cracklib.so 查看密码复杂度策略设置 加固方法:建议在/etc/pam.d/system-auth文件中配置:password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 至少八位。包含一位大写字母,一位小写字母和一位数字
限制root远程登陆 操作目的:限制root远程telnet登陆 检查方法:检查方法 cat /etc/ssh/sshd_config 查看PermitRootLogin是否为no 加固方法:编辑文件 vim /etc/ssh/sshd_config PermitRootLogin no不允许root登陆 Protocol 2 修改ssh使用的协议版本 MaxAuthTries 3 修改允许密码错误次数 或echo "tty1" > /etc/securetty chmod 700 /root
限制能够su为root的用户 操作目的:检查是否使用pam认证模块禁止wheel组之外的用户su为root 检查方法:cat /etc/pam.d/su,查看是否有auth required /lib/security/pam_wheel.so这样的配置条目 加固方法:vim /etc/pam.d/su 在头部添加 auth required /lib/security/pam_wheel.so group=wheel
检查Grub/Lilo密码 操作目的:查看系统引导管理器是否设置密码 检查方法: cat /etc/grub.conf|grep password 查看grub是否设置密码 cat /etc/lilo.conf|grep password 查看lilo是否设置密码 加固方法:为grub或lilo设置密码(风险:etc/grub.conf通常会链接到/boot/grub/grub.conf) vim /etc/grub.conf 添加一行 password --md5 密码 vim /etc/lilo.conf password=密码
弱口令审计 操作目的:检查系统弱口令 检查方法:john /etc/shadow --single john /etc/shadow --wordlist=pass.dic 加固方法:使用passwd 用户 命令为用户设置复杂的密码
NFS共享 使用exportfs查看NFS输出的共享目录。使用vim /etc/exports编辑配置文件,删除不必要的共享
限制crtl+alt+del命令 操作目的:防止使用crtl+alt+del重启系统 检查方法:cat /etc/init/control-alt-delete.conf 加固方法:vim /etc/init/control-alt-delete.conf 注释两行代码
禁ping echo 0 > /proc/sys/net/ipv4/icmp_echo_igore_all |