[伺服器安全]升級OpenSSH,OpenSSL,關閉NTP服務

来源:https://www.cnblogs.com/tantec/archive/2018/01/11/upgrade-linux-openssl-openssh-ntp.html
-Advertisement-
Play Games

公司的舊版直播伺服器使用的是CentOS 6.7,很多軟體包都是幾年前的了。最近很多安全相關的新聞充斥著IT圈,先是Intel晶元有重大安全漏洞,後面MacOS爆安全漏洞。所以,對於安全問題還真不能小覷。 ...


公司的舊版直播伺服器使用的是CentOS 6.7,很多軟體包都是幾年前的了。最近很多安全相關的新聞充斥著IT圈,先是Intel晶元有重大安全漏洞,後面MacOS爆安全漏洞。所以,對於安全問題還真不能小覷。

接下任務,由於以前做華為核心網的項目,也有過相關的經驗,大部分無非就是配置一下,或者升級軟體包。經過一上午的折騰,終於完成升級包的製作,Linux就是方便。

升級腳本update.sh內容:

 

#!/bin/bash

#stop ntp
service ntpd stop
chkconfig --list ntpd
chkconfig ntpd off

#openssl-flip
sudo tar xzvf openssl-fips-2.0.16.tar.gz
cd openssl-fips-2.0.16
sudo ./config
sudo make
sudo make install
cd ..

#ssl
sudo tar xzvf openssl-1.0.2n.tar.gz
cd openssl-1.0.2n
sudo ./config fips --shared
sudo make
sudo make install

sudo mv /usr/bin/openssl /usr/bin/openssl.OFF
sudo mv /usr/include/openssl /usr/include/openssl.OFF

sudo ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
sudo ln -s /usr/local/ssl/include/openssl /usr/include/openssl
sudo echo "/usr/local/ssl/lib" >>/etc/ld.so.conf
sudo /sbin/ldconfig -v
sudo openssl version -a
cd ..

#ssh
sudo tar xzvf openssh-7.6p1.tar.gz 
cd openssh-7.6p1
sudo ./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/usr/local/ssl --with-md5-passwords --mandir=/usr/share/man
sudo make
sudo make install
sudo sed -i 's/#Protocol 2,1/Protocol 2,1/g' /etc/ssh/sshd_config
sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config
sudo sed -i 's/#StrictModes yes/StrictModes yes/g' /etc/ssh/sshd_config
sudo service sshd restart
cd ..

#vsftp
#安裝libcap依賴包
rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm
#此處卸載ftp的地方先看下原來裝系統預設安裝的是什麼版本,使用rpm -qa vsftp可以查看安裝包名稱
rpm -e vsftpd-2.2.2-14.el6.x86_64
tar -xzf vsftpd-3.0.3.tar.tar
cd vsftpd-3.0.3
sudo make
sudo make install
cd ..
#如果要保留之前的配置文件,請先備份/etc/vsftp相關的配置
#新版的安裝包對安全做了一些配置,所以要先修改配置文件,安裝時直接拷貝到/etc/目錄下
#具體配置見安裝包
\cp -R vsftpd/ /etc/
\cp -rf xinetd.d/vsftpd /etc/xinetd.d/
\cp -rf init.d/vsftpd /etc/init.d/vsftpd
sudo chkconfig vsftpd on
service vsftpd restart
sudo chkconfig --list vsftpd
sudo echo "update success!"

 

作為服務的啟動停止腳本文件/etc/init.d/sftpd

