ZStack雲平臺應用堡壘機教程

1、目的

1.1 堡壘機支持統一賬戶管理策略,能夠實現對所有遠程服務器等賬號進行集中管理,完成對賬號整個生命週期的監控;還支持對不同用戶進行不同策略的制定,細粒度的訪問控制能夠嚴防非法、越權訪問事件的發生,最大限度保護用戶資源的安全。

1.2 同時堡壘機也能解決一些安全上的不穩定因素,堡壘機執行的任務對於整個網絡安全系統至關重要。由於堡壘機完全暴露在外網安全威脅之下,需要做許多工作來設計和配置堡壘機,使它遭到外網攻擊成功的可能性減至最低。甚至,一些網絡管理員會用堡壘機做犧牲品來換取網絡的安全。這些堡壘機吸引入侵者的注意力,消耗攻擊真正網絡主機的時間並且使追蹤入侵企圖變得更加容易。

1.3 堡壘機在企業網絡管理中充當着門衛的重要職責,所有內外部對網絡設備及服務器的請求,都要通過堡壘機。因此,堡壘機能夠攔截非法訪問和惡意攻擊,對不合法命令進行阻斷、過濾掉所有對目標設備的非法訪問行爲。總之,堡壘機能夠最大的保護企業內部網絡設備及服務器資源的安全性,使得企業內部網絡管理合理化和專業化。

1.4 本文檔旨在提供ZStack雲平臺很多用戶通過堡壘機對部署在ZStack平臺的應用系統進行日常維護,並進行集中式的管理,從而無需管理運維人員逐一進行相關運維,只需通過一臺或者多臺堡壘機即可運營整個服務架構中的主機,同時也爲管理私有網絡的服務器提供便利,最小化應用系統的安全風險,從而有利於提升整體架構的安全,並結合這些場景和安全因素考慮,寫下關於ZStack雲平臺應用部署Linux堡壘機的教程。

2、ZStack雲平臺方案

2.1 準備軟件

2.2.1 進行部署之前,需提前下載雲平臺所需的系統ISO、部署安裝包。

2.2.2 以ZStack 3.7.1版本爲例,可在官網下載相關資源。

http://cdn.zstack.io/product_downloads/iso/ZStack/3.7.1/7948o1y5rx/ZStack-x86_64-DVD-3.7.1-c74.iso

注意:下載ISO請下載與當前雲平臺適配的ISO版本,例如,當前雲平臺採用C74版本,請下載C74版本的ISO。

注:下載完畢,請在管理節點檢查md5值與網站標識的是否一致,如不一致,請重新下載。

校驗md5的檢測方法參考:

#md5sum ZStack-x86_64-DVD-3.7.1-c74.iso

2.2 總體規劃

2.2.1網絡規劃介紹

對於網絡規劃通常需要劃分爲若干個子網,分爲公有網絡和私有網絡。公有網絡中的雲主機可以直接從 Internet 中接收入站數據流,也可以直接向 Internet 發送出站數據流,而私有網絡中的雲主機則不可。但是私有網絡中的雲主機可以使用位於公有網絡中的網絡地址轉換 (NAT) 網關訪問 Internet。
根據以上描述不同子網的特點,我們需要把堡壘機放置在公有子網中,也就是綁定彈性公網IP,以便接受管理人員通過Internet的訪問,受管理的服務器根據其在業務系統中充當的角色選擇放置在公有網絡或着私有網絡中。在實際生產環境中根據需要可爲堡壘機設置一個獨立的公有地址。

2.2.2實驗環境介紹

PC爲本機,能連通Internet,本機IP爲192.168.167.38/24

Jumpserver爲centos7虛擬機,安裝一塊網卡,IP地址爲10.0.149.157/16,並綁定一個彈性公網IP,IP地址爲172.20.14.15/16,能連通Internet,堡壘機能夠ping通PC和Service

service爲Centos7虛擬機,安裝一塊網卡,IP地址爲10.0.214.167/16

目前PC端無法連接10.0.0.0/16網段的所有IP

兩個Centos均安裝openssh-client和openssh-service,並能正常使用sshd服務

PC通過彈性公網IP遠程連接到jumpserver,再利用jumpserver的私網IP來遠程連接管理service,達到PC控制遠端service的效果,具體網絡構架規劃示意圖,如下圖所示:
在這裏插入圖片描述

