为什么要安全加固
法律法规
《中华人民共和国网络安全法》第二十二条、《关键信息基础设施安全保护条例》第三十三条,发现七网络产品、服务存在安全缺陷,漏洞风险时,应当采取补救措施
利益保护
若不对自身应用进行安全防护,极易被病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持、严重侵害企业和个人利益
自身安全
通过安全加固,将整个信息系统的安全状况提升到一个较高的水平,尽可能地消除或降低系统的安全风险
安全加固的方案原则
版本升级
对于系统和应用在使用过程中暴露的安全缺陷,系统或应用厂商会即使发布解决问题的升级补丁包。升级系统或应用版本,可有效解决旧版本存在的安全风险
关闭端口服务
在不影响业务系统的正常运行下,停止或禁用承载业务无关的服务或服务端口,可有效避免无关服务造成的安全风险
修改配置项
操作系统、安全设备、数据库、中间件、第三方应用和业务系统可更改的配置与安全相关的设置参数等信息,通过修改安全配置,可以为网络或应用提供必要的安全保护
主机和网络ACL策略
主机和网络ACL策略是一类临时的安全加固方法,说白了就是iptables。ACL通常应用在系统的流量控制上,可通过实施ACL,有效的部署网络出/入口策略,控制对内网资源的访问能力,来保障资源安全性
修改代码(可选)
修改代码一般由系统开发商完成,安全加固支持方仅提供加固建议及加固有效性验证
部署设备防护(可选)
部署设备防护的安全加固方式一般由设备厂商完成,雷池……
安全加固测试
回退测试
运维人员、厂商、第三方代维方完成,系统及数据备份、回退操作验证
业务测试
运维人员、厂商、第三方代维方配合完成,利用现网环境或搭建虚拟环境进行业务测试,确认加固是否影响业务
有效性测试
由安全加固实施工程师完成,利用现网环境或搭建虚拟环境进行安全风险测试,确认加固有效性
Linux加固方向
账号管理与认证授权
为不同的管理员分配不同的账号,目的就是根据不同用途,设置不同账户账号,提高安
全层级
1、创建多用途账号
useradd username
passwd username
2、修改目录权限
chmod 750 directory
chown username:groupname directory
3、普通用户使用特定授权命令
sudo ifconfig
4、修改sudo的提权应用
visudo
username host=shell
例如redhat可以在本地使用useradd命令
redhat localhost=/usr/sbin/useradd
注意,多个命令用逗号隔开,!可以防止某用户支持某个命令
5、检查高权限文件
过高的权限或不应该时间段创建或修改文件
首先查看哪些文件是高权限文件
find / -type f \( -perm -00007 \) -a -ctime -1 -exec 1s -lg {} \;
解析:-a就是代表三个时间,-1为一天之内,-lg为不看代表所组
ctime:属性变更时间
mtime:内容修改时间
atime:被访问时间
6、去除不需要的账号、修改默认账号shell环境
目的就是删除系统不必要的默认账号、更改危险账号的默认shell变量,降低被利用
的可能性
删除/锁定多于用户与组
userdel -r username
groupdel groupname
passwd -l username
修改程序的登录shell
usermod -s /sbin/nologin username
7、限制超级管理员远程登录
修改ssh配置文件中PermitRootLogin yes改为no
8、删除root以外UID为0的用户
检查哪些账户UID为0
awk -F: '($3 == 0) { print $1 }' /etc/passwd
删除账户
userdel -r username
或者编辑passwd与shadow文件
9、不应存在位于高权组的用户
检查哪些账户属于其他组
grep -v ^# /etc/login.defs | grep "^GID_MIN" |awk '{print $2}'
awk -F: '$3>500{print $1}' /etc/passwd | xargs -I {} grep {} /etc/group
grep -v "/sbin/nologin" /etc/passwd | awk -F ; '{print $1}' | xargs -I {} grep {} /etc/group
10、缩短默认密码生存周期
目的:通过采用静态密码认证的设备,账户密码的生存周期不长于90天
修改文件密码策略文件
vi /etc/login.defs
PASS_MAX_DAYS 90 最常使用期限
PASS_MAX_DAYS 0 最短使用期限
PASS_MIN_LEN 8 密码最小长度
PASS_WARN_AGE 7 最长期限到期前7天提醒更改密码
11、设置密码长度策略
目的:规范使用搞钱覆盖度密码,延长被爆破时间
修改pam认证文件
vim /etc/pam.d/system-auth
添加或修改内容
passwd requisite pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minclass=3 minlen=8
12、设置强制密码历史
目的:防止被社工字典破解
修改pam认证文件,添加/修改内容
passwd sufficient pam_unix.so sha512 shadow nullok try_first_pass
use_autotok remember=5
13、设置账户锁定策略
目的:防止被连续试探密码,降低爆破可能性
修改一下pam认证文件
/etc/pam.d/system-auth
添加/修改:auth required pam_tally2.so deny=6
/etc/pam.d/sshd
添加/修改:unlock_time=300 even_deny_root
/etc/pam.d/login
添加或修改:root_unlock_time=60
14、修改umask值,即设置反码,防止新建对象有不必要的权限
目的:修改创建文件或目录时的默认权限,防止属于该组的其他用户级别组的用户
修改该用户的文件
修改四个启动脚本文件
/etc/profile
/etc/csg.login
/etc/csh.cshrc
/etc/bashrc
在文件末尾加入umask值
umask 027
15、限制用户对资源的使用,避免DDOS等攻击
修改限制文件,减缓被DDOS攻击带来的危害
vi /etc/security/limits.conf
意思是限制用户haha将最多允许使用40个进程,每个进程最多打开50个文件,在
shell中可创建的最大文件限制为100MB。最多允许两个admin用户同时登陆,同时
登陆的xixi组用户不能超过5个
16、关闭使用su切换到root用户,减少提权风险
修改su的配置文件/etc/pam.d/su,添加或修改一下内容
auth sufficient /lib/security/pam_rootok.so
auth require /lib/security/pam_whell.so -- 只有whell组的用户可以su到root
通讯协议
设置访问控制白名单,减少被入侵的风险
修改拒绝策略
vi /etc/hosts.deny
加入信息:ALL:ALL
修改允许策略
vi /etc/hosts.allow
加入信息:sshd:来访者ip
关闭无源路由
设置FTP访问白名单
设置FTP服务器的上传权限反码
设置FTP服务器的banner信息
配置可信任的NTP服务器,保证时间同步,防止某些服务错误
查看是否存在远程登录文件
补丁管理
补丁装载
使用yum更新:yum update
使用rpm安装,访问http://www.redhat.com/corp/support/errata
rpm -Fvh rpm包
注意:所有补丁需要在测试环境测试不影响业务服务后才可更新,下载补丁时,一
定对文件进行签名核实
服务进程与启动
关闭无用服务,提高系统性能,降低漏洞风险;建议关闭的服务,如无需要,建议关闭或卸载功能
banner与自动注销
隐藏系统提示信息,避免通过系统提示信息获取系统状态
查看登录banner信息
cat /etc/issue
清空banner文件
echo > /etc/issue
设置登录超时注销,防止疏忽导致命令会被他人使用
修改/etc/profile,在HISTFILESIZE下面加入TMOUT=180
生效:source /etc/profile
减少history历史数量
修改/etc/profile,修改信息HISTFILESIZE=50
生效:source /etc/profile
跳过grup菜单,防止在grup菜刀对引导过程进行修改
修改grup配置文件
vi /boot/grup2/grup.cfg
修改等时
set timeout=0
关闭ctrl+alt+del重启功能,防止Windows习惯启动任务管理器导致服务器重启
修改配置文件,注释所有内容
vi /usr/lib/systemd/system/ctrl-alt-del.target
Windows加固方向
账号管理与认证授权
按用户类型分配账号
根据系统要求,设定不同账户和组,管理员、数据库sa、审计用户、来宾用户等
打开本地用户和计算机管理器:打开运行,输入lusrmgr.msc
根据用户要求将账户加入功能组
右击账户 ->属性 ->更改隶属于
右击功能组 ->属性 ->成员
清理系统无用账户
删除或锁定与设备运行,维护等工作无关的账户,提高系统账号安全性
打开本地用户和计算机管理器:打开运行,输入lusrmgr.msc
删除或锁定无关账号(删除操作不可逆)
右击账户->删除
右击账户->属性->账户已禁用
重命名administrator,禁用guest
减少账户被爆破可能性,提高系统访问安全性
打开运行输入lusrmgr.msc
为管理员administrator账户改名
右击administrator->重命名->属性->全名
禁用来宾guest
右击guest->属性->账户已禁用
设置密码策略
防止弱口令出现,降低被爆破的可能性
打开本地安全策略:打开运行,输入secpol.msc
找到密码策略
账户策略->密码策略
修改默认值
密码必须符合复杂性要求:禁用->启用
密码长度最小值:0 -> 8
配置账户锁定策略
有效降低administrator意外的账户被爆破的几率
打开本地安全策略:打开运行,输入secpol.msc
找到密码策略
账户策略->账户锁定策略
账户锁定时间:未定义->30分钟
账户锁定阈值:0->6
复位账户锁定计时器:未定义->30分钟
远程关机权限设置
防止远程用户非法关闭系统
打开本地安全策略:打开运行,输入secpol.msc
找到用户权限分配
本地策略->用户权限分配
从远端系统强制关机策略中,只保留administrator组
设置从网络访问此计算机,防止非法用户通过网络访问计算机资源
打开本地安全策略:打开运行输入secpol.msc
找到用户权限分配
本地策略->用户权限分配
网络访问此计算机策略,加入授权用户
日志配置
审核策略设置
通过审核策略,记录系统登录时间,对象访问事件,软件安装事件,安全事件等
打开本地安全策略:打开运行输入secpol.msc
找到审核策略
本地策略->审核策略
修改审核策略
审核策略更改设置为成功和失败都要审核
日志记录策略设置
优化系统日志记录,防止日志溢出
进入条件查看器:打开运行输入eventvwr.msc
在日志属性中设置日志大学不小于1024KB,设置最大日志尺寸是,按需要改写时
间
IP协议安全
启用TCP/IP筛选,过滤掉不必要的端口,提高网络安全性
运维人员列出业务所需端口
打开本地连接
找到高级TCP/IP设置
右击本地连接->internet协议属性->高级TCP/IP设置
在选项的属性中启用网络连接的TCP/IP筛选,是开放业务协议端口
开启系统防火墙,多角度封堵业务以外的端口连接
运维人员列出业务所需端口
打开本地连接中的防火墙
在高级选项中设置启用Windows防火墙
设置例外
只允许业务端口接入网络
关闭默认共享,Windows默认共享区,关闭后提高信息安全性
打开注册表编辑器,编辑和新建键值:打开运行输入regedit.msc
展开lsa目录
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
调整restrictanonymous键值为1
建两个DWORO值分别命名为AutoShareWks和AutoShareServer
漏洞管理
安全系统补丁,修复系统漏洞,安装最新的service pack补丁集
部署WSUS服务器
从Microsoft Update下载补丁
在测试机上安装补丁后测试业务运行情况
使用WSUS服务器内网分发补丁
Windows服务
关闭无用服务
打开服务管理器:打开运行输入services.msc
关闭禁用服务
右击无关服务->属性->启动类型(禁用)->运行状态 ->停止
关闭Windows自动播放功能,防止从移动存储设备感染自运行病毒
打开组策略编辑器:打开运行输入gpedit.msc
找到策略所在
计算机配置->管理模块->系统->设置
关闭自动播放->已启用
关闭无用启动项
打开微软控制台:打开运行输入msconfig文章来源:https://www.toymoban.com/news/detail-534140.html
在启动选项卡中去掉多余的启动项的”√“文章来源地址https://www.toymoban.com/news/detail-534140.html
到了这里,关于安全加固之系统加固的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!