当前位置: 首页 > news >正文

网站定制开发流程和功能wap 2.0的网站

网站定制开发流程和功能,wap 2.0的网站,大龄工找工作哪个网站好,通信科技网站设计前言 由于有些服务器需要对公网提供服务、客户对于服务器安全比较重视,需要公司提供服务器安全报告。大多数服务器经过漏洞扫描之后、会出现很多软件低版本的漏洞,此时就需要升级软件的版本来解决这些漏洞问题。本篇文章记录升级软件过程。 漏洞编号漏…

前言

由于有些服务器需要对公网提供服务、客户对于服务器安全比较重视,需要公司提供服务器安全报告。大多数服务器经过漏洞扫描之后、会出现很多软件低版本的漏洞,此时就需要升级软件的版本来解决这些漏洞问题。本篇文章记录升级软件过程。

漏洞编号漏洞说明
CVE-2023-38408OpenSSH漏洞
CVE-2008-3844OpenSSH漏洞
CVE-2021-41617OpenSSH漏洞
CVE-2021-3618Nginx漏洞

下面方案均在生产环境验证过、但是在升级时 仍然要给服务器做快照备份 以防出现生产事故!!!

一、升级OpenSSH ( OpenSSH_7.4p1 到 OpenSSH_9.9p2 )

1、安装一些必要的命令

先切换root用户 (如果本身就是root用户忽略 sudo -i 这步)

sudo  -i

输入root用户密码

# 安装一些必要的命令(需要能访问外网)
yum install wget gcc openssl-devel pam-devel rpm-build zlib-devel -y

如果你的服务器不能访问外网 就需要离线安装一些软件比较麻烦 参考下面这篇文章
https://liucy.blog.csdn.net/article/details/136536352

上传提供的两个文件到 /home 目录 (上传文件的目录只要root用户能访问就行)
openssh-9.9p2.tar.gz
openssl-1.1.1t.tar.gz

文件获取地址:
通过网盘分享的文件:漏洞处理所需软件
链接: https://pan.baidu.com/s/1eiv04XBvNVjGZNZ3sl0WdQ?pwd=java 提取码: java

2、解压openssl-1.1.1t.tar.gz并放到/usr/local/目录

tar xf openssl-1.1.1t.tar.gz -C /usr/local

3、编译安装openssl

# 进入openssl目录
cd /usr/local/openssl-1.1.1t# 编译安装openssl
./config shared --prefix=/usr/local/openssl
make -j 4
make install

4、为openssl做软连接 (需要特别注意按照步骤执行)

echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
# 加载配置文件
ldconfig
# 备份以前的openssl
mv /usr/bin/openssl /usr/bin/openssl.old
# 软连接,如果提示软连接已存在,记得备份软连接,然后在执行下面再次软连接,要不然会出问题,会导致root目录看不了,磁盘看不了,sftp连接不上;
ln -sv /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

如果提示软连接已存在 需要先备份再重新链接 (如果上面软连接执行没有提示 则忽略这步备份操作)

mv  /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1.bak
mv /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1.bak

查看openssl版本

openssl version -a

结果: OpenSSL 1.1.1t 7 Feb 2023

5、查看、备份并卸载原有OpenSSH

注意:这一步需要确保终端一直连接 断开远程连接就不能用了(另开一个远程连接放在那一直保持连接,防止出现问题无法登录机器 , 可以新开一个root用户窗口 输入 vi test 放在那不动直到后续升级操作完成)

# 查看当前安装包
[root@localhost ~]# rpm -qa | grep openssh
# 结果如下
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64# 查看当前OpenSSH版本(Centos7 默认使用OpenSSH_7.4p1)
[root@localhost ~]# ssh -V
# 结果如下
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017# 备份现有的SSH
[root@localhost ~]# mv /etc/ssh/ /etc/ssh.bak
[root@localhost ~]# mv /usr/bin/ssh /usr/bin/ssh.bak
[root@localhost ~]# mv /usr/sbin/sshd /usr/sbin/sshd.bak# 如果您是第一次升级,备份/etc/init.d/sshd时会不存在,不影响后续操作
[root@localhost ~]# mv /etc/init.d/sshd /etc/init.d/sshd.bak
mv: 无法获取'/etc/init.d/sshd' 的文件状态(stat): No such file or directory# 卸载现有OpenSSH
rpm -e --nodeps $(rpm -qa |grep openssh)

