服务器加固是指通过一系列安全措施和配置来提升服务器的安全性,从而减少服务器面临的安全威胁和攻击的可能性。
服务器加固方案通常包括以下一些常见的措施:
- 更新和升级操作系统和软件:定期更新和升级操作系统、服务器软件、数据库等,以修复已知的安全漏洞,并且禁用或删除不需要的服务和软件,以减少攻击面。
- 强化访问控制:使用强密码和账户策略,并限制服务器上的登录用户和访问权限。禁用不必要的默认账户,并配置正确的文件和目录权限,确保只有授权用户可以访问关键文件和目录。
- 配置防火墙:配置服务器防火墙,限制入站和出站流量,只允许必要的网络通信,并阻止潜在的恶意流量。
- 使用安全协议和加密:例如,使用 HTTPS 来加密客户端和服务器之间的通信,以保护敏感数据的传输过程中的安全性。
- 定期备份和监控:建立定期备份机制,以便在服务器受到攻击或数据丢失时能够快速恢复。同时,配置安全监控和日志记录,及时检测和应对可能的安全事件。
- 使用安全的软件和插件:确保服务器上安装的软件和插件是来自可信的来源,并定期更新和升级,以修复已知的安全漏洞。
- 进行安全审计和漏洞扫描:定期进行安全审计和漏洞扫描,识别服务器上的安全风险,并及时修复发现的漏洞。
- 网络隔离:将服务器放置在安全的网络环境中,并采用网络隔离措施,限制与其他不必要的网络连接。
- 安全更新和监测:及时关注操作系统、软件和应用程序的安全更新,及时应用安全补丁和修复已知漏洞,并通过安全监测和警报系统,实时监测服务器的安全状态。
这只是服务器加固的一些常见方案,实际的服务器加固措施应根据具体的服务器环境和安全需求来进行定制化,并且需要定期审查和更新,以确保服务器始终保持在一个较高的安全水平。
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。
设置复杂密码
服务器设置大写、小写、特殊字符、数字组成的12-16位的复杂密码 ,也可使用密码生成器自动生成复杂密码
echo "root:wgr1TDs2Mnx0XuAv" | chpasswd
设置密码策略
修改文件/etc/login.defs
PASS_MAX_DAYS 90 密码最长有效期
PASS_MIN_DAYS 10 密码修改之间最小的天数
PASS_MIN_LEN 8 密码长度
PASS_WARN_AGE 7 口令失效前多少天开始通知用户修改密码
对密码强度进行设置
编辑文件/etc/pam.d/password-auth
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1
difok= 定义新密码中必须要有几个字符和旧密码不同
minlen=新密码的最小长度
ucredit= 新密码中可以包含的大写字母的最大数目。-1 至少一个
lcredit=新密码中可以包含的小写字母的最大数
dcredit=定新密码中可以包含的数字的最大数目
注:这个密码强度的设定只对"普通用户"有限制作用,root用户无论修改自己的密码还是修改普通用户的时候,不符合强度设置依然可以设置成功
对用户的登录次数进行限制
编辑文件 /etc/pam.d/sshd
auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300
多次输入密码失败后提示信息如下
pam_tally2 查看被锁定的用户
pam_tally2 --reset -u username 将被锁定的用户解锁
禁止root用户远程登录
禁止ROOT用户远程登录 。打开 /etc/ssh/sshd_config
#PermitRootLogin no
注:生效要重启sshd进程。更改ssh端口
vim /etc/ssh/sshd_config ,更改Port或追加Port
注:生效要重启sshd进程。
安全组关闭没必要的端口
德迅云安全平台有安全组功能,里面您只需要放行业务协议和端口,不建议放行所有协议所有端口,参考文档:德迅云安全-领先云安全服务与解决方案提供商
设置账户保存历史命令条数,超时时间
打开 /etc/profile ,修改如下
HISTSIZE=1000
TMOUT=600
五分钟未动,服务器超时自动断开与客户端的链接。
定期查看系统日志
/var/log/messages/var/log/secure
重要服务器可以将日志定向传输到指定服务器进行分析。
定期备份数据
目录要有规划,并且有周期性的打包备份数据到指定的服务器。
应用程序 /data1/app/
程序日志 /data1/logs/
重要数据 /data1/data/