3、Linux堡壘機部署

3.1 創建堡壘機

在ZStack私有云主菜單,點擊雲資源池 > 雲主機按鈕,進入雲主機界面,點擊創建雲主機按鈕,在彈出的創建雲主機頁面,可參考以下示例輸入相應內容,這裏所使用的鏡像是CentOS-7-x86_64-DVD-1804,三層網絡選擇私有網絡,具體如圖1所示:
圖1 創建雲主機
3.2 安裝系統

3.2.1打開控制檯

打開當前雲主機的控制檯,可以登錄雲主機系統,進入ISO引導安裝界面,默認選擇Install ZStack開始安裝操作系統;當服務器引導模式選擇爲Legacy模式時U盤引導,如圖2所示:
圖2 選擇安裝方式

3.2.2選擇語言

根據個人喜好選擇語言,這裏選擇English(United States),如圖3所示:

 語言選擇

3.2.3進入系統安裝界面

進入系統安裝界面後,已經預先配置如下默認選項,一般情況下管理員無需更改配置。

•DATE&TIME:Americas/New York timezone

•LANGUAGE:English(United States)

•KEYBOARD:English(US)

系統安裝界面如下圖4所示:

圖4 系統安裝界面

3.2.4選擇安裝模式

在系統安裝界面,點擊 SOFTWARE SELECTION 進入服務器安裝模式候選,根據個人喜好選擇服務器安裝模式,這裏選擇Minimal Install,然後點擊 Done,如圖5所示:

圖5 服務器安裝模式候選

3.2.5配置硬盤分區

  1. 在系統安裝界面,點擊INSTALLATION DESTINATION進入硬盤分區配置界面,選擇要做的系統盤,點擊 I will configure partitioning 進行手動分區,然後點擊Done 開始分區配置,如圖6所示:

圖6 配置硬盤分區

  1. 手動選擇分區類型Standard Partition、Btrfs、LVM、LVM Thin Provisioning,這裏選擇 Standard Partition,然後點擊“+”進行分區,創建好分區後點擊 Done 完成分區創建 ,如圖7所示:

圖7 選擇分區格式

  1. 創建引導分區,如圖8所示:
    圖8 創建引導分區

  2. 創建 swap 分區,如圖9所示:

圖9 創建swap分區

  1. 創建根分區,在配置根目錄時,在 Desired Capacity 不輸入數據,表示將所有空間都劃分給/目錄,如圖10所示。

圖10 創建根分區

  1. 確認無誤後,點擊Done按鈕完成磁盤分區操作,如圖11所示:

圖11 完成磁盤分區

  1. 點擊Done按鈕後會彈出確認框;點擊AcceptChanges應用分區配置,如圖12所示:
    圖12 應用分區配置

3.2.6配置網絡

  1. 在系統安裝界面,點擊NETWORK & HOST NAME進入網卡配置主界面,選擇需要修改的網卡,點擊Configure按鈕進行配置,如圖13所示:
    

圖13 配置網卡

  1. 在General選項中,默認不會勾選Automatically connectto this network when it is available,因此需要檢查該網卡是否勾選開機自動啓動網卡,如果未勾選請手動勾選,如圖14所示:

圖14 自動啓動網卡

  1. 在Ipv4 Settings選項中,根據個人環境選擇DHCP還是Manual,Manual需要手動設置IP 地址、掩碼、網關、DNS,這裏選擇DHCP,設置好後點擊 Save 按鈕進行保存,如圖15所示:

圖15 配置網卡

3.2.7開始安裝

網絡配置完後,回到系統安裝主界面,點擊Begin Installation開始安裝,如圖16所示:

圖16 開始安裝

3.2.8設置root用戶密碼

  1. 安裝過程自動進行,安裝過程中請設置ROOT PASSWORD,如圖17所示:

圖17 設置root用戶密碼

  1. 基礎系統安裝完畢後需要手動點擊Reboot進行重啓,重啓完成後會自動進入Linux系統中,如圖18、圖19所示:

圖18 重啓
圖19 進入系統

3.3 添加公網彈性IP

3.3.1 在ZStack私有云主菜單,點擊網絡服務 > 彈性IP,進入彈性IP界面,點擊創建彈性IP,在彈出的創建彈性IP界面,可參考以下示例輸入相應內容,如圖20所示:

