1. 程式人生 > >主機安全加固--升級openssh及openssl

主機安全加固--升級openssh及openssl

[[email protected] init.d]# cat sshd
#!/bin/bash
#
# Init file for OpenSSH server daemon
#
# chkconfig: 2345 55 25
# description: OpenSSH server daemon
#
# processname: sshd
# config: /etc/ssh/ssh_host_key
# config: /etc/ssh/ssh_host_key.pub
# config: /etc/ssh/ssh_random_seed
# config: /etc/ssh/sshd_config
# pidfile: /var/run/sshd.pid

# source function library
. /etc/rc.d/init.d/functions

# pull in sysconfig settings
[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd

RETVAL=0
prog="sshd"

# Some functions to make the below more readable
KEYGEN=/usr/bin/ssh-keygen
SSHD=/usr/sbin/sshd
RSA1_KEY=/etc/ssh/ssh_host_key
RSA_KEY=/etc/ssh/ssh_host_rsa_key
DSA_KEY=/etc/ssh/ssh_host_dsa_key
PID_FILE=/var/run/sshd.pid

runlevel=$(set -- $(runlevel); eval "echo \$$#" )

do_rsa1_keygen() {
        if [ ! -s $RSA1_KEY ]; then
                echo -n $"Generating SSH1 RSA host key: "
                rm -f $RSA1_KEY
                if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
                        chmod 600 $RSA1_KEY
                        chmod 644 $RSA1_KEY.pub
                        if [ -x /sbin/restorecon ]; then
                            /sbin/restorecon $RSA1_KEY.pub
                        fi
                        success $"RSA1 key generation"
                        echo
                else
                        failure $"RSA1 key generation"
                        echo
                        exit 1
                fi
        fi
}

do_rsa_keygen() {
        if [ ! -s $RSA_KEY ]; then
                echo -n $"Generating SSH2 RSA host key: "
                rm -f $RSA_KEY
                if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
                        chmod 600 $RSA_KEY
                        chmod 644 $RSA_KEY.pub
                        if [ -x /sbin/restorecon ]; then
                            /sbin/restorecon $RSA_KEY.pub
                        fi
                        success $"RSA key generation"
                        echo
                else
                        failure $"RSA key generation"
                        echo
                        exit 1
                fi
        fi
}

do_dsa_keygen() {
        if [ ! -s $DSA_KEY ]; then
                echo -n $"Generating SSH2 DSA host key: "
                rm -f $DSA_KEY
                if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
                        chmod 600 $DSA_KEY
                        chmod 644 $DSA_KEY.pub
                        if [ -x /sbin/restorecon ]; then
                            /sbin/restorecon $DSA_KEY.pub
                        fi
                        success $"DSA key generation"
                        echo
                else
                        failure $"DSA key generation"
                        echo
                        exit 1
                fi
        fi
}

do_restart_sanity_check()
{
        $SSHD -t
        RETVAL=$?
        if [ ! "$RETVAL" = 0 ]; then
                failure $"Configuration file or keys are invalid"
                echo
        fi
}

start()
{
        # Create keys if necessary
        do_rsa1_keygen
        do_rsa_keygen
        do_dsa_keygen

        cp -af /etc/localtime /var/empty/sshd/etc

        echo -n $"Starting $prog: "
        $SSHD $OPTIONS && success || failure
        RETVAL=$?
        [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
        echo
}

stop()
{
        echo -n $"Stopping $prog: "
        if [ -n "`pidfileofproc $SSHD`" ] ; then
            killproc $SSHD
        else
            failure $"Stopping $prog"
        fi
        RETVAL=$?
        # if we are in halt or reboot runlevel kill all running sessions
        # so the TCP connections are closed cleanly
        if [ "x$runlevel" = x0 -o "x$runlevel" = x6 ] ; then
            killall $prog 2>/dev/null
        fi
        [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/sshd
        echo
}

reload()
{
        echo -n $"Reloading $prog: "
        if [ -n "`pidfileofproc $SSHD`" ] ; then
            killproc $SSHD -HUP
        else
            failure $"Reloading $prog"
        fi
        RETVAL=$?
        echo
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        restart)
                stop
                start
                ;;
        reload)
                reload
                ;;
        condrestart)
                if [ -f /var/lock/subsys/sshd ] ; then
                        do_restart_sanity_check
                        if [ "$RETVAL" = 0 ] ; then
                                stop
                                # avoid race
                                sleep 3
                                start
                        fi
                fi
                ;;
        status)
                status -p $PID_FILE openssh-daemon
                RETVAL=$?
                ;;
        *)
                echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
                RETVAL=1
