最近被通知有漏洞
前言
很多人博客可能部署完基础环境就没再碰过了!
大多数人可能还是用的宝塔面板
但是刚部署完的宝塔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.