在数字化时代,服务器主机安全是任何组织都必须高度重视的问题。无论是大型企业还是小型企业,无论是政府机构还是个人用户,都需要确保其服务器主机的安全,以防止数据泄露、网络攻击和系统瘫痪等严重后果。
1安全的重要性
数据保护:服务器主机存储了大量的重要数据,包括客户信息、财务数据、商业策略等。这些数据如果被非法获取或破坏,将对组织造成巨大的损失。因此,保护服务器主机的安全是保护数据的重要措施。
防止网络攻击:网络攻击者常常将服务器主机作为攻击目标,利用漏洞进行渗透,获取敏感信息,或者破坏系统。保护服务器主机的安全可以防止网络攻击,保护组织的网络安全。
维护系统稳定:服务器主机是网络系统的核心,其稳定运行是保障网络服务正常运转的基础。一旦服务器主机受到攻击或出现故障,将导致网络服务的中断,给组织带来巨大的损失。
2安全加固方法与实例
1、环境说明
服务器:云服务器
操作系统:Centos7.9.2009(Core)
2、安全加固项目
禁用账号SSH登陆
端口调整
防火墙调整
密码策略
2.1禁用账号SSH登陆
禁用用户远程SSH登陆包括禁用root用户和禁用普通用户直接登陆
2.1.1禁用root远程ssh直接登陆
修改/etc/ssh/sshd_config文件
#PermitRootLogin yes修改为:
PermitRootLogin no重启ssh服务,重启后查看
systemctl restart sshd.service2.1.2禁用普通用户远程ssh直接登陆
打开配置文件/etc/ssh/sshd_config
vim /etc/ssh/sshd_config在文件末尾加入要禁用的信息
DenyUsers yelflower保存退出,重启ssh服务
systemctl restart sshd.service2.2修改SSH默认端口
ssh默认端口22,默认扫描的重灾区。将默认端口调整为不常用端口。建议10000~65536端口之间的随机端口,跟现有端口不冲突。
2.2.1 新增端口,后修改
2.2.2防火墙设置
需要将新增调整的端口在防火墙上开启策略
#firewall-cmd --zone=public --add-port=31697/tcp --permanent#firewall-cmd --reload2.2.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端口
2.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最小端口法,将不用的端口进行关闭,保留再用的端口,减少安全隐患。
2.4 密码策略
信息系统安全等级保护关于主机的访问控制有一个控制点是这样要求的:操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换。
密码口令配置文件/etc/login.defs
修改如下:
PASS_MAX_DAYS 90PASS_MIN_DAYS 5PASS_MIN_LEN 10PASS_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位大写、小写字母和数字组成。
登陆失败锁定设置
确认需要达到的效果
云服务器使用的是最小系统安装法,在ssh登陆时限制设置
配置命令
auth required pam_tally2.so deny=5 lock_time=5 unlock_time=5