服务器安全加固措施(Linux_Centos7)

Centos7服务器安全改造

1 概述

root用户作为系统的超级管理员,拥有对系统的所有访问权限,在使用root操作的过程中需要引起足够的重视。尤其是目前云服务器风起云涌,各位开发人员的主战场从线下转到了线上,云服务器成了很多人员每天打交道的一个环节,针对每次登陆看到的登陆失败XXXX次,给人的感觉就是今天家里的防盗门被开启过XXXX次,明明是你自己的家,看到这个场景不得不让你想抒发一下情感。本篇针对云服务器安全提升方面的介绍。
在这里插入图片描述

2 环境说明

服务器:云服务器
操作系统:Centos7.9.2009(Core)

3 安全改造的项目

禁用账号SSH登陆
端口调整
防火墙调整
密码策略

4 改造步骤

以上步骤之间没有依赖和关联性,可以根据自己喜好对应的调整即可。

4.1 禁用用户SSH登陆

禁用用户远程SSH登陆包括禁用root用户和禁用普通用户直接登陆

4.1.1 禁用root远程ssh直接登陆

修改/etc/ssh/sshd_config文件

#PermitRootLogin yes

修改为

PermitRootLogin no

查看
more /etc/ssh/sshd_config | grep PermitRootLogin
在这里插入图片描述
重启ssh服务,重启后查看

systemctl restart sshd.service
4.1.2 禁用普通用户远程ssh直接登陆

打开配置文件/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

在文件末尾加入要禁用的信息

DenyUsers yelflower

在这里插入图片描述
保存退出
重启ssh服务

systemctl restart sshd.service

4.2 修改SSH默认端口

ssh默认端口22,默认扫描的重灾区。将默认端口调整为不常用端口。建议10000~65536端口之间的随机端口,跟现有端口不冲突。
1、新增端口
修改
在这里插入图片描述
2、防火墙设置
需要将新增调整的端口在防火墙上开启策略

#firewall-cmd --zone=public --add-port=31697/tcp --permanent
#firewall-cmd --reload

3、SELinux中添加修改的SSH端口
安装SELinux管理工具semanage

#yum provides semanage

安装semanage依赖工具包policycoreutils-python

#yum -y install policycoretuils-python

查询ssh服务端口

#semanage port -l | grep ssh

像SELinux中添加ssh端口

#semanage port -a -t ssh_port_t -p tcp 31697

添加完毕查看端口,确认添加成功后,
重启ssh服务

systemctl restart sshd.service

使用31697登陆测试

登陆成功后禁用22端口

4.3 防火墙设置

查看防火墙状态

systemctl status firewalld

在这里插入图片描述
启动防火墙

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

重启防火墙

systemctl restart firewalld

查看防火墙端口

firewall-cmd --list-port

新增端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

关闭端口

firewall-cmd --zone=public --remove-port=80/tcp --permanent

重新加载配置

firewall-cmd --reload

最小端口法,将不用的端口进行关闭,保留再用的端口,减少安全隐患。

4.4 密码策略

信息系统安全等级保护关于主机的访问控制有一个控制点是这样要求的: 操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换。
密码口令配置文件/etc/login.defs

在这里插入图片描述
修改如下

PASS_MAX_DAYS		90
PASS_MIN_DAYS		5
PASS_MIN_LEN		10
PASS_WARN_AGE		7

配置信息查看
通过命令chage -l username来查看账户的配置信息。
在这里插入图片描述
这些配置并不对已有账户生效,只对新建账户生效。因此对于已有账户,一定要用chage命令进行逐一修改。
设置密码复杂度
一般要求口令由大小写字母、数字和字符共同组成。唯一的缘由就是这样的口令复杂度高,不容易被暴力破解。在/etc/pam.d/system-auth中添加配置如下:

password    required     pam_cracklib.so retry=5 difok=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1 

保存测试验证
新增用户

#useadd yelflower
#passwd yelflower

用户修改密码,必须得遵守设定的密码复杂度的规则。密码过于简单,系统会提示。这个配置要求密码长度10位以上,由至少1位大写、小写字母和数字组成。

登陆失败锁定设置
确认需要达到的效果

位置限制效果
/etc/pam.d/login在本地文本终端登录时限制
/etc/pam.d/kde在本地图形界面登录时限制
/etc/pam.d/sshd在ssh登录时限制
/etc/pam.d/system-auth凡是调用此文件的服务,都限制

云服务器使用的是最小系统安装法,在ssh登陆时限制设置
配置命令

auth   required   pam_tally2.so deny=5 lock_time=5 unlock_time=5 

以上仅为本人在Centos7操作系统中的安全防护优化,在linux的安全加固中还有很多措施和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值