最近被通知有漏洞

前言

很多人博客可能部署完基础环境就没再碰过了!

大多数人可能还是用的宝塔面板

但是刚部署完的宝塔OpenSSH版本和OpenSSL版本都是较低的

而且 nginx 并没有配置好

最近也是在这方面鼓捣了一段时间

这里提供一下有必要的配置,仅供参考

OpenSSH升级

安装开启Telnet

安装Telnet

此步骤防止SSH更新失败导致无法连接至服务器

yum -y install telnet-server.x86_64

yum -y install telnet.x86_64

yum -y install xinetd.x86_64
开启服务

设为开机启动

chkconfig telnet on
修改配置

修改配置文件

vi /etc/xinetd.d/telnet
激活xinetd服务
service xinetd restart
测试Telnet
telnet localhost

一切完毕后进入下一步

下载包

方法一:手动下载

访问 http://mirrors.crpm.cn/openssh/x86_64/Packages/ 然后搜索并下载如下几个包

openssh-8.9p1-1.el7.centos.x86_64.rpm 

openssh-clients-8.9p1-1.el7.centos.x86_64.rpm

openssh-server-8.9p1-1.el7.centos.x86_64.rpm 
方法二:服务器下载

在服务器中下载上面三个包

wget http://mirrors.crpm.cn/openssh/x86_64/Packages/openssh-8.9p1-1.el7.centos.x86_64.rpm

wget http://mirrors.crpm.cn/openssh/x86_64/Packages/openssh-clients-8.9p1-1.el7.centos.x86_64.rpm 

wget http://mirrors.crpm.cn/openssh/x86_64/Packages/openssh-server-8.9p1-1.el7.centos.x86_64.rpm 

命令安装

执行如下命令安装这三个包

yum localinstall openssh-8.9p1-1.el7.centos.x86_64.rpm openssh-clients-8.9p1-1.el7.centos.x86_64.rpm openssh-server-8.9p1-1.el7.centos.x86_64.rpm 

重启服务

重启sshd

并检验ssh版本

service sshd restart 
ssh -V

重新配置用户

过程略

关闭Telnet

nginx配置文件

打开nginx.conf文件

配置响应头

建议都配置

# 相应头
add_header Strict-Transport-Security  "max-age=31536000; includeSubdomains; preload";
add_header X-Frame-Options SAMEORIGIN;
add_header X-XSS-Protection '1;mode=block';
add_header X-Content-Type-Options nosniff;
add_header X-Permitted-Cross-Domain-Policies value;
add_header X-Download-Options "noopen" always;
add_header 'Referrer-Policy' 'origin';

其他配置

禁用OPTTINS请求
# 禁用 OPTIONS 请求
 if ($request_method ~* OPTIONS) {
return 403;
}
隐藏版本号
# 版本号隐藏
server_tokens off;
禁用不安全的http请求方式

只允许get post请求,其他返回403

# 只允许get post请求
if ($request_method !~* GET|POST) {
return 403;
}
set-cookies 设置 secure 、HttpOnly属性
# secure 、HttpOnly属性
proxy_cookie_path / "/; Secure; HttpOnly";

处理负载

# secure 、HttpOnly属性
upstream portal{
sticky path=/hh name=hh_route Secure HttpOnly;

升级OpenSSL

此部分参考: https://misakamoe.com/559.html

下载包

手动下载上传,或命令下载都可以

wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1i.tar.gz

解压并转到解压目录

tar xzvf ./OpenSSL_1_1_1i.tar.gz && cd openssl-OpenSSL_1_1_1i/

安装

./config 

make

make install

替换版本

sudo mv /usr/bin/openssl /usr/bin/oldopenssl
sudo ln -s /usr/local/bin/openssl /usr/bin/openssl

检查版本

openssl version -a

出现类似以下信息则更新成功

OpenSSL 1.1.1i  8 Dec 2020
built on: Thu Dec 10 12:36:49 2020 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/usr/local/lib64/engines-1.1"
Seeding source: os-specific

报错修复

问题1
sudo ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
sudo ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/

Q.E.D.


人生的意义,就是去码头整点薯条!