确保已经卸载成功(这步执行后没有返回数据则卸载成功)

rpm -qa | grep openssh

六、解压并编译安装OpenSSH

# 先进入openssh安装包所在目录 将下载的openssh安装包移动到/usr/local下
cd /home
[root@localhost home]# mv openssh-9.9p2.tar.gz /usr/local/# 进入/usr/local/目录解压openssh-9.9p2.tar.gz
[root@localhost ~]# cd /usr/local/
[root@localhost local]# tar xf openssh-9.9p2.tar.gz# 进入openssh目录
[root@localhost local]# cd openssh-9.9p2# 编译安装  下面第一个命令是分行的 要复制完整 
[root@localhost openssh-9.9p2]# CCFLAGS="-I/usr/local/include" \
LDFLAGS="-L/usr/local/lib64" \
./configure \
--sysconfdir=/etc/ssh \
--with-zlib \
--with-ssl-dir=/usr/local/openssl[root@localhost openssh-9.9p2]# make -j 4
[root@localhost openssh-9.9p2]# make install

7、授权

[root@localhost openssh-9.9p2]# chmod 600 /etc/ssh/*

8、复制配置文件

[root@localhost openssh-9.9p2]# cp -rf /usr/local/sbin/sshd /usr/sbin/sshd
[root@localhost openssh-9.9p2]# cp -rf /usr/local/bin/ssh /usr/bin/ssh
[root@localhost openssh-9.9p2]# cp -rf /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen
[root@localhost openssh-9.9p2]# cp -ar /usr/local/openssh-9.9p2/contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-9.9p2]# cp -ar /usr/local/openssh-9.9p2/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

9、修改配置允许root用户远程登录

# 修改配置允许root用户远程登录(允许使用密码登录,允许root远程登录,开启端口,赋予/etc/init.d/sshd权限)  从cat 复制到 最后一行的EOF 并执行
##   下面这些配置 是比较安全的配置  如果有特殊需求 按需修改cat >>/etc/ssh/sshd_config<<EOF
LogLevel INFO
LoginGraceTime 1m
PermitRootLogin yes
PasswordAuthentication yes
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-512,hmac-sha2-256,umac-128@openssh.com
Protocol 2
Banner /etc/issue.net
PermitEmptyPasswords no
HostbasedAuthentication no
IgnoreRhosts yes
X11Forwarding no
MaxAuthTries 4
ClientAliveInterval 300
ClientAliveCountMax 0
EOF[root@localhost openssh-9.9p2]# sed -i "s/^#Port/Port/g" /etc/ssh/sshd_config
[root@localhost openssh-9.9p2]# chmod 755 /etc/init.d/sshd

10、启用sshd,生成服务配置文件,并重启服务

# 启用sshd,生成服务配置文件
[root@localhost openssh-9.9p2]# systemctl enable sshd
# 下面两行是显示的结果
sshd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig sshd on# 重启服务
[root@localhost openssh-9.9p2]# systemctl restart sshd# 查看服务状态
[root@localhost openssh-9.9p2]# systemctl status sshd

验证升级是否成功

[root@localhost ~]# ssh -V
# 显示结果
OpenSSH_9.9p2, OpenSSL 1.1.1t  7 Feb 2023

二、升级Nginx (Nginx1.20.2升级到Nginx1.26.3)

由于nginx一般都是24小时提供服务,所以下面是不中断服务热升级方案。

1、上传 nginx-1.26.3.tar.gz 到 /home 目录

