Centos7加密漏洞修复

1、SSL Medium Strength Cipher Suites Supported (SWEET32) && TLS Version 1.0 Protocol Detection

以traefik.toml为例

[entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
      minVersion = "VersionTLS12"
      cipherSuites = [
        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
        "TLS_RSA_WITH_AES_256_GCM_SHA384"
       ]

2、HSTS Missing From HTTPS Server (RFC 6797)

HTTP 严格传输安全(HSTS)是一种安全功能,web 服务器通过它来告诉浏览器仅用 HTTPS 来与之通讯,而不是使用 HTTP

  • 如果一个 web 服务器支持 HTTP 访问,并将其重定向到 HTTPS 访问的话,那么访问者在重定向前的初始会话是非加密的。举个例子,比如访问者输入 http://www.foo.com/ 或直接输入 foo.com 时。
  • 这就给了中间人攻击的一个机会,重定向可能会被破坏,从而定向到一个恶意站点而不是应该访问的加密页面。
  • HTTP 严格传输安全(HSTS)功能使 Web 服务器告知浏览器绝不使用 HTTP 访问,在浏览器端自动将所有到该站点的 HTTP 访问替换为 HTTPS 访问。

当你通过一个无线路由器的免费 WiFi 访问你的网银时,很不幸的,这个免费 WiFi 也许就是由黑客的笔记本所提供的,他们会劫持你的原始请求,并将其重定向到克隆的网银站点,然后,你的所有的隐私数据都曝光在黑客眼下。
严格传输安全可以解决这个问题。如果你之前使用 HTTPS 访问过你的网银,而且网银的站点支持 HSTS,那么你的浏览器就知道应该只使用 HTTPS,无论你是否输入了 HTTPS。这样就防范了中间人劫持攻击。

  • 注意,如果你之前没有使用 HTTPS 访问过该站点,那么 HSTS 是不奏效的。网站需要通过 HTTPS 协议告诉你的浏览器它支持 HSTS。
  • 服务器开启 HSTS 的方法是,当客户端通过HTTPS发出请求时,在服务器返回的 HTTP 响应头中包含 Strict-Transport-Security 字段。非加密传输时设置的HSTS字段无效。

2.1、以traefik.toml为例需要去除http访问,redirect也不可以,只能使用https

[entryPoints]
  #[entryPoints.http]
  #address = ":80"
  #  [entryPoints.http.redirect]
  #    entryPoint = "https"
      #permanent = true
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
      minVersion = "VersionTLS12"
      cipherSuites = [
        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
        "TLS_RSA_WITH_AES_256_GCM_SHA384"
       ]

2.2、以APACHE httpd为例:
/etc/httpd/conf/httpd.conf
1、支持修改响应头。
在 httpd.conf 文件的 mod_headers 模块中取消注释以下装入模块伪指令。

LoadModule headers_module modules/mod_headers.so

<VirtualHost *:80>
     Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"
</VirtualHost>

3、SSH Weak Key Exchange Algorithms Enabled && SSH Server CBC Mode Ciphers Enabled

3.1、打开ssh配置文件:

vim /etc/ssh/sshd_config

最后添加以下三行加密方式

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,arcfour
Macs hmac-sha1,hmac-ripemd160
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1

3.2、重启sshd

systemctl restart sshd

3.3、如果报错Directive 'Ciphers' is not allowed within a Match blo

如果配置了如下两行,那就把需要添加的放到这个上面即可

Subsystem sftp internal-sftp
Match Group sftp

3.4、ssh验证(可跳过)

[root@localhost ~]# ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc  目标IP
[root@localhost ~]# ssh -vv -oMACs=hmac-md5  目标IP

3.5、nmap验证(可跳过)

nmap --script ssh2-enum-algos -sV -p 22  目标IP
……
Unable to negotiate with 127.0.0.1 port 22: no matching cipher found. Their offer: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,arcfour
……

4、如果禁用CBC算法不生效

# :这个命令创建了一个密码策略模块文件,其中指定了一组密码和MAC算法,并禁用了SSH中的一些特定配置,以防止利用CVE-2023-48795漏洞。
cat <<EOF > /etc/crypto-policies/policies/modules/CVE-2023-48795.pmod
cipher@SSH = -CHACHA20-POLY1305 -*-CBC
mac@ssh = -HMAC-SHA1
ssh_etm = 0
EOF

# :这个命令将新创建的密码策略模块应用到系统中,确保系统遵循所定义的密码策略。
update-crypto-policies --set $(update-crypto-policies --show):CVE-2023-48795

# 这两个命令分别将新的SSH密码配置写入sshd和ssh客户端的配置文件中,以禁用特定的SSH密码算法,以防止利用CVE-2023-48795漏洞
echo 'Ciphers -chacha20-poly1305@openssh.com' > /etc/ssh/sshd_config.d/anti-terrapin-attack.conf
echo 'Ciphers -chacha20-poly1305@openssh.com' > /etc/ssh/ssh_config.d/anti-terrapin-attack.conf

验证cbc密码策略是否已经禁用

ssh -c aes256-cbc root@ip

查看对应的策略

# server
sshd -T | grep kex
# 客户端
ssh -Q kex
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值