Linux服务器基线配置及加固建议

Centos7系统基线合规检测

检查项: 系统crontab权限设置
加固建议: 依次执行:rm -f /etc/cron.deny ;rm -f /etc/at.deny touch /etc/cron.allow touch /etc/at.allow chmod 0600 /etc/cron.allow chmod 0600 /etc/at.allow

检查项: 禁止转发ICMP重定向报文
加固建议: 执行sysctl -w net.ipv4.conf.all.send_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv4.conf.all.send_redirects=0,不存在则添加

检查项: 禁止转发ICMP重定向报文
加固建议: 执行sysctl -w net.ipv4.conf.default.send_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv4.conf.default.send_redirects=0,不存在则添加

检查项: 禁止包含源路由的ip包
加固建议: 执行sysctl -w net.ipv4.conf.all.accept_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv4.conf.all.accept_redirects=0,不存在则添加

检查项: 禁止包含源路由的ip包
加固建议: 执行sysctl -w net.ipv4.conf.default.accept_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv4.conf.default.accept_redirects=0,不存在则添加

检查项: 禁止转发安全ICMP重定向报文
加固建议: 执行sysctl -w net.ipv4.conf.all.secure_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv4.conf.all.secure_redirects=0,不存在则添加

检查项: 禁止转发安全ICMP重定向报文
加固建议: 执行sysctl -w net.ipv4.conf.default.secure_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv4.conf.default.secure_redirects=0,不存在则添加

检查项: 禁止ipv6路由广播
加固建议: 执行sysctl -w net.ipv6.conf.all.accept_ra=0,再查看/etc/sysctl.conf中是否存在net.ipv6.conf.all.accept_ra=0,不存在则添加

检查项: 禁止ipv6路由广播
加固建议: 执行sysctl -w net.ipv6.conf.default.accept_ra=0,再查看/etc/sysctl.conf中是否存在net.ipv6.conf.default.accept_ra=0,不存在则添加

检查项: 禁止ipv6路由重定向
加固建议: 执行sysctl -w net.ipv6.conf.all.accept_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv6.conf.all.accept_redirects=0,不存在则添加

检查项: 禁止ipv6路由重定向
加固建议: 执行sysctl -w net.ipv6.conf.default.accept_redirects=0,再查看/etc/sysctl.conf中是否存在net.ipv6.conf.default.accept_redirects=0,不存在则添加

检查项: 密码授权新密码与老密码不能重复
加固建议: 在/etc/pam.d/password-auth中添加:password sufficient pam_unix.so remember=3 ,remember的值表示此次设置密码与过去3次不同

检查项: 系统授权新密码与老密码不能重复
加固建议: 在/etc/pam.d/system-auth中添加:password sufficient pam_unix.so remember=3 ,remember的值表示此次设置密码与过去3次不同

检查项: rsyslog日志文件权限配置
加固建议: 在/etc/rsyslog.conf中添加:$FileCreateMode 0640

检查项: 禁止root直接登录
加固建议: 注意:在修改此项之前,请务必创建一个可登陆账号;在/etc/ssh/sshd_config中PermitRootLogin的值:yes设置为no

检查项: 默认登录端口检测
加固建议: 在/etc/ssh/sshd_config中取消Port 22注释符号#,并修改22为其它值

检查项: SSHD强制使用V2安全协议
加固建议: 在/etc/ssh/sshd_config中取消Protocol注释符号#

检查项: SSHD仅记录ssh用户登录活动
加固建议: 在/etc/ssh/sshd_config中取消LogLevel INFO注释符号#

检查项: SSHD仅记录ssh用户登录活动
加固建议: 在/etc/ssh/sshd_config中取消MaxAuthTries注释符号#,设置自定义最大密码尝试失败次数

检查项: 清理主机远程登录历史主机记录
加固建议: 在/etc/ssh/sshd_config中取消IgnoreRhosts yes注释符号#

检查项: 禁止主机认证登录
加固建议: 在/etc/ssh/sshd_config中取消HostbasedAuthentication no注释符号#

检查项: 禁止空密码用户登录
加固建议: 在/etc/ssh/sshd_config中取消PermitEmptyPasswords no注释符号#

检查项: 禁止用户修改环境变量
加固建议: 在/etc/ssh/sshd_config中取消PermitUserEnvironment no注释符号#

检查项: 设置输入密码间隔时间
加固建议: 在/etc/ssh/sshd_config中取消LoginGraceTime前注释符,同时设置输入密码时间间隔秒数

检查项: 设置用户密码最小长度
加固建议: 在/etc/security/pwquality.conf中取消minlen注释符号#,同时设置最小密码长度建议10位以上

检查项: 设置用户密码数字位数
加固建议: 在/etc/security/pwquality.conf中取消dcredit注释符号#,同时设置为负数建议-1最少包含1位数字

检查项: 设置用户密码大写字母位数
加固建议: 在/etc/security/pwquality.conf中取消ucredit注释符号#,同时设置为负数建议-1最少包含1位大写字母