当前如果不是root用户需要先切换root用户:

sudo -i 

输入密码: root用户密码

2、解压

cd /hometar -xzf nginx-1.26.3.tar.gz

3、进入 nginx-1.26.3 解压目录

cd /home/nginx-1.26.3

4、查看原nginx编译参数

# 如果下面命令不行 就需要进入老的nginx安装目录下的sbin目录中  ./nginx -V  查看
nginx -V

4、执行 ./configure 配置nginx (一定要和老版本的nginx配置保持一致)

(注意下面加的参数仅是示例参数,一定要替换成你的真实参数)

# 下面  ./configure 后面的参数需要和老版本查到的参数保持一致 (下面加到参数仅是示例参数) 
./configure \--prefix=/usr/share/nginx \--sbin-path=/usr/sbin/nginx \

5、开始编译

make

6、备份老版本的nginx文件

whereis nginx ## 如果是如下目录/usr/sbin (注意这里是你nginx老版本的安装目录)
cp  /usr/sbin/nginx  /usr/sbin/ngin_bak_old# 复制编译好的nginx1.26.3 到老的nginx目录
cp -f /home/nginx-1.26.3/objs/nginx  /usr/sbin/

7、开始热启动 新版本进程 并主动退出旧版本进程

# 查询老版本nginx进程号
ps aux | grep nginx## 启动新版本
kill -USR2 35081     ## 35081换成你查到的旧版本的nginx master进程号    ps aux | grep nginx  ## 此时启动了两个nginx进程

8、此时有两套nginx进程 开始回收旧的worker进程 退出旧版本的master进程

kill -WINCH 35081     ## 旧版本的nginx master进程号 (注意这里还是 旧版本的nginx master进程号)ps aux | grep nginx   ## 发现旧版本的nginx worker进程退出了## 再退出旧版本的nginx主进程
kill -QUIT  35081      ## 旧版本的nginx master进程号

验证升级是否成功

cd /usr/local/nginx/sbin
./nginx -V
# 显示结果
nginx version: nginx/1.26.3
http://www.dtcms.com/a/500813.html

相关文章:

  • 网站建设产品展示型的专业版式设计网站
  • 购物网站开发中查看订单的实现逻辑网站发布和推广
  • CentOS 7 虚拟IP配置指南:使用传统network-scripts实现高可用
  • 网站建设商务代表工作总结代账公司注册条件
  • 苏州企业网站建设专家番禺做网站多少钱
  • icp备案 网站负责人福建网站建设价格
  • 在AGX上安装opencv4的cuda版本,带有GPU加速的opencv库
  • 深圳专业做网站排名多少钱无锡网页制作服务
  • 【学习系列】SAP RAP 8:行为定义-Authorization Control
  • 河北建设厅网站修改密码在哪网站建设百度推广总结
  • Java Web API 开发完整指南
  • 网站建设与管理复习知识点购物网站怎么创建
  • IEEE 802.11无线wifi帧结构
  • [SCADE编译原理] 时钟分析原理(2003)
  • 做网站的市场细分陶瓷网站制作
  • 毕设做网站具体步骤网站开发模板
  • Vue3与Vue2中使用对比
  • 做电子的外单网站有哪些的优质的成都网站建设推
  • 手机网站建设的现状河南省住房和建设厅网站
  • 企业官方网站建设费用网站免费源码
  • dz做电影网站动画制作过程
  • 哪里有网站建设加工微网站怎么注册账号
  • 《隐变量》
  • 网站建设 厦门金牛区网站建设
  • 做的好的招投标网站深圳建设工程交易服务网官网龙岗
  • 网站建设完工后在什么科目核算画册设计排版的技巧和规则
  • 《第05章 项目整体管理》备考知识点整理
  • QGIS字段计算器常用公式汇总(含实操示例)
  • 国外网站seo用哪个网站做相册视频文件
  • 迅速上排名网站优化微信公众平台号申请注册入口