#!/bin/bash
#
# vsftpd      This Shell script takes care of starting and stopping
#             standalone vsftpd.
#
# chkconfig: - 60 50
# description: Vsftpd is a ftp daemon, which is the program 
#              that answers incoming ftp service requests.
# processname: vsftpd
# config: /etc/vsftpd.conf
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x /usr/local/sbin/vsftpd ] || exit 0
RETVAL=0
prog="vsftpd"
start() {
        # Start daemons.
        if [ -d /etc ] ; then
                for i in `ls /etc/vsftpd/vsftpd.conf`; do
                        site=`basename $i .conf`
                        echo -n $"Starting $prog for $site: "
                        /usr/local/sbin/vsftpd $i &
                        RETVAL=$?
                        [ $RETVAL -eq 0 ] && {
                           touch /var/lock/subsys/$prog
                           success $"$prog $site"
                        }
                        echo
                done
        else
                RETVAL=1
        fi
        return $RETVAL
}
stop() {
        # Stop daemons.
        echo -n $"Shutting down $prog: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
        return $RETVAL
}
# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart|reload)
        stop
        start
        RETVAL=$?
        ;;
  condrestart)
        if [ -f /var/lock/subsys/$prog ]; then
            stop
            start
            RETVAL=$?
        fi
        ;;
  status)
        status $prog
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        exit 1
esac
exit $RETVAL

 

vsftp.conf配置文件修改:

pam_service_name=vsftpd
userlist_enable=YES
#此處需要指定user_list的路徑
userlist_file=/etc/vsftpd/user_list
#如果沒有啟用則改成NO
tcp_wrappers=NO
userlist_deny=NO
chroot_local_user=YES
#如果FTP根目錄有讀寫許可權,需要修改為YES
allow_writeable_chroot=YES

 

另外vsftp還有很多安全相關的沒有配置,有時間再慢慢研究

 

升級包下載地址:https://pan.baidu.com/s/1pMjjZLL

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • STM32的“中斷”機制很複雜,看了PM(Cortex-m4)和RM,對它只瞭解了一個大概。首先,與“中斷”相關的術語就有 exception, interrupt, event 三個。Cortex-m4核中包含一個NVIC控制器,用於處理 exception。而 interrupt 是屬於 exc ...
  • 用戶,組及許可權 基本概念 1)用戶,組,許可權 用戶: 獲取資源的標識。(代表一個用戶)/etc/passwd 組: 許可權的集合,用於方便的指派許可權,不能登錄和使用。(代表一類用戶 邏輯容器 可放用戶 可關聯許可權)/etc/group 許可權: 表示資源的訪問能力。 2)/etc/passwd文件的文件 ...
  • linux系統遵循的基本原則 由目標單一的小程式組成,組合小程式完成複雜任務; 一切皆文件; 儘量避免捕捉用戶介面; 配置文件保存為純文本文件; Linux命令行常識 命令格式 選項: 短選項: 多個短選項可以結合: a b = ab 長選項: 參數: 命令的作用對象; 命令類型 內置命令: she ...
  • 4x4矩陣鍵盤實拍照如下圖。其構成是4行(L1:4)x 4列(R1:4)共16個按鍵,當第n行、第m列的按鈕(n, m)按下時,引腳 Ln 與 Rm 導通: 有一篇文章,對矩陣鍵盤的介面講解得很詳細。概括起來說,按鍵檢測分為3個階段。第一個階段,掃描行。行I/O口設為input模式,使用上拉電阻。列 ...
  • 一、cat命令 cat即concatenate 查看文件內容、創建文件、文件合併、追加文件內容等功能 PS(cat 會一次顯示所有的內容、適合內容少的文本文件) cat 文件名 -b 對非空輸出行編號 -n 對輸出 所有行編號 二、more命令 分屏顯示文件內容 more 文件名 空格鍵顯示後續內容 ...
  • truncate的使用非常簡單: int truncate(const char *path, off_t length); 參數1:文件名 參數2: 文件需要被調整的大小 length 大於 文件大小, 文件後面會填充空白位元組或者空洞 length 小於 文件大小, 文件多出的部分,會被捨棄 源代 ...
  • http://blog.csdn.net/mike8825/article/details/69489865?locationnum=3&fps=1 1、DTS相應修改: DTS相關代碼:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s ...
  • SSh服務登錄的驗證方式: 基於口令的安全驗證 1、客戶端發起ssh請求,伺服器會把自己的公鑰發送給用戶 2、用戶會根據伺服器發來的公鑰對密碼進行加密 3、加密後的信息回傳給伺服器,伺服器用自己的私鑰解密,如果密碼正確,則登錄成功 註:不能保證你正在連接的伺服器就是你想連接的伺服器。可能會有別的服務 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...