圖20 創建彈性IP

3.3.2 綁定雲主機網卡,選擇要綁定的雲主機並選擇該雲主機所需要綁定的網卡,然後點擊確定,完成創建,如圖21、圖22、圖23所示:

圖21 綁定雲主機

圖22 綁定雲主機網卡

圖23 彈性IP詳情界面

3.3.3 彈性IP綁定成功,到雲主機界面ping www.baidu.com,測試網絡的連通性,如圖24所示:

圖24 測試網絡連通性

3.4 應用部署

3.4.1安裝yum源

Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。Yum源就是一個軟件集合地,你只需要搜索並安裝你想要的軟件,它會幫你解決大部分軟件的依賴問題。

#mkdir  /etc/yum.repos.d/back

#mv  /etc/yum.repos.d/* /etc/yum.repos.d/back

#curl –o  /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

#yum clean all  && yum makecache

#yum install  wget -y

#wget -O  /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3.4.2安裝python包

Python是一種跨平臺的計算機程序設計語言。是一種面向對象的動態類型語言,最初被設計用於編寫自動化腳本(shell),隨着版本的不斷更新和語言新功能的添加,越來越多地被用於獨立的、大型項目的開發,目前最穩定的版本也是Python3.0以上。

#yum -y install  wget sqlite-devel xz gcc automake zlib-devel openssl-devel

#mkdir -p  /opt/server/tools

#cd  /opt/server/tools/

#tar xvf  Python-3.6.1.tar.xz && cd Python-3.6.1

#./configure  --prefix=/usr/local/python3 && make && make install

3.4.3安裝git

Git是目前流行的非常好用的版本控制工具,這裏介紹其中一種安裝方式:使用yum安裝。

#yum -y install  git

3.4.4安裝mysql和創建數據庫

數據庫是“按照數據結構來組織、存儲和管理數據的倉庫”。是一個長期存儲在計算機內、有組織、有共享、統一管理的數據集合。數據庫是以一定方式儲存在一起、能與多個用戶共享、具有儘可能小的冗餘度、與應用程序彼此獨立的數據集合,可視爲電子化的文件櫃——存儲電子文件的處所,用戶可以對文件中的數據進行新增、查詢、更新、刪除等操作。

#yum -y install  mariadb mariadb-devel mariadb-server

#systemctl  enable mariadb

#systemctl start  mariadb

#DB_PASSWORD=`cat  /dev/urandom | tr -dc A-Za-z0-9 | head -c 24`   

#echo -e  "\033[31m 數據庫密碼是 $DB_PASSWORD \033[0m"   

#mysql -uroot -e  "create database jumpserver default charset 'utf8'; grant all on  jumpserver.* to 'jumpserver'@'127.0.0.1' identified by '$DB_PASSWORD'; flush  privileges;"

3.4.5建立加速pip

在使用Python的時候,需要下載各種各樣的庫,於是就需要一個下載庫的管理工具,所以就需要在我們的Linux上下載pip幫助我們管理庫。

#cd

#mkdir .pip

#vi  ~/.pip/pip.conf

[global]

index-url =  http://mirrors.aliyun.com/pypi/simple/



[install]

trusted-host=mirrors.aliyun.com

3.4.6安裝jumpserver

JumpServer是全球首款完全開源的堡壘機, 使用 GNU GPL v2.0 開源協議, 是符合 4A 的專業運維審計系統。

JumpServer使用 Python / Django 進行開發, 遵循 Web 2.0 規範, 配備了業界領先的 Web Terminal 解決方案, 交互界面美觀、用戶體驗好。

JumpServer採納分佈式架構, 支持多機房跨區域部署, 中心節點提供API, 各機房部署登錄節點, 可橫向擴展、無併發訪問限制。

JumpServer現已支持管理 SSH、 Telnet、 RDP、 VNC 協議資產。

Jumpserver安裝包地址:https://pan.baidu.com/s/1HlNOxnd3jxstw5cMMLU–g

#cd  /opt/server/tools/

#yum install  unzip -y

#unzip  jumpserver-rpm.zip

#cd  jumpserver-rpm/jumpserver

#git checkout  master

#cd install/

