安全加固之系统加固

为什么要安全加固

        法律法规

        《中华人民共和国网络安全法》第二十二条、《关键信息基础设施安全保护条例》第三十三条,发现七网络产品、服务存在安全缺陷,漏洞风险时,应当采取补救措施

        利益保护

        若不对自身应用进行安全防护,极易被病毒植入、广告替换、支付渠道篡改、钓鱼、信息劫持、严重侵害企业和个人利益

        自身安全

        通过安全加固,将整个信息系统的安全状况提升到一个较高的水平,尽可能地消除或降低系统的安全风险

安全加固的方案原则

        版本升级        

        对于系统和应用在使用过程中暴露的安全缺陷,系统或应用厂商会即使发布解决问题的升级补丁包。升级系统或应用版本,可有效解决旧版本存在的安全风险

        关闭端口服务

        在不影响业务系统的正常运行下,停止或禁用承载业务无关的服务或服务端口,可有效避免无关服务造成的安全风险

        修改配置项

        操作系统、安全设备、数据库、中间件、第三方应用和业务系统可更改的配置与安全相关的设置参数等信息,通过修改安全配置,可以为网络或应用提供必要的安全保护

        主机和网络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

                        在启动选项卡中去掉多余的启动项的”√“

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值