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

 

 

后门检测工具

Rootkit Hunter(http://rkhunter.sourceforge.net/)

解压后安装 ./installer.sh --layout default --install

rkhunter --check 检测命令(自动检测)

 

友情链接  http://www.cnblogs.com/klionsec

                http://www.cnblogs.com/l0cm

                http://www.cnblogs.com/Anonyaptxxx

                http://www.feiyusafe.cn

转载于:https://www.cnblogs.com/Hydraxx/p/10757155.html

. 账号口令 1.1 检查设备密码复杂度策略(高危) 1.2 检查口令最小长度(高危) 1.3 检查是否设置口令更改最小间隔天数(高危) 1.4 检查是否设置口令生存周期(高危) 1.5 检查是否设置口令过期前警告天数(高危) 1.6 检查是否存在空口令账号(高危) 1.7 检查是否设置除root之外UID为0的用户(中危) 二. 认证授权 2.1 检查用户目录缺省访问权限设置(高危) 2.2 检查用户umask设置(中危) 2.3 检查重要文件属性设置(中危) 2.4 检查重要目录或文件权限设置(中危) 2.5 检查是否设置ssh登录前警告Banner(低危) 三. 日志审计 3.1 检查是否对登录进行日志记录(高危) 3.2 检查是否启用cron行为日志功能(低危) 3.3 检查是否配置su命令使用情况记录(低危) 3.4 检查日志文件是否非全局可写(低危) 3.5 检查安全事件日志配置(低危) 3.6 检查是否记录用户对设备的操作(低危) 3.7 检查是否配置远程日志功能(低危) 四. 协议安全 4.1 检查是否禁止root用户远程登录(高危) 4.2 检查是否禁止匿名用户登录FTP(高危) 4.3 检查使用IP协议远程维护的设备是否配置SSH协议,禁用telnet协议(高危) 4.4 检查是否修改snmp默认团体字(中危) 4.5 检查系统openssh安全配置(中危) 4.6 检查是否禁止root用户登录FTP(中危) 五. 其他安全 5.1 检查是否使用PAM认证模块禁止wheel组之外的用户su为root(高危) 5.2 检查是否设置命令行界面超时退出(高危) 5.3 检查是否关闭不必要的服务和端口(高危) 5.4 检查是否关闭系统信任机制(高危) 5.5 检查是否删除了潜在危险文件(高危) 5.6 检查系统core dump设置(中危) 5.7 检查root用户的path环境变量(中危) 5.8 检查系统是否禁用ctrl+alt+del组合键(中危) 5.9 检查密码重复使用次数限制(中危) 5.10 检查是否配置用户所需最小权限(中危) 5.11 检查系统内核参数配置(中危) 5.12 检查FTP用户上传的文件所具有的权限(低危) 5.13 检查/usr/bin/目录下可执行文件的拥有者属性(低危) 5.14 检查是否按用户分配账号(低危) 5.15 检查历史命令设置(低危) 5.16 检查系统磁盘分区使用率(低危) 5.17 检查日志文件权限设置(低危) 5.18 检查是否设置系统引导管理器密码(低危) 5.19 检查是否限制FTP用户登录后能访问的目录(低危) 5.20 检查是否设置ssh成功登录后Banner(低危) 5.21 检查是否使用NTP(网络时间协议)保持时间同步(低危) 5.22 检查是否关闭IP伪装和绑定多IP功能(低危) 5.23 检查是否限制远程登录IP范围(低危) 5.24 检查NFS(网络文件系统)服务配置(低危) 5.25 检查拥有suid和sgid权限的文件(低危) 5.26 检查是否配置定时自动屏幕锁定(适用于具备图形界面的设备)(低危) 5.27 检查是否安装chkrootkit进行系统监测(低危) 5.28 检查是否对系统账号进行登录限制(低危) 5.29 检查是否禁用不必要的系统服务(低危) 5.30 检查别名文件/etc/aliase(或/etc/mail/aliases)配置(低危) 5.31 检查账户认证失败次数限制(低危) 5.32 检查telnet Banner 设置(低危) 5.33 检查FTP Banner设置(低危) 5.34 检查是否关闭数据包转发功能(适用于不做路由功能的系统)(低危) 5.35 检查是否安装OS补丁(低危) 5.36 检查是否按组进行账号管理(低危) 5.37 检查是否删除与设备运行、维护等工作无关的账号(低危)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值