安全基线加固
- 定义:为了实现基本防护需求而制定的一系列基准;
- Windows && Linux 安全基线加固操作系统具体操作### Windows#### 账户认证基本要求对应操作对登录操作系统的用户进行身份标识和鉴别- 操作内容:检测开机登录时是否需要密码- 操作结果:杜绝空密码登录的情况管理缺省用户- 操作内容:重命名administrator,禁用guest账户- 操作步骤:
net localgroup administrators
确认除administrator
之外还存在哪些管理员账户口令要求具有复杂度并且会定期更换- 操作内容:提升口令复杂度,定期更换口令- 操作步骤: 1. Win+R 中执行gpedit.msc
2. 计算机配置 - Windows设置 - 安全设置 - 账户策略 - 密码策略 - 密码必须符合复杂性要求 - 启用3. 同一页面下:密码最长使用期限,设置 < 90 天启用登录失败处理功能,限制非法登录次数- 操作内容:检测用户连续认证失败后是否有限制- 操作步骤: 1. Win+R 中执行gpedit.msc
2. 计算机配置 - Windows设置 - 安全设置 - 账户策略 - 账户锁定策略3. 账户锁定阈值 ≤ 5,锁定时间 ≥ 5 分钟限制非管理员账户关闭计算机- 操作内容:检测用户连续认证失败后是否有限制- 操作步骤: 1. Win+R 中执行gpedit.msc
2. 计算机配置 - Windows设置 - 安全设置 - 本地策略 - 用户权限分配 - 从远程系统强制关机 中只保留administrator
组- 操作结果:除administrator
组外用户均为关机权限#### 日志基本要求对应操作配置日志功能对用户的登录情况进行记录(账户,登录状态,时间以及IP 地址)- 操作内容:审核登录- 操作步骤: 1. Win+R 中执行gpedit.msc
2. 计算机配置 - Windows设置 - 安全设置 - 本地策略 - 审核策略 - 审核登录事件 - 勾选成功和失败- 操作结果:审核策略 登录和失败都勾选- 其他审核项 基本要求测试内容预期要求审核对象访问启用Windows系统的审核对象访问"审核对象访问"设置为"成功" 和"失败"都要审核审核进程追踪启用Windows系统的审核进程追踪"审核进程追踪"设置为"失败"要审核审核目录服务器访问启用组Windows系统的审核目录服务访问"审核目录服务器访问"设置为"成功" 和"失败"都要审核审核特权使用启用Windows系统的审核特权使用"审核系统事件"设置为"成功" 和"失败"都要审核审核系统事件启用Windows系统的审核系统事件"审核特权使用"设置为"成功" 和"失败"都要审核- 特殊事件ID: 事件ID登录事件ID登陆成功4624登录失败4625账户操作事件ID命令创建账户4720net user 新用户名 密码 /add
启用账户4722net user 用户名 /active:yes
重置账号密码4724net user 用户名 新密码
删除账户4726net user 用户名 /delete
成员到用户组操作全局事件ID命令添加用户成员到全局用户组4728net group "全局组名" 用户名 /add
删除用户成员从全局用户组4729net group "全局组名" 用户名 /delete
本地事件ID命令添加用户成员到本地用户组4732net localgroup "本地组名" 用户名 /add
删除用户成员从本地用户组4733net localgroup "本地组名" 用户名 /delete
配置日志文件大小- 目录:C:\Windows\System32\winevt\Logs
- 操作内容:设置日志文件 ≥ 8192 KB- 操作步骤: 1. Win+R 中 执行control
或eventvwr
(直接打开)2. 控制面板 - 查看方式:小图标 - 管理工具 - 事件查看器 - Windows 日志 - 选择相应的日志 -属性 - 日志最大大小 ≥ 8192 KB- 操作结果:应用日志,系统日志,安全日志 (日志大小 ≥ 8192 KB)#### 入侵防范与访问控制基本要求对应操作对共享文件进行权限限制- 操作内容:对共享文件夹的权限进行限制- 操作步骤: 1. Win+R 中 执行compmgmt.msc
2. 计算机管理 -系统工具 - 共享文件夹 - 共享 - 选中查看 - 右击属性 - 共享权限 - 若包含Everyone 则将其删除- 操作结果:共享权限中不包含 Everyone修改远程桌面服务的默认端口- 操作内容:对远程桌面服务端口进行更改- 操作步骤: 1. Win+R 中 执行regedit
2.计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
中修改PortNumber
为3389以外的 16 进制;3.计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
中修改PortNumber
为3389以外的 16 进制;4. 保存新值后,重启系统生效- 操作结果:RDP服务不再是3389端口禁止远程访问操作系统注册表路径和子路径- 操作内容:将 远程访问操作系统注册表路径和子路径 配置为空- 操作步骤:Win+R 中 执行gpedit.msc
1. 本地计算机策略 - 计算 机配置 - Windows 设置 - 安全设置 - 本地策略 - 安全选项 - 可 远程访 问的注册表路径和子路径 - 双击配置为空- 操作结果:禁止远程连接注册表安装终端防护软件- 操作内容:防范恶意代码- 操作步骤:使用正版授权的计算机病毒防护软件,及时更新病毒库;#### 系统服务基本要求对应操作关闭非必要的系统服务- 操作内容:管理系统服务- 操作步骤: 1. Win+R 中 执行control
2. 控制面板 - 查看方式:小图标 - 管理工具 - 计算机管理 - 服务和应用程序 - 查看并关闭服务3. 建议关闭的服务 Error Reporting Service错误报告服务Computer browser浏览局域网计算机列表Print Spooler打印队列服务Remote Registry远程注册表操作Routing and Remote Access路由与远程访问shell hardware Detection为自动播放硬件事件提供通知telnet远程管理TCP/IP NetBIOS Helper允许客户端共享文件,打印机和登录到网络- 操作结果:关闭非必要的系统服务#### 系统更新基本要求对应操作系统自动更新安全补丁- 操作内容:系统自动更新安全补丁- 操作步骤:开启系统自动更新功能,检查Windows 更新- 操作结果:安装关键和重要的系统补丁#### 基线排查脚本以管理员权限运行 bulid_security_Strategy.bat 脚本### Linux#### 用户账号口令设置基本要求对应操作检查是否存在空密码账户- 操作步骤:awk -F: '($2==""){print$1}' /etc/shadow
- 操作结果:不存在空口令账户(有输出则存在,无输出则不存在)检查密码策略- 操作步骤:vim /etc/login.defs
- 检查参数 参数说明参考值PASS_MAX_DAYS密码最长过期天数90PASS_MIN_DAYS密码最小过期天数80PASS_MIN_LEN密码最小长度8PASS_WARN_AGE密码过期警告天数7- 操作结果:密码设置符合策略安全限制 root 用户远程登录- 操作内容:关闭 root 用户远程登录- 操作步骤: 1. 新建远程登录 ssh 用户 ,例:useradd user1
2. 设置密码:passwd user1
3. 密码:userpasswd
4. 设置 sudo 权限:chmod u+w /etc/sudoers && vim /etc/sudoers
5. 添加:user1 ALL=(ALL:ALL) ALL
6. 恢复权限:chmod u-w /etc/sudoers
7. 测试:su user1
执行:id
8. 执行sudo vim /etc/ssh/sshd_config
9. 找到 PermitRootLogin 删除前面的 #号,并改为 no10. 重启sshd 服务,执行system restart sshd
或systemctl restart ssh
- 操作结果:root 用户 无法直接登录ssh,但可以以新用户身份登录ssh检查是否存在除root以外 UID 为0的用户- 操作步骤:awk -F: '($3==0){print$1}' /etc/passwd
- 操作结果:保证 UID为0的只有 root 用户启用密钥登录,关闭密码登录- 操作内容:- 操作步骤: 1. 生成密钥:sudo ssh-keygen
会提示文件路径,需更改下面的文件路径2. 配置 id_rsa.pub :cat /home/kali/.ssh/id_rsa.pub >> /home/kali/.ssh/authorized_keys
3. 赋予生成文件读写权限:chmod 600 id_rsa
4. 使用生成的文件登录:ssh 用户名@IP -i 生成文件
,例:ssh [email protected] -i id_rsa
5. 关闭密码登录:vim /etc/ssh/sshd_config
添加:PasswordAuthentication no
6. 重启 SSH 服务:systemctl restart sshd
,systemctl restart ssh
- 操作结果:无法使用密码登录,必须使用 生成的文件进行登录(id_rsa)#### 系统文件与访问控制基本要求对应操作用户连接安全性配置- 操作步骤: 1. 检查.netrc文件find / -name .netrc 2>/dev/null
2. 检查.rhosts文件find / -name .rhosts 2>/dev/null
- 操作结果:系统中 无.netrc
和.rhosts
文件用户 umask 安全配置- 操作步骤:检查是否包含umask值cat /etc/profile /etc/csh.login /etc/csh.cshrc /etc/bashrc 2>/dev/null |grep umask
- 操作结果:无 umask 值重要目录和文件的权限设置- 操作步骤: 查找未授权的 SUID/SGID 文件-find / -perm -04000 2>/dev/null
-find / -perm -02000 2>/dev/null
查找任何人都有写权限的目录-find / -type d -perm -o+w 2>/dev/null
检查隐藏的文件或目录-find / -xdev -name ". *" -print
-find / -xdev -name ".. *" -print
- 操作结果: 1. 无未授权的suid /sgid 权限2. 无未授权的可写目录3. 无未授权的隐藏文件或目录系统 core dump 状态- 操作步骤: 1.vim /etc/security/limits.conf
2. 添加* soft core 0
,* hard core 0
- 操作结果:关闭core dump
#### linux日志审计基本要求对应操作查看 syslog 登录事件记录- 操作步骤:查看authpriv
的值:more /etc/rsyslog.conf
- 操作结果:对所有登录事件都有记录重要日志说明日志文件命令登录成功日志/var/log/wtmp``````last
登录失败日志/varlog/btmp``````lastb
最后一次登录/var/log/lastlog``````lastlog
登录日志Centos
:/var/log/secure``````Debian
:/var/log/auth.log
当前登录用户(时间,IP)/var/log/utmp``````w,who,users
历史命令记录用户家目录下的 .bash_history 文件``````history
### 中间件#### Apache 日志# 查看日志中最近访问主机的IPcat access.log | awk '{print $1}' # 显示访问次数前10的IPcat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10# 显示指定时间后的日志(修改时间)cat access.log |awk '$4>="[1/Jan/2020:00:00:00"'# 查看某一时间内的 IP 连接情况(修改时间)grep "2016:09" access.log |awk '{print $4}'|sort|uniq -c |sort -nr# 查看指定的 IP 做了什么cat access.log.1 |grep 127.0.0.1| awk '{print $1"\t"$8}'| sort|uniq -c |sort -nr|less# 查看最近访问量次数最多的文件cat access.log |tail -10000| awk '{print $7}'| sort|uniq -c |sort -nr|less
#### IIS 日志IIS7.5:%SystemDrive%\inetpub\logs\LogFilesIIS6.0:%systemroot%\system32\logfiles\w3svc1\
结语
亲爱的网络安全同行和爱好者们,
在我分享的网络安全自学笔记中,我深感自己的知识和经验有限。为了更好地服务于这个领域,我真诚地希望各位能够指出我的错误和不足,以便我们共同进步,提升网络安全防护能力。
我深知,网络安全是一个不断发展的领域,需要我们持续学习和实践。我的笔记可能存在理解偏差、技术更新不及时或实践应用上的疏漏。因此,我非常欢迎各位专家和同好们提出宝贵意见,帮助我完善内容,确保信息的准确性和实用性。
请您在阅读过程中,如果发现任何问题,无论是小的笔误还是大的概念性错误,都能及时反馈给我。您的每一次指正都是我进步的阶梯,也是我们共同守护网络安全的责任所在。
感谢您的理解和支持,让我们一起努力,为网络安全领域的发展贡献力量!
版权归原作者 冰水° 所有, 如有侵权,请联系我们删除。