检查项: 设置用户密码小写字母位数
加固建议: 在/etc/security/pwquality.conf中取消lcredit注释符号#,同时设置为负数建议-1最少包含1位小写字母

检查项: 设置用户密码特殊字符位数
加固建议: 在/etc/security/pwquality.conf中取消ocredit注释符号#,同时设置为负数建议-1最少包含1位特殊字符

检查项: 强制密码失效时间
加固建议: 在/etc/login.defs 设置强制密码失效时间,建议值365

检查项: 密码修改最小间隔时间
加固建议: 在/etc/login.defs 设置密码修改最小间隔时间,建议值7

检查项: 设置有密码账户不活动最大时间
加固建议: 使用如下命令设置有密码账户不活动最大时间值:useradd -D -f 1095,建议值1095天

检查项: 检查/boot/grub2/grub.cfg文件ACL属性
加固建议: 执行:chmod 0600 /boot/grub2/grub.cfg

检查项: 检查/etc/crontab文件ACL属性
加固建议: 执行:chmod 0600 /etc/crontab

检查项: 检查/etc/cron.hourly文件ACL属性
加固建议: 执行:chmod 0600 /etc/cron.hourly

检查项: 检查/etc/cron.daily文件ACL属性
加固建议: 执行:chmod 0600 /etc/cron.daily

检查项: 检查/etc/cron.weekly 文件ACL属性
加固建议: 执行:chmod 0600 /etc/cron.weekly

检查项: 检查/etc/cron.monthly 文件ACL属性
加固建议: 执行:chmod 0600 /etc/cron.monthly

检查项: 检查/etc/cron.d 文件ACL属性
加固建议: 执行:chmod 0600 /etc/cron.d

memcached基线检测

检查项: memcached启动权限检测
当前值: root
加固建议: 创建memcached低权限账号(例如:useradd memcached),并在memcached启动时加上-u memcached。注意:在切换低权限账户启动时,需要将memcached文件目录使用chown -R memcached:memcached修改上述目录权限

SSH登录基线检测

检测项目: port
建议 : 修改登录端口为非默认22端口
检测项目: permitrootlogin
建议值: 设置为no
建议 : 没有必要使用root用户通过SSH远程登录,普通用户可以通过su或sudo(推荐)获得root级别的访问权

密码策略合规检测

检测项目: 密码最长使用时间
建议: 在/etc/login.defs 设置密码最长使用时间,建议值1095
检测项目: 密码修改最小间隔时间
建议: 在/etc/login.defs 设置密码修改最小间隔时间,建议值7
检测项目: 设置有密码账户不活动最大时间
建议: 使用如下命令设置有密码账户不活动最大时间值:useradd -D -f 1095,建议值1095
Linux服务器的安全加固基线文档 一、系统配置 1. 禁止root远程登录 在/etc/ssh/sshd_config文件中,将PermitRootLogin设置为no。 2. 关闭不必要的服务 使用命令systemctl stop/ disable服务名,停止并禁用不必要的服务,如FTP、Telnet等。 3. 安装必要的安全软件 安装防火墙、入侵检测系统、安全审计系统等安全软件,并进行配置。 4. 配置系统日志 在/etc/rsyslog.conf文件中,配置系统日志,将其发送到远程日志服务器,并配置日志轮转。 5. 禁止IP伪造 在/etc/sysctl.conf文件中,配置net.ipv4.conf.all.rp_filter和net.ipv4.conf.default.rp_filter为1,禁止IP伪造。 6. 关闭不必要的端口 使用命令iptables或firewalld关闭不必要的端口,只开放必要的端口。 二、用户账户 1. 禁用不必要的账户 删除或禁用不必要的账户,如guest、demo等。 2. 强制密码策略 在/etc/login.defs文件中,配置密码策略,设置密码复杂度、密码长度、密码过期时间等。 3. 限制用户登录 在/etc/security/limits.conf文件中,配置用户登录限制,如最大登录次数、最大连接数等。 4. 禁止密码空登录 在/etc/ssh/sshd_config文件中,将PermitEmptyPasswords设置为no,禁止密码空登录。 三、文件系统 1. 安装必要的补丁 定期更新系统补丁,修复已知漏洞。 2. 配置文件权限 使用命令chmod和chown配置文件权限,确保只有必要用户有访问权限。 3. 禁止执行不必要的脚本 在/etc/fstab文件中,配置noexec选项,禁止执行不必要的脚本。 4. 配置访问控制 在/etc/hosts.allow和/etc/hosts.deny文件中,配置访问控制,限制对文件系统的访问。 四、网络安全 1. 使用SSL证书 使用SSL证书加密网络传输,防止中间人攻击。 2. 配置网络访问控制 使用iptables或firewalld配置网络访问控制,限制对服务器的访问。 3. 禁止ping 在/etc/sysctl.conf文件中,配置net.ipv4.icmp_echo_ignore_all为1,禁止ping。 4. 安装安全证书 安装安全证书,确保网络传输的安全性。 总结 通过以上措施,可以有效提高Linux服务器的安全性,减少被攻击的风险。但是,需要注意的是,安全加固是一个持续的过程,需要定期检查和更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值