Linux Centos7 OpenSSH版本低導致的安全漏洞 升級OpenSSH和OpenSSl來修復漏洞
Linux Centos7 OpenSSH版本低導致的安全漏洞 升級OpenSSH和OpenSSl來修復漏洞
由於最近公司專案需要重新部署到伺服器,檢查出的安全漏洞,其中 一項就是Openssh版本低過低所以導致的遠端執行漏洞,如下:
於是我就要進升級版本填補漏洞,首先
1、檢視OpenSSH版本,在伺服器輸入以下命令:
命令:ssh -V
得到:
2、確認系統是否已經確認安裝gcc編譯器:
命令:gcc -v
得到:
如果沒安裝的同學可以參考:
https://www.imooc.com/article/17780?block_id=tuijian_wz%20yum%20-y%20install%20gcc%20gcc-c++%20kernel-devel%20//
3.升級Zlib
下載最新版本的Zlib:Zlib 官方網站:http://www.zlib.net/
目前最新版本的 Zlib 是 zlib-1.2.11.tar.gz
進入你的下載資料夾下載:
命令:cd /usr/local/src
命令:wget -c http://www.zlib.net/zlib-1.2.11.tar.gz
得到:
編譯安裝Zlib:
解壓命令: tar xzvf zlib-1.2.11.tar.gz
命令:cd zlib-1.2.11/
編譯:./configure --prefix=/usr/local/zlib
安裝:make install
現在zlib 編譯安裝在 /usr/local/zilib中了
4.升級openssl:
確認是否安裝了SSI和檢視版本:
命令:openssl version -a 或者 openssl version
目前能與Openssh配合的版本就是1.02版本
命令:cd /usr/local/src 命令:sudo wget http://www.openssl.org/source/openssl-1.0.2j.tar.gz 命令:sudo tar zxf openssl-1.0.2j.tar.gz 命令:cd openssl-1.0.2j 命令:sudo ./config --prefix=/usr/local/openssl 命令:sudo make 命令:sudo make install
備註:/usr/bin/openssl為舊的Openssl檔案,進行下一步之前記得備份一下
執行以下命令進行更換舊版的Openssl:
重新命名原來的openssl命令:sudo mv /usr/bin/openssl /usr/bin/openssl.bak
將安裝好的openssl 的openssl命令軟連到/usr/bin/openssl:
命令:sudo ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
切換到root許可權:sudo bash
在/etc/ld.so.conf檔案中寫入openssl庫檔案的搜尋路徑: echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
使修改後的/etc/ld.so.conf生效:ldconfig -v
檢視版本:openssl version
參考來至:http://www.cnblogs.com/dinglin1/p/9047818.html
至此,Openssl升級完畢
5、關閉selinux
命令:sudo vim /etc/sysconfig/selinux
修改 SELINUX=disabled,輸入:wq 儲存退出
6、安裝telnet並開起來,防止意外導致ssh無法連線
1、檢測telnet-server的rpm包是否安裝:
命令:rpm -qa telnet-server
如沒有輸出就要安裝,安裝命令:
命令:sudo yum install telnet-server
然後發現沒有安裝包的錯誤:
只能通過下載安裝包來,提供telnet的rpm包下載網址:https://pkgs.org/download/telnet-server。我下載的 telnet-server-0.17-64.el7.x86_64.rpm版本。下載安裝命令:
命令:cd download
命令:wget http://mirror.centos.org/centos/7/os/x86_64/Packages/telnet-server-0.17-64.el7.x86_64.rpm
命令:sudo yum install telnet-server-0.17-64.el7.x86_64.rpm
命令:rpm -qa telnet-server
命令:telnet-server-0.17-64.el7.x86_64.rpm
命令:rpm -qa telnet-server
1、檢測xinetd 的rpm包是否安裝:
命令:rpm -qa xinetd
如沒有輸出就要安裝,安裝命令:
命令:sudo yum install xinetd
然後發現又是沒有安裝包的錯誤:
只能通過下載安裝包來,我下載的是telnet-server-0.17-64.el7.x86_64.rpm版本。下載安裝命令:
命令:wget http://mirror.centos.org/centos/7/os/x86_64/Packages/xinetd-2.3.15-13.el7.x86_64.rpm
命令:sudo yum install xinetd-2.3.15-13.el7.x86_64.rpm
安裝完成後,將xinetd服務和telnet加入開機自啟動:
命令:sudo systemctl enable xinetd.service
命令:sudo systemctl enable telnet.socket
最後,啟動以上兩個服務即可:
由於telnet服務也是由xinetd守護的,所以安裝完telnet-server,要啟動telnet服務就必須重新啟動xinetd 。
命令:sudo systemctl start telnet.socket
命令:sudo systemctl start xinetd
參考來至:https://www.cnblogs.com/lixuwu/p/6102444.html
預設情況下,系統是不允許root使用者telnet遠端登入的。如果要使用root使用者直接登入,需設定如下內容:
echo 'pts/0' >>/etc/securetty
echo 'pts/1' >>/etc/securetty
以上命令需要root許可權才能執行,最後才重啟服務
重啟服務:service xinetd restart
而且還開通相對應的23埠,這裡我就不多說了,因為我們公司埠是統一管理的,接下來在你計算機上開啟telnet客戶端:
然後測試開啟cmd.exe看看能不能登入,telnet+IP,回車:
登入成功,接下來我們就可以安心地升級openSSH
7、升級openSSH
備份舊ssh配置資料夾 /etc/ssh :
sudo cp -rf /etc/ssh /etc/ssh.bak
下載openSSH安裝包:
命令:cd download(這是我自己的下載資料夾)
命令:sudo wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz
提供個下載地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
接下來就是解壓安裝OpenSSH:
命令:sudo tar -zxvf openssh-7.4p1.tar.gz
命令:cd openssh-7.4p1
命令:sudo ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers
發現是缺各種Open-devel依賴包,然後去網上下載rpm安裝包,發現出現各種問題,搞了好久,賊煩,就是不對應版本,浪費了一天多時間,又是重新安裝openssl什麼的,發現並沒有用,得安裝一個Openssl-fips,安裝以後又出現什麼缺pam-devel包的錯誤,然後還是一樣唉,懷疑是不是映象源,怎麼啥安裝包都沒有,都得下載,於是去更換映象源,發現映象源名字改了,所以伺服器不能識別了,改為原來的名字:
命令:cd /etc/yum.repos.d
命令:sudo mv /etc/yum.repos.d/CentOS-Base.repo.backup /etc/yum.repos.d/CentOS-Base.repo
現在發現可以各種yum install 各種依賴包了。。。。說多了都是淚了,開發兼職運維的淚
接著安裝兩個依賴包:
命令:sudo yum install openssl-devel
命令:sudo yum install pam-devel
然後重新編譯:
安裝命令:sudo make 或者 sudo make install
到這裡我的會出現說Key的許可權過於open,所以我改成600了:
命令:cd /etc/ssh/
命令:chmod 600 ssh_host_ecdsa_key
命令:chmod 600 ssh_host_rsa_key
命令:chmod 600 ssh_host_ed25519_key
複製配置
命令:sudo cp -p sshd_config /etc/ssh/sshd_config
檢視版本:ssh -V
配置允許root使用ssh:
命令:sudo vim /etc/ssh/sshd_config
取消註釋 PasswordAuthentication yes
重啟ssh服務:
命令:sudo service sshd restart
如果重啟不了就重啟伺服器,再重啟,至此Openssh升級完畢
相關推薦
Linux Centos7 OpenSSH版本低導致的安全漏洞 升級OpenSSH和OpenSSl來修復漏洞
Linux Centos7 OpenSSH版本低導致的安全漏洞 升級OpenSSH和OpenSSl來修復漏洞 由於最近公司專案需要重新部署到伺服器,檢查出的安全漏洞,其中 一項就是Openssh版本低過低所以導致的遠端執行漏洞,如下:
Linux centos7上gitlab伺服器的搭建,本地配置和使用
1 gitlab的搭建 1. 安裝一堆包,和 啟動相關服務 yum install -y curl policycoreutils-python yum install -y openssh-se
主機安全加固--升級openssh及openssl
[[email protected] init.d]# cat sshd #!/bin/bash # # Init file for OpenSSH server daemon # # chkconfig: 2345 55 25 # description: OpenSSH server daem
Linux Centos7安裝Oracle12c第二版本
oracle oracle12c linux環境:[email protected],分配資源:CPU:2顆,內存:4GB,硬盤空間:30GBOracle12C企業版64位下載地址:http://www.oracle.com/technetwork/database/enterprise-editi
SVN伺服器版本太低導致無法進行merge
Auto-merge 測試merge\分支\portaldb Retrieval of mergeinfo unsupported by %E6%B5%8B%E8%AF%95merge/%E5%88%86%E6%94%AF/portaldb' 公司目前的SVN版本是1.4.6,
Linux-Centos7系統下安裝python2並與python3版本共存
問題描述: 最近有個需求是想在centos下安裝python3.5 因為django這邊用到是這個版本 1.檢視系統版本和python版本 Centos7.6版本預設安裝的是python2.7.5版本 利用cat檢視系統版本,python -V檢視python版本 which檢視python目錄,
Linux 系統 :CentOS7.X版本下安裝MySQL5.7資料庫
設定rpm下載目錄在/opt目錄下新建一個目錄存放mysql cd /opt sudo mkdir mysql12 下載MySQL的源 如果在這之前沒有提示-bash: wget: command not found,那麼還得先安裝wget sudo yum
Linux centos7 下使用James3.2.0版本及James2.3.2.1版本郵箱搭建
因公司的業務需要,需要搭建一個自己的郵箱伺服器。選了很多的版本,最後選擇了James,並且分為兩個James的版本。3版本的和2版本的在以下都會介紹安裝配置和使用,以及外網部署的配置。參考別人的部落格以及對於James的官網研究了將近三天,最後將兩個版本的都測
Linux常用命令版本CentOS7.x
自己剛接觸Linux不久。就把自己經常用到的命令分享一下。 1、首先使用的Linux終端模擬軟體是xshell。 使用協議為SSH協議,SSH協議的埠號預設為22 下面是一些命令: 資料庫命令:以mysql為例 1,登入命令 mysql -u使用者名稱稱 -p
flash提示版本過低導致無法安裝解決方法
若 FLASH 在安裝的過程中提示"正嘗試安裝的 Adobe(R) Flash(R) Player 版本不是最新的版本",請按如下步驟操作: 1、 點選 “開始”-> “執行”,輸入“regedit”,回車;如下圖所示。 2、將 "HKEY_LOCA
Linux下GLIBCXX和GLIBC版本低造成的編譯錯誤的解決方案
最近在給編譯環境centOS 6.5安裝新版clang (clang 3.4/3.5)的時候,雖然已經裝了gcc 4.9.1, 但編譯的時候(參考clang官方主頁http://clang.llvm.org/get_started.html的步驟,在獨立build目錄下執行
Linux作業系統Centos7.2版本搭建Apache+PHP+Mysql環境
對於在校學生來說騰訊雲1元主機很划算,就申請了一臺,打算在上面學習下linux,使用版本為centos7.2版本。在伺服器上比較推薦centos,此版本生命週期較長,而且網上有關centos的教程很多,方便學習。 Centos6版本的推薦看下面這個教程,很詳細 安裝Ap
ojdbc14版本過低導致資料庫連線失敗 Connection reset
java.sql.SQLException: Io 異常: Connection resetat oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)at oracle.jdbc.dbaccess.
解決You should consider upgrading via the 'python -m pip install --upgrade pip' command. (pip工具版本較低導致)
步驟1: 找到pip- 版本號 dist-info 資料夾 操作: 在python的安裝目錄下的Lib檔案下的site-packages資料夾下找到 ip- 版本號 dist-info 資料夾 例如: C:\Python37\Lib\site-packages\
VC運行庫版本不同導致鏈接.LIB靜態庫時發生重復定義問題的一個案例分析和總結
修改 borde 並且 release 鏈接 部分 sdn 托管代碼 兩個 MSDN中對於在不同的配置下Link的LIB作了說明: C Runtime Library: 開關 對應的庫 版本 /MD
Linux下搭建版本控制器SVN
svn 版本回退 分支、多人協作 倉庫 關於版本控制器,大致可分為集中式和分布式兩種。 集中式的版本控制器通常會存在一個中央服務器,主要是用來存放版本庫的,(這裏暫且先不說分支的事)當我們工作之前,首先需要從中央服務器得到一份最新版本的代碼,修改完畢之後,再次推送到中央服務器。集
nginx+tomcat實現負載均衡以及session共享(linux centos7環境)
processes 解壓 smo eve cti 下載 gen cli -c 一、nginx的安裝 1.準備三份tomcat tomcat1 設置端口 8080 tomcat2 設置端口 8081 tomcat3 設置端口 8082 2. 下載nginx 3. 解壓到/ho
.Net Core Linux centos7行—IOC模塊
net.net core中可以說是用了全新的IOC模板,定義在Microsoft.Extensions.DependencyInjection下。提供了一套標準的接口。並提供了默認實現。並且大範圍使用著,處處都體現著IOC的設計思想。Startup的ConfigureServices方法中,集中對服務進行配置
struts2 版本所導致的 Filter 不同
att pin cut blog area pat apach 報錯 rep 過了好久又重新接觸Struts2,使用maven直接獲取的struts2-core-2.5.1的包,從網上直接copy了一段web.xml中的Filter,結果報錯,struts2.3.x 以後
解決辦法:由於oracle版本不同導致導入數據時失敗
tps https 是否 span note 版本 not mil images 在向一個數據庫導入dmp文件時,出現了如下錯誤 經查詢,是由於“導出的dmp文件與導入的數據庫的版本不同造成的” 用notepad查看dmp文件的版本,看看是否和數據庫版本一致 解決辦法: