安全加固及漏洞扫描指导说明.docx
《安全加固及漏洞扫描指导说明.docx》由会员分享,可在线阅读,更多相关《安全加固及漏洞扫描指导说明.docx(104页珍藏版)》请在冰豆网上搜索。
![安全加固及漏洞扫描指导说明.docx](https://file1.bdocx.com/fileroot1/2023-6/21/9991aab0-ed13-4f61-93d8-0666aadcd559/9991aab0-ed13-4f61-93d8-0666aadcd5591.gif)
安全加固及漏洞扫描指导说明
安全加固指导说明
编写:
审核:
批准:
XXXXXXXX有限公司
二〇一年月
文档升级说明
升级序号
编辑人
版本号.定版日期
3.00.101101
1
修订人
版本号.定版日期
修订说明
3
修订人
版本号.定版日期
修订说明
5
修订人
版本号.定版日期
修订说明
安全加固指导说明
1.监控系统信息概述
针对近期全国各地都有提及关于系统信息安全防护上面的要求,根据目前系统安全情况和系统中存在的各种安全风险,结合我们后台监控软件的实际情况,需对操作系统进行信息安全设置,以提高自动化系统的安全防护能力。
在进行现场部署时,部分操作需按照对应国调手册中的加固方法进行操作,在此基础上我司针对现场实际情况增加了一些补充配置项,在本文档内进行详细描述。
本文档适用于Windows、Solaris、CentOS7、Linux(RHEL5.9)等系统安全加固及漏洞扫描
1.1.变电站设备配置概述
列出典型变电站的后台软件型号、后台操作系统
后台软件型号:
PRS-7000、PRS-700U、ISA-300系列
后台操作系统:
Linux、Unix、Windows
1.2.变电站二次系统典型拓扑图
2.监控系统设备加固项目
2.1.监控主机
监控主机包括操作员站、工程师站、数据服务器、综合应用服务器、图形网关机等。
2.1.1.硬件加固
对于计算机的光驱,空余USB接口、以太网端口,均采取封条方式封闭。
2.1.2.操作系统加固
详见各操作系统加固方案
2.1.3.数据库加固
2.2.应用软件加固
后台程序:
PRS-7000、PRS-700U、ISA-300+等
2.2.1.默认及多余账号删除
后台程序默认带有2个默认账号“sznari”和“a”,由于初次打开数据库需要进行用户权限的校验需要用到默认账号,不建议删除,可以修改密码。
打开数据库->“系统参数”->“用户配置”,选中需要删除的用户,鼠标右键选择“删除用户”,点击“删除用户”命令后,配置程序询问是否确认删除此用户:
如果得到肯定的确认,则删除该用户;如果得到否定回答,则撤销删除操作。
2.2.2.账号弱口令修改
打开数据库->“系统参数”->“用户配置”,选中需要修改的用户,鼠标右键选择“修改密码”,将显示下图密码设置对话框。
密码可以是任意符号和数字的组合,但不能为空。
3.CentOS7系统安全加固方案
3.1.账户弱口令
3.1.1.说明
账户弱口令易被未授权用户猜测或口令暴力破解,导致系统直接被侵入。
3.1.2.要求
系统密码不小于8位,(字母+数字+特殊符号)组合;
3.1.3.加固方法
在root权限下(普通用户切换成root用户输入su,然后输入root用户的密码),打开终端输入passwd,然后输入密码即可。
3.1.4.加固影响
无
3.2.账设置密码复杂度策略
3.2.1.说明
部分省份对厂站密码复杂度有特殊要求,可参考此章节。
3.2.2.加固方法
以下为本次加固采用的密码策略,若有其他策略要求,根据要求修改对应字段的值即可。
密码最小长度为(minlen)8;
新密码与旧密码至少有5个字符不一样(difok);
新密码至少包含一个大写字母(ucredit);
新密码至少包含一个小写字母(lcredit);
新密码至少包含一个数字(dcredit);
新密码至少包含一个特殊字符(ocredit);
先备份/etc/security/pwquality.conf文件为/etc/security/pwquality.conf.bak,再打开/etc/security/pwquality.conf,在文件的最末尾处添加如下内容,完成之后保存文件即可。
验证:
可通过以下命令查看设置是否成功:
grep<空格>”^minlen”<空格>/etc/security/pwquality.conf
grep<空格>”^difok”<空格>/etc/security/pwquality.conf
3.3.设置账户登录超时限制
3.3.1.加固说明
本次安全加固策略中将账户登录超时时间设置成300秒,若需设置成其他时间,将300修改成要求的时间即可,单位为秒。
3.3.2.加固方法
在桌面左上角的应用程序,然后点击系统工具中的设置,点击 隐私,如下图:
验证:
重启系统使配置生效之后,使用任意用户登录系统,登录之后不要进行任何操作,等待5分钟之后,观察系统是否自动退出到登录界面。
3.3.3.加固影响
无
3.4.设置用户密码安全策略
3.4.1.说明
如果采用系统默认配置,root系统用户可用短长度的密码作密码或重复使用近期使用的密码,非法者就有更多的机会能够猜测出密码,从而增加了系统被攻击成功的可能性。
3.4.2.加固方法
可通过在终端输入,chage-lroot
查看root用户的密码规则。
具体含义说明如下:
修改方法如下:
在终端输入chage-M90-m6-W30root更改两次更改密码最大天数为90,最小天数为6天,密码过期提醒时间为30。
修改密码复杂度:
(该选项可不执行操作,在修改密码时按照字符+标点+数字修改即可)
至少各有一个字符来自这些字符集a-z、A-Z、标点符号、0-9
修改/etc/pam.d/passwd文件:
确保下面行未被注释,如没有,请按以下顺序添加:
#%PAM-1.0
authincludesystem-auth
accountincludesystem-auth
passwordrequisitepam_passwdqc.soenforce=everyone
passwordrequisitepam_cracklib.sominlen=8lcredit=-1ucredit=-1ocredit=-1dcredit=-1
passwordincludesystem-auth
黄色加底行的参数含义如下:
minlen=8#密码最小长度为8
lcredit=-1#最少大写字母数量为1
ucredit=-1#最少小写字符数量为1
ocredit=-1#最少特殊字符数量为1
dcredit=-1#最少数字数量为1
3.4.3.加固影响
可能会导致管理员操作不便。
3.4.4.备注
密码修改期限根据现场需要进行配置,设置后即将到期系统会自动提示修改密码。
密码过期时登录也会提醒修改密码,如下图:
3.5.删除系统多余账户
3.5.1.说明
root用户是Linux系统的最高权限用户,该用户拥有系统的生杀大权;正因为此,root用户来执行一些对系统有重大影响的操作。
但是,以普通用户登录系统后,普通用户权力受限,做不了一些基本操作,因此,推荐使用root用户而选择删除多余的普通用户。
3.5.2.加固方法
(1)删除在系统中创建的多余账户如下图所示进行删除。
(2)删除系统默认的无关账户
将/etc/passwd备份为/etc/passwd_bak,然后打开终端,在终端执行一下命令:
usermod<空格>-s<空格>/bin/false<空格>bin
passwd<空格>-l<空格>bin
usermod<空格>-s<空格>/bin/false<空格>daemon
passwd<空格>-l<空格>daemon
usermod<空格>-s<空格>/bin/false<空格>adm
passwd<空格>-l<空格>adm
usermod<空格>-s<空格>/bin/false<空格>lp
passwd<空格>-l<空格>lp
usermod<空格>-s<空格>/bin/false<空格>games
passwd<空格>-l<空格>games
usermod<空格>-s<空格>/bin/false<空格>nobody
passwd<空格>-l<空格>nobody
usermod<空格>-s<空格>/bin/false<空格>rpc
passwd<空格>-l<空格>rpc
usermod<空格>-s<空格>/bin/false<空格>gdm
passwd<空格>-l<空格>gdm
若想恢复锁定的账户,在终端执行如下命令即可:
usermod<空格>-s<空格>/bin/bash<空格>xxx(xxx表示要恢复的账户名称)
passwd<空格>-u<空格>xxx(xxx表示要恢复的账户名称)
验证:
执行后,打开/etc/passwd文件,查看每个账户最后一个“:
”号之后的内容,如果为/bin/false说明已经设置成功,如图所示:
3.5.3.加固影响
无
3.5.4.备注
无
3.6.重命名root账户名
3.6.1.说明
Root用户为Linux系统默认超级用户,为保持操作系统稳定运行,不建议对root用户进行更改。
不建议重命名root账户名,因为我司监控后台系统需要用root账户,如果重命名root账户可能会给监控后台的运行带来影响。
3.7.禁止root账户本地登录
3.7.1.说明
监控后台目前支持在sunri用户下运行,确保其他业务程序如agent等是否允许非root用户运行。
原则上不建议禁止root账户本地登录。
若确认与业务相关的程序允许在非root用户下运行,请将该非root用户加入root用户组,以便给该用户提升权限,防止系统的某些重要命令无法执行。
3.7.2.加固方法
将/etc/pam.d/login文件被分为/etc/pam.d/login.bak,然后打开/etc/pam.d/login文件,在该文件中添加如下内容,完成后保存即可:
authrequiredpam_succeed_if.souser!
=rootquite
3.8.开启历史命令保留数目限制
3.8.1.加固说明
本次加固策略将历史命令保留数目设置成100条,若需要设置成其他数目,修改成其他数目即可。
3.8.2.加固方法
打开/etc/profile文件,在该文件中查找HISTSIZE,若文件中存在HISTSIZE,且HISTSIZE前面存在#号,先将#号删除后再将HISTSIZE的值修改成100,若不存在#,则直接将HISTSIZE的值修改成100,;若不存在HISTSIZE,则在该文件的末尾处添加HISTSIZE=100,完成后保存文件即可。
重启系统后生效。
如图所示:
3.9.禁止默认路由
3.9.1.加固说明
本文采取禁止ip源路由方式禁止路由。
3.9.2.加固方法
将/etc/sysctl.conf备份为/etc/sysctl.conf.bak,然后打开/etc/sysctl.conf文件,在该文件中添加如下内容后保存:
net.ipv4.ip_forwad=0
完成之后在终端执行:
sysctl<空格>-p,是配置立即生效。
验证:
在终端执行:
sysctl<空格>-a<空格>|<空格>grep<空格>”ip_forward”
3.10.禁止root通过telnet和SSH直接远程登录
3.10.1.说明
root用户为特权用户,限制root用户远程登录,可提高系统安全并限制用户的操作权限。
3.10.2.加固方法
1、禁止或者启用SSH远程登录
(1)查看22端口是否开放:
netstat-tnl
(2)查看SSH服务是否启用:
systemctlstatussshd
(3)如何启用SSH服务:
systemctlstartsshd.service
(4)如何关闭SSH服务:
终端输入:
systemctlstopsshd.service
(5)如何禁用SSH服务:
打开/etc/ssh/sshd_config文件:
将#PermitRootLoginyes改为
PermitRootLoginno
重启ssh服务
#systemctlrestartsshd.service
2、Centos7.3系统只集成了telnet客户端,而没有集成服务端;首先检查系统是否安装了以下两个安装包:
telnet-server、xinetd;终端输入指令:
rpm-qatelnet-server
rpm-qaxinetd
如果终端未输出版本信息,无需进行任何操作;默认情况下,root账户不能以telnet方式直接连接linux系统。
其次:
确认只要存在/etc/securetty文件,就可以限制root直接远程telnet登录。
3.10.3.加固影响
无
3.10.4.备注
3.11.系统支持安全远程桌面XRDP
3.11.1.说明
我司定制版Centos7.3系统对桌面系统gnome进行过裁剪,不建议安装XRDP。
3.12.关闭采用加密的远程管理服务SSH
3.12.1.说明
不本次加固方式通过开启ssh的公钥私钥验证方式,拒绝传统的口令验证方式进行ssh远程连接。
3.12.2.加固方法
打开/etc/ssh/sshd_config文件,在该文件中找到PasswordAuthenticationyes,在该行的前面加上“#”号,然后再添加一行PasswordAuthenticationno,如图所示:
完成之后需重启ssh服务生效,重启方法见上文。
验证:
设置并重启ssh服务后,通过ssh远程工具,验证使用口令方式是否能ssh远程登录。
3.13.关闭不需要的服务
3.13.1.说明
不需要的服务却被启用,非法者就可以通过尝试攻击不需要的服务而攻击系统,而且管理员在管理维护过程通常会忽略不需要的服务,因此导致不需要服务中所存在的安全漏洞没有被及时修复,这使得非法者更有可能攻击成功。
3.13.2.加固方法
建议关闭不需要的系统服务,操作方法:
使用systemctlstop服务名,禁用vsftpd、sendmail、snmpdx、sshd等服务。
需要重启对应服务,输入命令:
systemctlstart服务名
3.13.3.加固影响
无
3.13.4.备注
为方便传送文件、数据库备份,ftp服务在工程安调期间可开启,安调结束后需关闭。
1、列出centos7开机启动项:
#chkconfig--list
2、列出centos7正在运行的服务:
#systemctllist-unit-files
3.14.禁止不必要的用户登录FTP服务
3.14.1.说明
防止未授权的用户利用ftp获取敏感信息。
Centos7.3定制版本集成了FTP服务,并进行了相关设置,比如运行root用户登录,只是为了安全起见未开启FTP服务,若有需要,可手动开启,命令:
systemctrstartvsftpd。
3.14.2.加固方法
在/etc/vsftpd/ftpusers和/etc/vsftpd/user_list中添加行,每行包含一个用户名,禁止此用户登录FTP服务。
如下图所示:
3.14.3.加固影响
无
3.14.4.备注
为方便传送文件、数据库备份,ftp服务在工程安调期间可允许root用登录。
3.15.帐户登陆策略配
3.15.1.说明
Centos7操作系统帐户有较强的帐户锁定策略配置,用于提高帐户的安全性,如果未配置,帐户可能存在弱点。
3.15.2.加固方法
在/etc/pam.d/passwd-auth中“#%PAM-1.0”下面一行加入如下两行指令,如图所示:
(1)authrequiredpam_tally2.sodeny=3unlock_time=30even_deny_rootroot_unlock_time=30
(2)accountrequiredpam_tally2.so
注意:
加入两行指令在队列的第一行;
参数说明:
deny[=n]----用户连续错误登陆的最大次数,超过则锁定改账户
unlock_time----设定普通用户锁定后,多少时间后解锁,单位是秒
even_deny_root----也限制root用户
root_unlock_time[=n]----设定root用户锁定后,多少时间后解锁,单位是秒
注意:
以上参数根据实际需要取舍,如果使用了even_deny_root参数限制root用户登录错误次数,而没有配置root_unlock_time的话,一旦root用户被锁,解锁将很麻烦。
3.15.3.加固影响
可能会对管理员操作带来不便。
3.15.4.备注
默认密码登录失败三次之后,会切换用户,继续使用与之前三次一样的用户才会进行累加;注:
passwd_auth与system_auth不要随便增加或减少指令,不然会导致系统被强制锁定;
3.16.系统资源限制设置
3.16.1.说明
根据各省公司要求对系统用户进行资源限制。
3.16.2.加固方法
限制sunri用户的系统资,这里将sunri用户对系统资源的占用限制为200M,sunri用户启动的所有进程所占用的所有物理内存之和不能超过200M,如果超过,进程将会被杀死。
(1)打开终端执行:
id<空格>sunri
(2)在/usr/lib/system/system目录下新建一个文件,文件名叫user-1001.slice,1001表示sunri用户的uid,如上图所示。
然后打开该文件,在该文件中输入以下内容,完成之后保存即可:
[Unit]
Description=sunriuser.slice
[Slice]
MemoryAccounting=true
MemoryLimit=200M
(3)启用并重新加载配置
在终端执行以下命令:
systemctl<空格>start<空格>user-1001.slice
systemclt<空格>daemon-reload
(4)查看配置
在终端执行如下命令:
systemctl<空格>status<空格>user-1001.slice<空格>-l
3.17.禁用USB存储设备
3.17.1.说明
禁用USB存储设备的接入,防止病毒的传播。
3.17.2.加固方法
终端输入find/lib/-name“storage”查找USB存储设备驱动位置:
然后将USB存储设备驱动”usb-storage.ko”重命名为”usb-storage.ko.bak”。
重启计算机生效。
若要恢复USB存储设备驱动,将文件名改回”usb-storage.ko”,然后重启即可。
3.17.3.加固影响
服务器无法使用USB存储设备。
3.17.4.备注
无
3.18.禁止接入光驱设备
3.18.1.说明
禁用光驱设备的接入,防止病毒的传播。
3.18.2.加固方法
将/lib/modules/3.10.0-5.14.el7.x86_64/kernel/drivers/cdrom/目录下的cdrom.ko重命名为cdrom.ko.bak,重启系统生效。
若需要恢复,将文件名改回”cdrom.ko”,然后重启即可。
3.18.3.加固影响
服务器无法使用光驱设备。
3.19.打开系统防火墙
3.19.1.说明
打开系统防火墙防止恶意入侵。
3.19.2.加固方法
(1)Centos7.3定制版是关闭了防火墙的,
查看防火墙状态:
firewall-cmd--state
开启防火墙:
systemctlstartfirewalld.service
关闭防火墙:
systemctlstopfirewalld.service
禁止firewall开机自启动:
systemctldisablefirewalld.service
(2)使用开启防火墙指令之后,在以下路径中对防火墙进行相应的配置,主要针对public区域;
3.19.3.加固影响
未知,不确定是否会对程序运行产生影响,端口跟服务是两个主要影响因素;
3.19.4.备注
无
3.20.备份系统防火墙
3.20.1.说明
本次加固策略针对防火墙public域的策略文件进行备份。
3.20.2.加固方法
打开终端,执行以下命令:
cp<空格>/etc/firewalld/zones/public.xml<空格>/etc/firewalld/zones/public.xml.old
3.20.3.加固影响
无
3.21.限制远程登录范围
3.21.1.说明
Centos7操作系统帐户有较强的帐户锁定策略配置,用于提高帐户的安全性,不允许非法网段的IP进行登录。
3.21.2.加固方法
在Centos7系统中ssh登录限制ip的方法
打开/etc/hosts.allow,增加
sshd:
192.168.0.100:
allow //允许IP192.168.0.100登录
sshd:
192.168.0.:
allow //允许IP192.168.0. 网段登录
sshd:
all:
deny //禁止其他的所有IP登录
或者
sshd:
223.227.223.*:
allow //允许IP223.227.223.* 网段登录
sshd:
192.168.0.*:
allow //允许IP192.168.0.* 网段登录
sshd:
all:
deny //禁止其他的所有IP登录
3.21.3.加固影响
无
3.21.4.备注
无
3.22.启用系统审计服务
审计内容包括:
系统调用、文件访问、用户登录等。
3.22.1.加固方法
1、Centos7系统默认日志审计功能是开启的,可以查看什么用户在什么时间登陆了系统,登陆失败的次数等;日志由三部分组成:
(1)使用什么工具记录系统产生的日志信息。
syslog服务脚本管理的两个进程:
syslogd、klogd来记录系统产生的日志信息;
klogd:
进程是专门为内核产生的日志信息服务的。
Syslogd:
进程是专门为应用程序服务(除了内核)产生的日志信息服务的;
只有调用了logger接口,应用程序才可以调用syslogd工具帮助记录日志信息。
(2)只要系统服务在运行,就会产生日志信息,使用专门的工具记录在磁盘上,使用logrotate命令来滚动,syslog记录的日志文件。
(3)自动化管理:
日志文件的滚动、备份、压缩等工作,使用crond和anacron来完成;
2、centos7服务器安全审计:
centos7默认已经安装了auditd套件,它包括以下内容:
auditctl:
即时控制审计守护进程的行为的工具,比如添加规则等等。
/etc/audit/audit.rules:
记录审计规则的文件。
aureport