esac
exit $RETVAL

相關推薦

主機安全加固--升級opensshopenssl

[[email protected] init.d]# cat sshd #!/bin/bash # # Init file for OpenSSH server daemon # # chkconfig: 2345 55 25 # description: OpenSSH server daem

Linux Centos7 OpenSSH版本低導致的安全漏洞 升級OpenSSHOpenSSl來修復漏洞

Linux Centos7 OpenSSH版本低導致的安全漏洞 升級OpenSSH和OpenSSl來修復漏洞       由於最近公司專案需要重新部署到伺服器,檢查出的安全漏洞,其中 一項就是Openssh版本低過低所以導致的遠端執行漏洞,如下:      

主機安全加固最佳實踐指導書

1. 帳戶密碼設定及使用建議 密碼應該長度不少於 10 位; 建議不要使用有一定特徵和規律容易被破解的常用口令的密碼(如:在常用彩虹表中的密碼、滾鍵盤密碼。如:!QAZxsw2,qazxsw,       [email protect

LINUX主機安全加固

1.1 檢查是否存在空口令賬號 檢查方法: awk -F: '($2 == ""){print}' /etc/passwd   備份方法: cp -p /etc/passwd  /etc/passwd_bak   加固方法: 使用命令passwd  <使用者名稱>設定密碼。   回退方法: rsy

Linux升級openssh問題總結

因第三方監控軟體掃描Linux ssh存在漏洞,此次需將openssh升級至OpenSSH_7.1p2 系統版本: [[email protected] ~]# uname -a Linux db 2.6.32-431.el6.x86_64 #1 SMP Sun

Centos自動安裝opensshopenssl腳本並隱藏版本號

rec tar -xvf prefix pub entos log gcc host dep #!/bin/bash # install_ssh() { NOW=`date +%Y%m%d` setenforce 0 cd /usr/local/ tar

安全加固導致的阿裏雲ECS升級內核失敗無法啟動

阿裏雲centos7升級內核失敗 內核升級失敗還原 升級前內核 #uname -r 3.10.0-693.11.1.el7.x86_64 以下是官方的操作文檔 #vim /etc/dracut.conf.d/virt-drivers.conf add_drivers+="xen-blkfront x

centos6 升級OpenSSH 7.6,OpenSSL 1.0.1n

uci ssh onf net form 1.0 開啟 --nodeps per 背景 公司做安全掃描,掃出OpenSSH、OpenSSL漏洞,需要做升級。直接yum update無果,只好手動編譯升級了。 升級前 ssh -V OpenSSH_5.3p1, OpenSSL

Cygwin踩坑記錄(四)-openSSHopenSSL的安裝配置

一、安裝openSSH與openSS 因為工作關係我需要在Cygwin執行 curl -s "https://get.sdkman.io" | bash 命令將Sdkman下載到本地。 在剛開始的時候我沒有配置openSSH和openSSL,執行curl命令的時候一直提示以下錯誤資

sql日誌安全加固

日誌種類: 1. 錯誤日誌(log-error)  2. 查詢日誌(log)  3. 二進位制日誌(log-bin) 4. 慢查詢日誌(log-slow-queries)  5. 更新日誌(log-update) 檢視日誌開啟狀態 mysql>show

【新手實戰】redhat 6.2 升級openSSH (配合安裝GCC,升級openSSL

致謝:CSDN;linux公社-編輯Linux、wyb7821、wangyan以及未列出的網際網路前輩。 背景:公司的SFTP實體機(RedHat 6.2 x86_64)被綠盟掃描出openSSH工具有漏洞,需要進行升級。登入到伺服器一看悲劇了,沒有GCC編譯器!原來5年前

數據驅動安全架構升級---“花瓶”模型迎來V5.0(一)

安全模型 雲計算 花瓶 大數據 保障方案 數據驅動安全架構升級---“花瓶”模型迎來V5.0 Jackzhai 一、背景近十年,可以說是網絡技術大發展的十年,雲計算、大數據、移動互聯、物聯網等新技術逐漸成熟,社交、電商、智慧城市…現實社會正在全面走進網絡所構建的虛擬世界,網絡正在成為人們吃

如何在 CentOS 7 中安裝、配置和安全加固 FTP 服務

cte success fire lease 註意 tps tran sub linux 步驟 1:安裝 FTP 服務器 1、 安裝 vsftpd 服務器很直接,只要在終端運行下面的命令。 # yum install vsftpd 2、 安裝完成後,服務先是被禁用的,因

centos升級openssh

centos openssh1.安裝選項:--prefix 安裝目錄--sysconfdir 配置文件目錄--with-ssl-dir 指定 OpenSSL 的安裝目錄--with-privsep-path 非特權用戶的chroot目錄--with-privsep-user=sshd 指定非特權用戶為sshd

關於J1900、N3150主機安裝EXSI不成功找不到SATA硬盤等問題的解決

j1900 exsi sata 安裝一.安裝不了問題。具體提示是用EXSI安裝ISO啟動後會遇到卡在Relocating modules and starting up the kernel過不去,此問題的處理很簡單。感謝愛快論壇的朋友cjljsyy 提出解決方法1、把你要安裝ESXI的硬盤接到一臺能正常安裝

升級OpenSSH版本

openssh upgradeOpenssltar -xzvf openssl-openssl-1.0.2l.tar.gzcd openssl-1.0.2le./config --prefix=/usr/local/openssl./config –tmake dependcd /usr/localln -s

CentOS 6.6升級OpenSSH到最新版本7.5.p1

linux ssh升級本文主要簡單記錄CentOS 6.6下OpenSSH升級步驟,安裝編譯所需工具包yum install gcc pam-devel zlib-devel一、升級原因7.4以下openssh版本存在嚴重漏洞:1.OpenSSH 遠程權限提升漏洞(CVE-2016-10010) 2.Ope

Linux主機安全筆記

linux 說明: Linux主機安全筆記部分內容參考網絡上各位大神所整理的資料,部分內容不斷增加、修改。當然本人對Linux系統不是很專業,大家將計看看。一 BIOS安全(硬件上的安全)最基本最簡單的安全配置,保障計算機硬件配置等不被別人更改.給BIOS設置密碼,防止改變啟動順序從軟盤或 光盤啟

服務主機安全考慮

sha ast 網絡隔離 size 關閉 運維 熱備 log 高性能 主機安全包括網絡安全和功能安全(姑且用這個詞,指業務服務正常可用)一、服務主機網絡安全網絡規劃,把服務主機與辦公網絡隔離1、關閉不必要的服務 2、保持所有服務軟件的更新 定時更新 3、設置防護墻 4

sshd安全加固小技巧

安全# 修改sshd默認端口 比如將默認端口22改為2222 # 在默認配置文件 /etc/ssh/sshd_config 追加如下內容( 將arcfour cipher 停用) Ciphers aes128-ctr,aes192-ctr,aes256-ctr # 禁用弱MAC算法,在默認配置文件 /et