主机安全加固之-openssh版本升级

升级openssh之前,为了保证能正常通过工具连接主机,咱们开启telnet服务,通过telnet的方式登录主机

一:开启telnet服务

1.安装telnet服务

[root@localhost ~]# yum install –y telnet telnet-server xinetd

2.修改telnet服务配置文件,重启服务

centos7.0配置文件为/etc/xinetd.conf,无需修改配合文件中disable,已被注释;
低版本centos配置文件为/etc/xinetd.d/telnet,修改disable=yes为,disable=no;
这样telnet服务就启动了
[root@localhost ~]# systemctl start telnet.socket
[root@localhost ~]# systemctl restart xinetd

3.通过telnet的方式登录主机验证一下
telnet验证不通过,需要修改/etc/pam.d/remote和/etc/pam.d/login注释掉第一行

[root@localhost ~]# vi /etc/pam.d/remote
#auth       required     pam_securetty.so
[root@localhost ~]# vi /etc/pam.d/login
#auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
重启xinetd服务
[root@localhost ~]# systemctl restart xinetd

修改完上面两处,重启完xinetd服务,登录验证通过
在这里插入图片描述

二:升级openssl服务

查看openssl服务的版本
[root@localhost ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
下载openssl程序安装包
[root@localhost openssh]# cd /usr/local/
[root@localhost local]# wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz --no-check-certificate
--2024-01-31 05:35:39--  https://www.openssl.org/source/old/1.1.1/openssl-1.1.1t.tar.gz
Resolving www.openssl.org (www.openssl.org)... 34.36.58.177, 2600:1901:0:1812::
Connecting to www.openssl.org (www.openssl.org)|34.36.58.177|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9881866 (9.4M) [application/x-tar]
Saving to: ‘openssl-1.1.1t.tar.gz’100%[==========================================================================================================>] 9,881,866   2.77MB/s   in 3.4s2024-01-31 05:35:44 (2.77 MB/s) - ‘openssl-1.1.1t.tar.gz’ saved [9881866/9881866]
解压
[root@localhost local]# tar -xf openssl-1.1.1t.tar.gz
[root@localhost local]# ls -ltr
total 9656
drwxr-xr-x.  2 root root       6 Apr 11  2018 src
drwxr-xr-x.  2 root root       6 Apr 11  2018 sbin
drwxr-xr-x.  2 root root       6 Apr 11  2018 libexec
drwxr-xr-x.  2 root root       6 Apr 11  2018 lib64
drwxr-xr-x.  2 root root       6 Apr 11  2018 lib
drwxr-xr-x.  2 root root       6 Apr 11  2018 include
drwxr-xr-x.  2 root root       6 Apr 11  2018 games
drwxr-xr-x.  2 root root       6 Apr 11  2018 etc
drwxrwxr-x. 19 root root    4096 Feb  7  2023 openssl-1.1.1t
drwxr-xr-x.  5 root root      49 Oct 13 14:48 share
-rw-r--r--.  1 root root 9881866 Dec  4 09:38 openssl-1.1.1t.tar.gz
drwxr-xr-x. 12 root root     198 Jan 15 04:59 nginx
drwxr-xr-x.  2 root root      28 Jan 15 08:42 bin
编译安装openssl
[root@localhost local]# cd openssl-1.1.1t
[root@localhost openssl-1.1.1t]# ./config shared --prefix=/usr/local/openssl
[root@localhost openssl-1.1.1t]# make -j 4
[root@localhost openssl-1.1.1t]# make install
为openssl做软连接
[root@localhost openssl-1.1.1t]# echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf
[root@localhost openssl-1.1.1t]# ldconfig
[root@localhost openssl-1.1.1t]#
备份以前的openssl
[root@localhost openssl-1.1.1t]# mv /usr/bin/openssl /usr/bin/openssl.old
软连接,如果提示软连接已存在,记得备份软连接,然后在执行下面再次软连接,要不然会出问题
[root@localhost openssl-1.1.1t]# ln -sv /usr/local/openssl/bin/openssl /usr/bin/openssl
‘/usr/bin/openssl’ -> ‘/usr/local/openssl/bin/openssl’
[root@localhost openssl-1.1.1t]# ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
[root@localhost openssl-1.1.1t]# ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
验证一下openssl是否更新成功
[root@localhost openssl-1.1.1t]# openssl version
OpenSSL 1.1.1t  7 Feb 2023

三:升级openssh服务

查看、备份并卸载原有OpenSSH
[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: cannot stat ‘/etc/init.d/sshd’: No such file or directory
卸载现有OpenSSH
[root@localhost ~]# rpm -qa | grep openssh
openssh-server-7.4p1-22.el7_9.x86_64
openssh-7.4p1-22.el7_9.x86_64
openssh-clients-7.4p1-22.el7_9.x86_64
[root@localhost ~]# rpm -e --nodeps $(rpm -qa |grep openssh)
下载openssh服务的二进制包
[root@localhost ~]# cd /usr/local/
[root@localhost local]# wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
[root@localhost local]# tar -xf openssh-9.3p1.tar.gz
[root@localhost local]# cd openssh-9.3p1
编译安装
[root@localhost openssh-9.3p1]# 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.3p1]# make -j 4
[root@localhost openssh-9.3p1]# make install
[root@localhost openssh-9.3p1]# chmod 600 /etc/ssh/*
复制配置文件
root@localhost openssh-9.3p1]# cp -rf /usr/local/sbin/sshd /usr/sbin/sshd
[root@localhost openssh-9.3p1]# cp -rf /usr/local/bin/ssh /usr/bin/ssh
[root@localhost openssh-9.3p1]# cp -rf /usr/local/bin/ssh-keygen /usr/bin/ssh-keygen
[root@localhost openssh-9.3p1]# cp -ar /usr/local/openssh-9.3p1/contrib/redhat/sshd.init /etc/init.d/sshd
[root@localhost openssh-9.3p1]# cp -ar /usr/local/openssh-9.3p1/contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
修改配置允许root用户远程登录
[root@localhost openssh-9.3p1]# cat >>/etc/ssh/sshd_config<<EOF
> PermitRootLogin yes
> X11Forwarding 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
> EOF
[root@localhost openssh-9.3p1]# sed -i "s/^#Port/Port/g" /etc/ssh/sshd_config
[root@localhost openssh-9.3p1]# chmod 755 /etc/init.d/sshd
启用sshd,生成服务配置文件,并重启服务
[root@localhost openssh-9.3p1]# systemctl enable sshd
sshd.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig sshd on
[root@localhost openssh-9.3p1]# systemctl restart sshd
[root@localhost openssh-9.3p1]# ssh -V
OpenSSH_9.3p1, OpenSSL 1.1.1t  7 Feb 2023

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/448263.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

24.云原生ArgoCD高级之数据加密seale sealed

云原生专栏大纲 文章目录 数据加密之seale sealedBitnami Sealed Secrets介绍Bitnami Sealed Secrets工作流程安装sealed-secrets和kubeseal安装sealed-secrets-controller安装kubeseal通过kubeseal将sealed-secrets公钥拿出来通过kubeseal加密secrets替换kustomize下secret为…

Java学习day25:守护线程、死锁、线程生命周期(知识点详解)

声明&#xff1a;该专栏本人重新过一遍java知识点时候的笔记汇总&#xff0c;主要是每天的知识点题解&#xff0c;算是让自己巩固复习&#xff0c;也希望能给初学的朋友们一点帮助&#xff0c;大佬们不喜勿喷(抱拳了老铁&#xff01;) 往期回顾 Java学习day24&#xff1a;线程的…

leetcode刷题(剑指offer) 103.二叉树的锯齿形层序遍历

103.二叉树的锯齿形层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 锯齿形层序遍历 。&#xff08;即先从左往右&#xff0c;再从右往左进行下一层遍历&#xff0c;以此类推&#xff0c;层与层之间交替进行&#xff09;。 示例 1&#xff1a; 输入&#xff1a…

Android矩阵Matrix裁切setRectToRect拉伸Bitmap替代Bitmap.createScaledBitmap缩放,Kotlin

Android矩阵Matrix裁切setRectToRect拉伸Bitmap替代Bitmap.createScaledBitmap缩放&#xff0c;Kotlin class MyImageView : AppCompatImageView {private var mSrcBmp: Bitmap? nullprivate var testIV: ImageView? nullconstructor(ctx: Context, attrs: AttributeSet) :…

Java对象属性设置方式

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 对象属性设置方式 直接赋值 SystemMappingCode systemMappingCode new SystemMappingCode();systemMappingCode.setCodeResp(request.getCodeResp());systemMapping…

Unity使用反向遮罩实现镂空shader

实现步骤&#xff1a; 1&#xff0c;创建两个材质球&#xff0c;遮罩层的属性如下&#xff1a; 被遮罩层的属性如下&#xff1a; 2&#xff0c;使用两张image&#xff0c;遮罩层在父节点&#xff0c;被遮罩层在子节点&#xff0c;然后分别添加材质球与镂空图片 实现效果如下&a…

Android.bp入门指南之浅析Android.bp文件

文章目录 Android.bp文件是什么&#xff1f;Android.bp的主要作用模块定义依赖关系构建规则模块属性插件支持模块的可配置性 为什么会引入Android.bp语法例子 Android.bp文件是什么&#xff1f; Android.bp 文件是 Android 构建系统&#xff08;Android Build System&#xff…

JS高级(二)-深入对象、内置构造函数、综合案例

文章目录 1.深入对象1.1创建对象的三种方式1.2构造函数1.3实例成员1.4静态成员 2.内置构造函数2.1 Object2.2 Array2.3显示赠品案例2.4包装类型2.4.1 String2.4.2 Number 3.综合案例——购物车展示 1.深入对象 了解面向对象的基础概念&#xff0c;能够利用构造函数创建对象。 1…

踩坑STM32CubeMX生成Makefile工程无法使用printf(“%f“)

过去一年偶有接触STM32开发时都是使用STM32CubeMX生成Makefile的工程&#xff0c;具体开发环境见配置Clion用于STM32开发&#xff08;Makefile&#xff09;&#xff0c;但没想到今天在使用printf打印输出浮点数时无法正常输出&#xff0c;不仅printf无法使用&#xff0c;其他涉…

SpringFramework实战指南(五)

SpringFramework实战指南(五) 4.3 基于 注解 方式管理 Bean4.3.1 实验一: Bean注解标记和扫描 (IoC)4.3.2 实验二: 组件(Bean)作用域和周期方法注解4.3.3 实验三: Bean属性赋值:引用类型自动装配 (DI)4.3.4 实验四: Bean属性赋值:基本类型属性赋值 (DI)4.3.5 实验五:…

尚硅谷Ajax笔记

一天拿下 介绍二级目录三级目录 b站链接 介绍 ajax优缺点 http node.js下载配置好环境 express框架 切换到项目文件夹&#xff0c;执行下面两条命令 有报错,退出用管理员身份打开 或者再命令提示符用管理员身份打开 npm init --yes npm i express请求 <script>//引…

线上排查问题常用K8s命令

线上排查问题常用K8s命令 1 获取类 kubectl get po&#xff1a;获取默认namespace下节点信息 获取默认Default命名空间下的节点信息 kubectl get ns&#xff1a;获取所有命名空间 kubectl get po -n ziyi&#xff1a;获取指定namespace下的节点信息 kubectl get po -A&#x…