网络安全等级保护中Linux服务器漏洞整改
2022-07-26刘俊芳谷利国陈存田张甲瑞高翔
◆刘俊芳 谷利国 陈存田 张甲瑞 高翔
网络安全等级保护中Linux服务器漏洞整改
◆刘俊芳 谷利国 陈存田 张甲瑞 高翔
(山西省地震局 山西 030021)
山西省地震信息服务系统的安全等级保护为第三级,系统包括前兆服务器、测震服务器、OA服务器和网站服务器等。本文通过对Linux系统服务器按照三级等保要求进行整改,能有效提升Linux系统服务器的安全水平,结合系统在网络安全方面的要求,对Linux系统服务器的整改进行了探讨。
地震信息服务系统;安全等级保护;Linux系统服务器整改;系统安全
2008年,山西省地震信息服务系统建成并投入运行,虽然含有多个业务应用子系统,但因网络边界的同一性与应用的关联性,最终集成为一个综合信息服务系统。全国各省地震行业为实现业务子系统的重点保护,优化信息安全资源配置,有的按测震业务、前兆业务、应急业务和强震业务等,划分出多个计算机等级保护业务信息系统。山西地震信息服务系统是“中国数字地震观测网络”的一部分,除提供基础网络支撑和基础信息服务的信息系统外,还涵盖山西数字地震台网、山西地震前兆台网、山西数字强震台网等。当山西省地震信息服务系统遭受侵害时,会影响一个或者多个业务子系统的正常运转,对行业业务造成严重损害(蒋晓山等,2015)。
根据业务和信息服务受损客体和损害程度,依照《信息安全技术信息系统安全等级保护定级指南》(GB/T 22240- 2008),山西省地震信息服务系统安全等级保护定为第三级,系统包括前兆服务器、测震服务器、OA服务器和网站服务器等(蒋晓山等,2015;林春艳等,2020)。目前,相关学者对漏洞的发展和趋势进行分析研究,如:2017年以来,从系统漏洞、Web安全、弱口令、信息泄露等方面分析安息安全。本文通过对Linux系统服务器按照三级等保要求进行整改,能有效提升Linux系统服务器的安全水平(卢方建等,2021),结合系统在网络安全方面的要求,对Linux系统服务器整改进行了探讨。
1 Linux系统服务器存在问题
漏洞对系统安全存在威胁,其存在使得病毒得以传播,网络攻击得以进行,对系统的完整、可用、机密、可控和可靠造成威胁。在漏洞扫描中,发现山西省地震信息服务的Linux系统服务器存在以下漏洞。
(1)没有密码配置文件或login. defs配置文件中密码策略不符合要求;密码未进行定期更换。
(2)密码复杂程度未配置;登录失败处理功能未配置。
(3)未添加审计账户。
(4)未限制远程登录地址。
(5)未配置超时退出功能。
(6)日志切割配置不够满足《网络安全法》中日志至少存储6个月的要求。
(7)服务器中未安装杀毒软件。
攻击者可利用以上漏洞入侵服务器,在未经授权的情况下对存储或传输过程中的信息进行删除、修改、伪造、乱序、重放、插入等破坏操作,破坏了服务器的完整性;攻击者利用漏洞破坏服务器系统,阻止网络正常运行,破坏了服务器的可用性;攻击者利用漏洞给非授权的个人和实体泄露受保护的信息,破坏了服务器的机密性;攻击者利用漏洞,使得系统对于合法用户处于“失控”状态,破坏了对信息的控制,使得服务器不可控;攻击者利用漏洞使得服务器无法在规定的条件和时间完成规定的功能(杨东晓等,2019)。基于以上服务器漏洞,提出漏洞修复方法并及时更新漏洞。
2 Linux系统服务器漏洞整改方法
通过Linux系统服务器漏洞整改,保证主机和应用系统的登录安全。根据公安部的配置核查标准,在口令、防护软件和防病毒软件等方面进行了限制(杨东晓等,2019)。在密码长度方面要求最少为8位,密码复杂度要求至少包含英语大写字母、小写字母、数字和字符4种类别中的3种。对于采用静态口令认证技术的设备,账户口令的生存期不长于90天。在软件防护方面,根据业务需要,限定允许访问网络的应用程序和允许远程登录该设备的IP地址范围。在病毒防护方面,要安装防病毒软件,并及时更新。
(1)修改 etc/login.defs配置文件或进行配置。
PASS MAX_DAYS 90 #登录密码有效期90天;PASS MIN_DAYS 30 #登录密码最短修改时间为30天;PASS MIN_LEN 8 #登录密码最小长度8位;PASS WARN_AGE 7 #登录密码过期提前7天提示修改;对密码进行定期更换,并填写相关记录表单(图1)。
图1 修改前界面
修改过程为输入vim /etc/login.defs 进入后修改以下参数(图2):
PASS_MAX_DAYS 90;PASS_MIN_DAYS 30;PASS_MIN_LEN 8;PASS_WARN_AGE 7。
图2 修改后界面
(2)修改/etc/pam.d/common-auth配置文件(suse系统)。
account required pam_tally.so deny=3,unlock_time=600,even_deny_root unlock_time=600 登录失败3次锁定60秒。
修改 /etc/pam.d/system-auth配置文件(centos系统):account required pam_tally.so deny=3,unlock_time=600,even_deny_root unlock_time=600 登录失败3次锁定60秒。
修改 /etc/security/ pwquality.conf配置文件(需删除#注释符):difok=2新旧密码不同位数为2,ucredit=1大写字母个数为1,lcredit=2小写字母个数为2,dcredit=3密码中最少包含的数字为3,ocredit=1至少一个特殊字符。
修改 /etc/pam.d/common-password配置文件(suse系统):password required pam_pwquality.so 或者password requisite pam_cracklib.so ;difok=2新旧密码不同位数为2,ucredit=1大写字母个数为1,lcredit=2小写字母个数为2,dcredit=3密码中最少包含的数字为3,ocredit=1至少一个特殊字符。
修改 /etc/pam.d/system-auth配置文件(centos系统):password required pam_pwquality.so 或者password requisite pam_cracklib.so;difok=2新旧密码不同位数为2,ucredit=1大写字母个数为1,lcredit=2小写字母个数为2,dcredit=3密码中最少包含的数字为3,ocredit=1至少一个特殊字符(图3)。
修改过程(图4):增加account required pam_tally.so deny=3 unlock_time=600 even_deny_root unlock_time=600命令。输入password requisite pam_cracklib.so try_first_pass local_users_only retry=3 authtok_type= difok=2 ucredit=1 lcredit=2 dcredit=3 ocredit=1。
(3)添加审计账户,权限进行合理分配,每个账户最小化权限,实现权限分离,不应只有root账户。增加审计账户,设置了用户名:shenji及相应的密码(图5、图6)。
图5 设置审计账户
图6 修改前界面
修改过程(图7):输入vim /etc/sudoers,进入界面后,增加shenji ALL=(root)NOPASSWD:/usr/bin/cat,/usr/bin/less,/usr/bin/more,/usr/bin/tail,/usr/bin/head。
图7 修改后界面
修改后增加了审计账户,只有查看权限(图8)。
图8 审计账户权限
(4)修改cat /etc/hosts.allow,添加允许远程登录的地址。修改cat /etc/hosts.deny 添加禁止远程登录的地址。或在etc/ssd/sshd_config中限制账户的远程登录IP。例如allowusers用户名@XXX.XXX.XXX.XXX。也可以通过主机防火墙iptables进行限制。
修改过程(图9、图10):输入vim /etc/hosts.allow;sshd:10.14.16:ALLOW。
图9 修改前界面
图10 修改后界面
(5)在etc/profile配置文件中加入TMOUT=600 ;十分钟无操作自动退出。
修改过程(图11、图12):在尾部增加:TMOUT=600;export=TOMOUT。
图11 修改前配置
图12 修改后配置
(6)修改etc/ logrotate.conf配置文件或修改etc/ logrotate.d/rsyslog配置文件。
修改过程(图13、图14):输入weekly和rotate 26,实现至少应修改为每周切割,可以保存26个切割后的日志。或每月切割,可以保存7个切割后的日志。
图13 修改前配置
(7)在服务器中部署360天擎。
修改步骤(图15):输入:# wget "http://10.14.2.158/download/setup/360installer-linuxs(10.14.2.158_80).sh"和# sh 360installer-linuxs(10.14.2.158_80).sh;原来已经安装360天擎,本次不需要再装,显示已经安装该程序,执行安装失败。
3 结果与讨论
网络安全等级保护中,Linux服务器在漏洞扫描中发现存在漏洞,通过修复漏洞的过程,及时加强信息网络系统安全。综上所述,可得到以下结论:
(1)通过修改 etc/login.defs配置文件或进行配置,实现密码策略要求。
(2)通过修改 /etc/pam.d/common-auth配置文件(suse系统)和修改/etc/pam.d/system-auth配置文件(centos系统),实现登录失败处理功能配置。
通过修改 /etc/security/ pwquality.conf配置文件(需删除#注释符)、修改 /etc/pam.d/common-password配置文件(suse系统)和修改 /etc/pam.d/system-auth配置文件(centos系统),实现密码复杂程度配置。
(3)通过增加shenji ALL=(root)NOPASSWD:/usr/bin/cat, /usr/bin/less,/usr/bin/more,/usr/bin/tail,/usr/bin/head,实现添加审计账户,只有查看权限。
(4)通过修改cat /etc/hosts.allow,输入vim /etc/hosts.allow;sshd:10.14. 16:ALLOW,可以添加允许远程登录的地址。
(5)通过在etc/profile配置文件中加入TMOUT=600;export=TOMOUT,实现十分钟无操作自动退出。
(6)通过修改etc/ logrotate.conf或etc/ logrotate.d/rsyslog配置文件,输入weekly和rotate 26,可实现至少应修改为每周切割,可以保存26个切割后的日志。
(7)通过安装360天擎,实现在服务器中部署360天擎。
Linux服务器整改方案操作简单,效果明显,把服务器的主要隐患通过上述方案的操作步骤进行整改,能明显提升服务器安全水平,有效保障了地震信息系统的服务水平。
[1]蒋晓山,程紫燕. 山西地震信息服务系统安全等级保护与安全体系框架[J]. 山西地震,2015(03):42-45.
[2]卢方建,卢方玉,关益香,等. 对网络安全等级保护中服务器整改的探讨[J].环球市场/科技纵横,2021(11):326.
[3]林春艳,陈建云. 基于网络安全等级保护2.0的气象信息网络安全体系研究[J].信息记录材料,2020,41(04):101-102.
[4]杨东晓,张锋,段晓光,等. 漏洞扫描与防护[M]. 北京:清华大学出版社,2019:112-118.