#python  install.py

3.4.7配置

配置安裝jumpserver所需要的數據庫、管理員賬號密碼、163郵箱、QQ郵箱等,完成jumpserver的配置部署。

請輸入您服務器的IP地址,用戶瀏覽器可以訪問 [10.0.0.31]: 172.20.14.15

是否安裝新的MySQL服務器? (y/n) [y]: n

請輸入數據庫服務器IP [127.0.0.1]: 127.0.0.1

請輸入數據庫服務器端口 [3306]: 3306

請輸入數據庫服務器用戶 [jumpserver]: jumpserver

請輸入數據庫服務器密碼: M0ynoMmM6p3Egz3qtQhjS07I

請輸入使用的數據庫 [jumpserver]: jumpserver

連接數據庫成功

……

請輸入管理員用戶名 [admin]: admin

請輸入管理員密碼: [5Lov@wife]: password

請再次輸入管理員密碼: [5Lov@wife]: password

Starting jumpserver service: [ 確定 ]

安裝成功,Web登錄請訪問http://ip:8000, 祝你使用愉快。

請訪問 https://github.com/jumpserver/jumpserver/wiki 查看文檔

3.4.8登陸

打開瀏覽器,輸入http://IP:8000,就能看到jumpserver登陸界面,並進行登陸,如圖25、26所示:

圖25 登陸
圖26 用戶界面

3.4.9添加遠程主機

遠程主機是所需要遠程管理的主機,方便用戶遠程進行操作,點擊資產管理 —> 查看資產,輸入相關內容,如圖27所示:

圖27 添加主機

3.4.10添加Sudo命令

Sudo命令是系統用戶登陸遠程主機時該用戶所能執行那些命令操作,點擊授權管理 —> Sudo,輸入相關內容,如圖28所示:

圖28 添加Sudo

3.4.11添加系統用戶

  1. 系統用戶是Linux遠程主機中用來遠程進行登錄的用戶,其中要注意該系統用戶在所需要遠程操控的主機中是真實存在的,點擊授權管理 —> 系統用戶,輸入相關內容,如圖29所示:

圖29 添加系統用戶

  1. 創建完系統用戶後,點擊推送,輸入相關內容,綁定主機,如圖30、31所示:

圖30 點擊推送
圖31 綁定主機

3.4.12添加授權規則

授權規則是可以指定哪些系統用戶、用戶組可以進行登錄哪些遠程主機,同時也方便分類進行管理,點擊授權管理 —> 授權規則,輸入相關內容,如圖32所示:

圖32 添加授權規則

3.4.13連接

最後點擊資產管理 —> 查看資產,點擊主機的連接按鈕,完成連接,如圖33、34所示:

圖33 點擊連接
圖34 完成連接

4、測試

4.1 從PC端直接連接service,無法進行連接,如圖35所示:
圖35 連接失敗

圖35 連接失敗

4.2 從PC端通過Xhell連接Jumpserver主機遠程service或者直接通過jumpserver管理界面連接到service,都能能成功連接,如圖36、37所示:
圖36 連接成功
圖37 連接成功

總結

堡壘機往往是作爲系統管理員或運維人員常用的操作平臺之一、可以被理解爲一類可作爲跳板批量操作遠程設備的網絡設備。同時,堡壘機是網絡中容易受到侵害的主機,所以堡壘機也必須是自身保護完善的主機。

堡壘機通常至少配備兩塊網卡設備,分別具備不同的網絡連接。但在ZStack平臺中,我們可以做到:只綁定彈性IP就能實現兩塊網卡設備所具有的效果,並且彈性IP定義了通過公有網絡訪問內部私有網絡的方法,內部私有網絡是隔離的網絡空間,不能直接被外部網絡訪問,這也就一定程度上控制堡壘機在網絡上受到侵害,同時彈性IP基於網絡地址轉換(NAT), 將一個網絡(通常是公有網絡)的IP地址轉換成另一個網絡(通常是私有網絡)的IP地址;通過彈性IP,可對公網的訪問直接關聯到內部私網的雲主機IP。

但堡壘機並沒有實現對運維人員操作行爲的控制和審計,所以在使用堡壘機過程中還是會有誤操作、違規操作導致的操作事故,一旦出現操作事故也很難快速定位原因和責任人。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章