Linux系统的加固(centos7为例)

目录

密码加固

防服务漏洞

启动代码审计服务

注销时清除历史命令

防木马后门

防痕迹清除

防物理攻击


密码加固

updateauthconfig --passminlen=8 --update //限制口令最短8位

authconfig --passminclass=4 --update//限制口令至少包含4种字符

修改口令的生存周期

限制口令的最长使用期限为90天,口令的最短使用期限为3天,口令到期前15天发出警告

vi /etc/login.defs //编辑文件,修改文件内容

设置远程登录失败锁定

用户远程登录验证连续超过5次失败的,锁定账号30分钟

vim /etc/pam.d/sshd

在#%PAM-1.0下面加上一行

auth required pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800

处理弱口令账号

例如现在要加固user1用户的弱口令,使其符合长度适合和复杂性的要求

passwd user1 //为用户设置符合长度适合和复杂性的要求

处理和系统运行维护无关的账户

加固要求:系统存在与系统运行、维护工作无关的账户,名为test,将其锁定。

加固方法:usermod -L test //锁定账户

防服务漏洞

更改ssh服务的端口将其端口改为其他的端口,列如改为2222端口

vi /etc/ssh/sshd_config

保存退出,把新的Port口告诉SELinux

semanage port -a -t ssh_port_t -p tcp 2222

重启ssh服务

systemctl restart sshd

查看

systemctl status sshd

限制SSH连接的源地址范围

例如:至允许192.168.247.0/24网端访问ssh服务

vi /etc/hosts.deny //在最后面加上一行sshd:ALL

vi /etc/hosts.allow //在最后面加上

sshd:192.168.247.0/255.255.255.0:allow

保存退出

重启ssh服务

systemctl restart sshd

禁用不必要的服务

例如cups,减少系统的受攻击面

systemctl stop cups //停止服务

systemctl disable cups //禁用服务

启动代码审计服务

systemctl start auditd //手动开启

systemctl enable auditd //开机自启动

systemctl status auditd //查看当前状态

防权限提升

启用sudo日志

创建sudo.log文件

touch /var/log/sudo.log

修改rsyslog配置文件

vi /etc/rsyslog.conf //在最后面加上一行

local2.debug /var/log/sudo.log //这里的空格必须用tab键

保存退出

visudo //编辑sudo配置

加上

Defaults logfile=/var/log/sudo.log

Defaults loglinelen=0

Defaults !syslog

保存退出

查看

cat /var/log/sudo.log

限制su的使用,禁止其他的用户使用su命令

vi /etc/pam.d/su

取消下面行的注释

auth required pam_whell.so use_uid

保存退出

vi /etc/group

将需要禁用的用户放进wheel组:wheel:小写的X:10:用户名

管理suid/sgid文件

加固要求:系统中存在设置了suid的vim程序(/usr/bin/vim),存在提权风险,要求取消该程序文件的suid权限。

加固方法:chmod u-s /usr/bin/vim

设置严格的umask

vi /etc/bashrc //将umask的参数改为027

vi /etc/profile //将umask参数的值改为027

查看任意用户创建的文件

ls -l test.file

注销时清除历史命令

加固要求:用户注销时清除该用户的历史命令

加固方法(例如)://注销时清除root用户的历史命令

vi /root/.bash_profile

加上

echo > /root/.bash_history

保存退出

禁用coredump

vi /etc/security/limits.conf

在最后文本最后加上 * hard core 0

保存退出

vi /etc/sysctl.conf

加入: fs.suid_dumpable = 0

保存退出

立即生效

sysctl -w fs.suid_dumpable=0

查看

sysctl -a | grep fs.suid_dumpable

防木马后门

加固要求:开启网络防火墙,只允许远程主机访问本地的特定端口,如22和80端口

加固方法:

systemctl start firewalld //启动firewalld服务

systemctl enable firewalld //设置服务开机自启

firewall-cmd --add-service=http //允许访问http服务

firewall-cmd --add-service=http --permanent //持久化(写入配置文件)

firewall-cmd --add-service=ssh

firewall-cmd --add-service=ssh --permanent

firewall-cmd --remove-service=dhcpv6-client //删除不需要的服务

firewall-cmd --remove-service=dhcpv6-client --permanent

firewall-cmd --list-service //查看firewalld允许的服务

firewall-cmd --list-service --permanent //查看配置文件允许的服务

限制crontab使用者

加固要求:禁止root之外的用户以crontab方式运行计划任务

touch /etc/cron.allow && vi /etc/cron.allow //创建文件并编辑文件

写入

root

保存退出

防痕迹清除

启用rsyslog服务

加固要求:启动rsyslog服务并设置为开机自动运行。

加固方法:

systemctl enable rsyslog //设置自动启动

systemctl start rsyslog //手动启动服务

配置远程日志服务器

加固要求:配置远程rsyslog日志服务器。

加固方法:

vi /etc/rsyslog.conf //编辑配置文件,在末尾加入一行:.@192.168.242.1

作用是将全部日志转发到192.168.242.1的UDP 514端口

加强审计日志文件权限

加固要求:为audit日志文件设置严格的权限,避免日志信息被恶意操作。

加固方法:

chmod 700 /var/log/audit

chmod 600 /var/log/audit/audit.log

防物理攻击

bootloader安全配置

加固要求:要求用户在系统引导程序执行之前输入boot口令,避免非授权用户改变启动参数或者改变引导分区,从而降低系统安全性被削弱的风险(如在启动时关闭selinux、进入单用户模式等)。

加固方法:grub2-setpassword

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GZH610

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值