安全加固小知识
等保的过程中应该都会检查公司的一些重要的资产,并进行安全评估
今天整理一些个人了解的重要的检查加固项
纯菜鸡,认知有限,仅供参考
大厂应该都有自己的流程和要求,咱也没去过,咱也不知道
事先声明,本文中截图仅供演示位置使用,而不是正确的配置方案,不要按照我的图配置!
0x01 前言
在完成加固报告之前,至少应该有这几个步骤:可能事先有保密协议、免责协议需要签;明确资产范围和评估的范围,哪些手段可以做,哪些不能做,没要求的别瞎乱测;资产梳理;资产的安全评估、风险评估;安全加固;加固报告
做资产梳理的时候,着重看一下网络拓扑(系统外部边界、区域划分、网络接入区、对照资产清点用正确的图标表示设备)、网络边界(区域、范围、服务器、终端、互联区域、边界设备、线路信息)、设备列表(名称、作用、物理
与网络区域、品牌型号、IP、账号密码、重要性、热备与否、维护人联系方式等)、机柜(一个机柜从上到下画个图,区分一下每层都是什么)、应用服务(是否对外、业务名称、系统定级、软件名称、功能、软硬件平台、C/S还是B
/S、负责人、重要性等)......
总之,重要的几点,比如:服务器的账户策略、漏洞补丁、防火墙、高危端口、日志、安全软件状态;安全设备的console口口令配置、安全规则库更新等等等等
另:
我要用腐朽的声音喊出-----msinfo32真是个好命令!
0x02 windows机器
1.系统补丁 :命令行输入systeminfo,看下打了什么补丁。看下服务中,windows update是不是自动启用的
2.远程登录账号不活动时间:控制面板-》管理工具-》计算机管理-》本地策略-》安全选项 看一下
3.有共享文件的用户列表:控制面板-》管理工具-》计算机管理-》系统工具-》共享文件夹
4.提示用户在密码过期之前进行更改
gpedit.msc,打开本地组策略编辑器,本地计算机策略-》计算机配置-》Windows设置-》安全设置-》本地策略-》安全选项
5.开放端口:
netstat -ano
6.防病毒软件:看看控制面板里的杀软,看看多长时间之前更新过病毒库
7.安全日志大小:控制面板-》管理工具-》事件查看器-》Windows日志
设置一下这个最大大小,满了覆盖或者什么要求
8.审核账户登录事件:控制面板-》管理工具-》本地策略-》审核账户登录事件
正常来说要把成功失败都勾选上,别像我一样,搞个无审核就不好了,有审核的最好全打开
9.日志功能配置:控制面板-》管理工具-》本地策略-》审核策略
10.审核策略更改:控制面板-》管理工具-》本地策略-》审核策略
11.查看管理员账户名称:进入 控制面板-》管理工具-》计算机管理-》本地用户和组-》用户-》Administrator
可以把administrator改个名,并禁用guest用户
12.无用账户:还是第11小点,是不是发现一些不是自己创建的用户啊,删!
13.密码长度及复杂度:
控制面板-》管理工具-》帐户策略-》密码策略
根据要求,自行修改,启用第一项“密码必须符合复杂性要求”
14.账户登录失败次数:按照要求设置锁定阈值
15.账户口令有效期:图同13小点,设置密码最长使用期限
16.账户密码重置要求:图同13小点,设置强制密码历史
17.密码使用最短天数:图同13小点,设置密码最短使用期限
18.账户锁定时间:gpedit.msc,打开本地组策略编辑器,本地计算机策略-》计算机配置-》Windows设置-》安全设置-》账户策略-》账户锁定策略,看账户锁定时间,配置不了,需要先配置账户锁定阈值
19.复位账户锁定计算器:图如18小点,“重置账户锁定计数器”
20.远程用户枚举账号名:控制面板-》管理工具-》本地安全策略-》本地策略-》安全选项
正常都是已启用状态
21.允许访问本地计算机的用户列表:控制面板-》管理工具-》本地安全策略-》本地策略-》用户权限分配
看下本地登录账户和拒绝本地登录有哪些,以操作系统方式执行
22.允许访问远程计算机的用户列表:图如21小点,看一下允许通过远程桌面服务登录的账号,和拒绝从网络访问这台计算机
23.开启防火墙:打开防火墙
24.可移动磁盘:gpedit.msc,打开本地计算机策略,计算机配置-》管理模板-》系统-》可移动存储访问,视情况设置拒绝权限吧
......
当然,以上只是一些基础的设置,还有很多很多
这里有一篇windows安全基线的文章,比较老了,也不是很全,仅供参考:https://www.cnblogs.com/sun-sunshine123/p/7117085.html
再来一篇windows入侵排查思路:https://www.cnblogs.com/xiaozi/p/9865346.html
0x03 Linux机器
我用kali演示了啊
1.账号:ls -l /etc/passwd 看一下是不是644权限的文件
more /etc/passwd 看看有哪些账号
2.用户组:more /etc/group 看看有哪些用户组
3.密码设置:more /etc/login.defs
看一眼这个,最长过期天数,最短过期天数,密码过期警告天数
有的还有PASS_MIN_LEN (密码最小长度)
但是有很多版本的Linux系统中这是个吉祥物参数,没有卵用
有不少用cracklib或者libqwquality的,可以试试
awk -F: '($2 == "") { print $1 }' /etc/shadow 查看是否存在空口令账户
4.用户远程登录:禁止root用户远程ssh登录机器
cat /etc/ssh/sshd_config
我这里是允许root登录,但是禁止root用密码登录,这个就用#注释掉吧
正常需要加一行
PermitRootLogin no
就完事了,不让root远程登录
改了之后重启ssh或sshd服务,一客一服,不同系统命令不同蛤
5.查看UID为0 的用户:awk -F: '($3 == 0) { print $1 }' /etc/passwd
如果有除了root之外的就要注意了
6.对超时时间设置:针对所有用户,在/etc/profile中加上export TMOUT=时间(秒)
还有ssh的配置文件/etc/ssh/sshd_config
ClientAliveInterval 300 ClientAliveCountMax 3 比如什么5分钟检测一次客户端的响应,3次得不到响应认为连接断了
针对某个用户
找用户的/etc/bash.bashrc或者~/.bashrc,看看有没有相关配置
7.磁盘状态:df -k ,看一下系统文件配置
8.开放端口:netstat -pantu
9.系统内核版本查看:uname -a
10.防火墙:啊不同版本Linux系统命令不一样,我这个kali比较特殊(常用ufw管理),不做演示了,命令网上有很多
11.登录事件记录:/var/log/secure
12.系统进程: ps -aux
......
还是一篇Linux安全基线的文章供参考:https://www.cnblogs.com/sun-sunshine123/p/7119472.html
再来一篇Linux入侵排查的思路:https://www.cnblogs.com/xiaozi/p/9865336.html
0x04 其他
一些安全设备要注意账户策略,如默认密码不可取,口令复杂度要求
有日志功能的设备,全开启日志功能
管理配置接口设密码
系统病毒库没事常更新
多点登录要禁用
没用的服务要关掉
banner信息是否修改了
登录失败时的处理
限制远程访问IP
访问控制列表过滤高危端口
关闭debug信息
设置定时登出
等等等等......
有条件的,挂上扫描器,自己扫一扫;看一看跨区域数据包可达情况;买管控设备;系统常备份
嗯......暂时就这些
未经允许,禁止转载