主机安全-Windows&Linux的SSH安全加固

信息安全相关 - 建设篇


系列文章回顾

第一章 传输安全-LDAP协议安全加固
第二章 安全审计-Linux用户命令全审计



下章内容

第四章 代码安全-exe的代码签名和混淆加密


主机安全-Linux的SSH安全加固

前言

本案例仅实测通过CentOS 7.5-7.9系列,其他Linux系列及版本未实测。

1. CentOS版本:7.5  ≤  version  ≤  7.9



Windows openssh相关命令,安装openssh获取openssh命令

ssh -V		# windows openssh查询版本
OpenSSH_for_Windows_8.9p1, LibreSSL 3.4.3

ssh -Q mac	# windows openssh查询mac列表
ssh -Q Ciphers	# windows openssh查询ciphers列表
ssh -Q kex	# windows openssh查询kex列表

Windows openssl相关命令,安装Git获取openssl命令

# CMD命令
openssl ciphers -V	# windows openssl查询本地支持的ssl密码套件

# PowerShell命令
PS C:\Users\Administrator> Get-TlsCipherSuite			# PowerShell查询Windows系统支持的SSL密码套件
PS C:\Users\Administrator> Get-TlsCipherSuite | ft name	# 按name字段过滤查询

修复 CVE-2015-2808漏洞: SSL/TLS 存在Bar Mitzvah Attack漏洞

检验服务端的ssl密码套件是否存在RC4

# 存在RC4的响应结果
[root@localhost ~]# openssl s_client -connect X.X.X.X:3389 -cipher RC4
CONNECTED(00000003)
...
...
SSL handshake has read 899 bytes and written 449 bytes	# TCP三次握手的读写字节数, 存在RC4时read的字节 > 0
---
New, TLSv1/SSLv3, Cipher is RC4-SHA		# 存在RC4时, Cipher会显示 RC4-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : RC4-SHA					# 存在RC4时, Cipher会显示 RC4-SHA
    ...
---

# 不存在RC4的响应结果
[root@localhost ~]# openssl s_client -connect X.X.X.X:3389 -cipher RC4
CONNECTED(000002E8)
...
...
SSL handshake has read 0 bytes and written 153 bytes	# TCP三次握手的读写字节数, 不存在RC4时read的字节 = 0
---
New, (NONE), Cipher is (NONE)		# 不存在RC4时, Cipher会显示 NONE
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : 0000				# 不存在RC4时, Cipher会显示 0000
    ...
---

修复Windows 的 RC4-SHA密码套件漏洞

### 查询Windows的SSL密码套件顺序, 更新SSL密码套件, 去除RC4相关套件
gpedit.msc --> 计算机配置 -> 管理模板 -> 网络 -> SSL配置设置 -> SSL密码套件顺序.	# 修改后重启生效
原始数据(未配置):
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_RC4_128_MD5,TLS_RSA_WITH_NULL_SHA256,TLS_RSA_WITH_NULL_SHA,TLS_PSK_WITH_AES_256_GCM_SHA384,TLS_PSK_WITH_AES_128_GCM_SHA256,TLS_PSK_WITH_AES_256_CBC_SHA384,TLS_PSK_WITH_AES_128_CBC_SHA256,TLS_PSK_WITH_NULL_SHA384,TLS_PSK_WITH_NULL_SHA256

更新数据:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA256,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_NULL_SHA256,TLS_PSK_WITH_AES_256_GCM_SHA384,TLS_PSK_WITH_AES_256_CBC_SHA384,TLS_PSK_WITH_NULL_SHA384,TLS_PSK_WITH_NULL_SHA256

### Windows RDP强制使用 SSL/TLS 协议
gpedit.msc --> 计算机配置 -> 管理模板 -> Windows组件 -> 远程桌面服务 -> 远程桌面会话主机 -> 安全 -> 远程(RDP)连接要求使用指定的安全层: SSL




参考来源

  1. [个人笔记] Windows配置OpenSSH免密连接
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于 Windows 主机加固,可以使用以下脚本: ``` # 关闭不必要的服务 sc stop wuauserv sc config wuauserv start=disabled sc stop RemoteRegistry sc config RemoteRegistry start=disabled sc stop SSDPSRV sc config SSDPSRV start=disabled # 禁用不必要的端口 netsh advfirewall firewall add rule name="Block Port 135" dir=in action=block protocol=TCP localport=135 netsh advfirewall firewall add rule name="Block Port 137" dir=in action=block protocol=UDP localport=137 netsh advfirewall firewall add rule name="Block Port 138" dir=in action=block protocol=UDP localport=138 netsh advfirewall firewall add rule name="Block Port 139" dir=in action=block protocol=TCP localport=139 netsh advfirewall firewall add rule name="Block Port 445" dir=in action=block protocol=TCP localport=445 # 修改本地策略 secedit /export /cfg C:\secpol.cfg (Get-Content C:\secpol.cfg).replace("PasswordComplexity = 1", "PasswordComplexity = 0") | Set-Content C:\secpol.cfg secedit /configure /db %windir%\security\local.sdb /cfg C:\secpol.cfg /areas SECURITYPOLICY # 禁止自动运行 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v "NoAutoplayfornonVolume" /t REG_DWORD /d "1" /f # 禁用 SMBv1 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" SMB1 -Type DWORD -Value 0 -Force ``` 对于 Linux 主机加固,可以使用以下脚本: ``` # 更新系统 yum update -y # 禁用不必要的服务 systemctl stop xinetd systemctl disable xinetd systemctl stop avahi-daemon.socket avahi-daemon.service systemctl disable avahi-daemon.socket avahi-daemon.service systemctl stop cups.socket cups.service systemctl disable cups.socket cups.service # 设置防火墙 firewall-cmd --zone=public --add-port=22/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload # 修改SSH设置,禁用root登录 sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config systemctl restart sshd # 安装 SELinux yum install selinux-policy selinux-policy-targeted -y ``` 以上脚本仅供参考,具体根据实际情况进行修改和调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

歪果仨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值