安全加固小知识

等保的过程中应该都会检查公司的一些重要的资产,并进行安全评估

今天整理一些个人了解的重要的检查加固项

纯菜鸡,认知有限,仅供参考

大厂应该都有自己的流程和要求,咱也没去过,咱也不知道

事先声明,本文中截图仅供演示位置使用,而不是正确的配置方案,不要按照我的图配置!

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信息

设置定时登出

等等等等......

有条件的,挂上扫描器,自己扫一扫;看一看跨区域数据包可达情况;买管控设备;系统常备份

嗯......暂时就这些

未经允许,禁止转载

原文地址:https://www.cnblogs.com/lcxblogs/p/14121232.html