1. 程式人生 > >堡壘機的實現

堡壘機的實現

本節內容

專案實戰:運維堡壘機開發

前景介紹

到目前為止,很多公司對堡壘機依然不太感冒,其實是沒有充分認識到堡壘機在IT管理中的重要作用的,很多人覺得,堡壘機就是跳板機,其實這個認識是不全面的,跳板功能只是堡壘機所具備的功能屬性中的其中一項而已,下面我就給大家介紹一下堡壘機的重要性,以幫助大家參考自己公司的業務是否需要部署堡壘機。

堡壘機有以下兩個至關重要的功能:

許可權管理

當你公司的伺服器變的越來越多後,需要操作這些伺服器的人就肯定不只是一個運維人員,同時也可能包括多個開發人員,那麼這麼多的人操作業務系統,如果許可權分配不當就會存在很大的安全風險,舉幾個場景例子:

  1. 設想你們公司有300臺Linux伺服器,A開發人員需要登入其中5臺WEB伺服器檢視日誌或進行問題追蹤等事務,同時對另外10臺hadoop伺服器有root許可權,在有300臺伺服器規模的網路中,按常理來講你是已經使用了ldap許可權統一認證的,你如何使這個開發人員只能以普通使用者的身份登入5臺web伺服器,並且同時允許他以管理員的身份登入另外10臺hadoop伺服器呢?並且同時他對其它剩下的200多臺伺服器沒有訪問許可權

  2. 目前據我瞭解,很多公司的運維團隊為了方面,整個運維團隊的運維人員還是共享同一套root密碼,這樣內部信任機制雖然使大家的工作方便了,但同時存在著極大的安全隱患,很多情況下,一個運維人員只需要管理固定數量的伺服器,畢竟公司分為不同的業務線,不同的運維人員管理的業務線也不同,但如果共享一套root密碼,其實就等於無限放大了每個運維人員的許可權,也就是說,如果某個運維人員想幹壞事的話,他可以在幾分鐘內把整個公司的業務停轉,甚至資料都給刪除掉。為了降低風險,於是有人想到,把不同業務線的root密碼改掉就ok了麼,也就是每個業務線的運維人員只知道自己的密碼,這當然是最簡單有效的方式,但問題是如果你同時用了ldap,這樣做又比較麻煩,即使你設定了root不通過ldap認證,那新問題就是,每次有運維人員離職,他所在的業務線的密碼都需要重新改一次。

其實上面的問題,我覺得可以很簡單的通過堡壘機來實現,收回所有人員的直接登入伺服器的許可權,所有的登入動作都通過堡壘機授權,運維人員或開發人員不知道遠端伺服器的密碼,這些遠端機器的使用者資訊都繫結在了堡壘機上,堡壘機使用者只能看到他能用什麼許可權訪問哪些遠端伺服器。

在回收了運維或開發人員直接登入遠端伺服器的許可權後,其實就等於你們公司生產系統的所有認證過程都通過堡壘機來完成了,堡壘機等於成了你們生產系統的SSO(single sign on)模組了。你只需要在堡壘機上新增幾條規則就能實現以下許可權控制了:

  1. 允許A開發人員通過普通使用者登入5臺web伺服器,通過root許可權登入10臺hadoop伺服器,但對其餘的伺服器無任務訪問許可權

  2. 多個運維人員可以共享一個root賬戶,但是依然能分辨出分別是誰在哪些伺服器上操作了哪些命令,因為堡壘機賬戶是每個人獨有的,也就是說雖然所有運維人員共享了一同一個遠端root賬戶,但由於他們用的堡壘賬戶都是自己獨有的,因此依然可以通過堡壘機控制每個運維人員訪問不同的機器。

審計管理

審計管理其實很簡單,就是把使用者的所有操作都紀錄下來,以備日後的審計或者事故後的追責。在紀錄使用者操作的過程中有一個問題要注意,就是這個紀錄對於操作使用者來講是不可見的,什麼意思?就是指,無論使用者願不願意,他的操作都會被紀錄下來,並且,他自己如果不想操作被紀錄下來,或想刪除已紀錄的內容,這些都是他做不到的,這就要求操作日誌對使用者來講是不可見和不可訪問的,通過堡壘機就可以很好的實現。

堡壘機架構 

堡壘機的主要作用許可權控制和使用者行為審計,堡壘機就像一個城堡的大門,城堡裡的所有建築就是你不同的業務系統 , 每個想進入城堡的人都必須經過城堡大門並經過大門守衛的授權,每個進入城堡的人必須且只能嚴格按守衛的分配進入指定的建築,且每個建築物還有自己的許可權訪問控制,不同級別的人可以到建築物裡不同樓層的訪問級別也是不一樣的。還有就是,每個進入城堡的人的所有行為和足跡都會被嚴格的監控和紀錄下來,一旦發生犯罪事件,城堡管理人員就可以通過這些監控紀錄來追蹤責任人。 

堡壘要想成功完全記到他的作用,只靠堡壘機本身是不夠的, 還需要一系列安全上對使用者進行限制的配合,堡壘機部署上後,同時要確保你的網路達到以下條件:

  • 所有人包括運維、開發等任何需要訪問業務系統的人員,只能通過堡壘機訪問業務系統
    • 回收所有對業務系統的訪問許可權,做到除了堡壘機管理人員,沒有人知道業務系統任何機器的登入密碼
    • 網路上限制所有人員只能通過堡壘機的跳轉才能訪問業務系統 
  • 確保除了堡壘機管理員之外,所有其它人對堡壘機本身無任何操作許可權,只有一個登入跳轉功能
  • 確保使用者的操作紀錄不能被使用者自己以任何方式獲取到並篡改  

堡壘機功能實現需求

業務需求:

  1. 兼顧業務安全目標與使用者體驗,堡壘機部署後,不應使使用者訪問業務系統的訪問變的複雜,否則工作將很難推進,因為沒人喜歡改變現狀,尤其是改變後生活變得更艱難
  2. 保證堡壘機穩定安全執行, 沒有100%的把握,不要上線任何新系統,即使有100%把握,也要做好最壞的打算,想好故障預案

功能需求:

  1. 所有的使用者操作日誌要保留在資料庫中
  2. 每個使用者登入堡壘機後,只需要選擇具體要訪問的設定,就連線上了,不需要再輸入目標機器的訪問密碼
  3. 允許使用者對不同的目標裝置有不同的訪問許可權,例:
    1. 對10.0.2.34 有mysql 使用者的許可權
    2. 對192.168.3.22 有root使用者的許可權
    3. 對172.33.24.55 沒任何許可權
  4. 分組管理,即可以對設定進行分組,允許使用者訪問某組機器,但對組裡的不同機器依然有不同的訪問許可權    

設計表結構:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

相關推薦

Gateone初步--django堡壘實現

部署 首先需要部署gateone,gateone是用tornado寫的 可以直接使用docker,然後啟動之後簡單的配置就可以了。或者下載原始碼包,或者rpm包進行安裝,這裡就不說詳細的安裝過程了。 具體可以見github上的內容。 或者參考官方文件

用lshell+腳本實現堡壘(跳轉機)功能

跳轉機 堡壘機 lshell 堡壘機(跳轉機)功能:讓需要登錄生產服務器的用戶必須先登錄這臺服務器,再從這臺服務器上登錄到生產服務器。可以限制只使用ssh和exit命令,或者自己寫個腳本讓登錄的人自己選擇。這裏可以在堡壘機(跳轉機)服務器上安裝lshell來達到各種限制的功能。1、安裝lshell

Linux堡壘如何實現敏感指令審計?

linux堡壘機 敏感指令審計 行雲管家 目前Linux服務器是堡壘機的主要應用場景,因為市面上大部分堡壘機廠商起步早,linux堡壘機開發、搭建、部署等技術都已經非常成熟了。但是對於日漸普及的Windows2012服務器系統的支持,很多起步早的堡壘機廠商體驗較差。本文先就Linux堡壘機重要的指

利用SecureCRT實現跳過堡壘自動登入

       因為工作需要,要經常登入公司的資料平臺,但是這個平臺是不能直接訪問的,必須要先登入一個堡壘機,再通過堡壘機用ssh連線到資料平臺上。於是每次連線都要進行3次輸入賬號密碼的登入操作,非常麻煩,特別是在家裡用vpn連線到公司網路,遇到vpn中斷,每次都要進行這樣的

堡壘實現

本節內容 專案實戰:運維堡壘機開發 前景介紹 到目前為止,很多公司對堡壘機依然不太感冒,其實是沒有充分認識到堡壘機在IT管理中的重要作用的,很多人覺得,堡壘機就是跳板機,其實這個認識是不全面的,跳板功能只是堡壘機所具備的功能屬性中的其中一項而

堡壘的核心武器:WebSSH錄影實現

WebSSH終端錄影的實現終於來了 前邊寫了兩篇文章『Asciinema:你的所有操作都將被錄製』和『Asciinema文章勘誤及Web端使用介紹』深入介紹了終端錄製工具Asciinema,我們已經可以實現在終端下對操作過程的錄製,那麼在WebSSH中的操作該如何記錄並提供後續的回放審計呢? 一種方式是『

本地Mac通過堡壘代理實現堡壘scp問題

近日,公司在跳板機前架設了堡壘機,以防止ssh攻擊,但這帶來一個問題,我們平常直接ssh跳板機,可以直接使用scp來上傳或下載跳板機資料到本地 架設堡壘之後經常使用的scp工具不好用了 於是本期就來解決跨堡壘機實現scp問題,解決方案同樣適用阿里雲子賬號實現 常見堡壘-跳板-ECS結構拓撲圖: 堡壘機、跳板機

簡單的堡壘模型

python剛學python,寫了一個簡單的堡壘機模型,功能自己添加#!/usr/bin/env python#coding:utf-8import MySQLdbimport paramiko#connect mysqlconn = MySQLdb.connect("218.197.119.18","zha

51單片實現按鍵查詢並燈閃爍時間實驗

key ont -1 初始化 mage logs 實驗 mil .cn ———————————————————————————————————————————— 實現功能: 功能模塊: 初始化變量 主體功能(循環) 按鍵查詢 對應LED狀態及延時參數 改

堡壘之paramiko模塊

建立 reject eas 執行命令 本地文件 驗證 password -s use 一、paramiko簡單介紹 場景預設: 很多運維人員平時進行維護linux/unix主機時候,無非通過ssh到相應主機操作,那麽一旦主機有成千上百臺,那該如何應對,這時候我們

在Windows7中與虛擬實現遠程桌面連接

在windows7中與虛擬機實現遠程桌面連接在Windows7中與虛擬機實現遠程桌面連接在win7系統中安裝VMware workstation虛擬機並安裝win7系統,實現在win7宿主機中遠程連接虛擬機右擊宿主機“網絡”,選擇屬性選擇“更改適配器設置”選擇“vmware8”右擊選擇屬性(因為虛擬機是NAT

51單片實現矩陣鍵盤行掃描

order 方式 [] image 51單片機 char borde 矩陣鍵盤 結果 ———————————————————————————————————————————— 分類: 按結構原理分: 觸點式開關按鍵 無觸點開關按鍵 接入方式 獨立式

51單片實現SMC1602液晶屏顯示實例

del 遍歷 思路 unsigned 初始化 移動 display -1 當前 ———————————————————————————————————————————— LCD1602 - - - - - - - - - - - - - - - - - - - - -

手把手教你用jumpserver搭建堡壘

ict 添加用戶 以及 這一 用戶名 端口 cal cti tom 首先,jumpserver是什麽呢? Jumpserver 是一款由Python編寫開源的跳板機(堡壘機)系統,實現了跳板機應有的功能。基於ssh協議來管理,客戶端無需安裝agent。 特點: 完全開源,G

51單片實現頻率測量控制實驗

code 控制 void pan 時鐘 計數器 方法 接收 外部 ———————————————————————————————————————————— 頻率測量方法: 測頻法:測試限定時間內檢測脈沖的個數(1s) 測周法:采樣N個脈沖所使用的時間 —————

讓運維不再背鍋的利器jumpserver堡壘

配置文件 example server1 服務器 數據庫 由於來源身份不明、越權操作、密碼泄露、數據被竊、違規操作等因素都可能會使運營的業務系統面臨嚴重威脅,一旦發生事故,如果不能快速定位事故原因,運維人員往往就會背黑鍋。幾種常見的背黑鍋場景1、由於不明身份利用遠程運維通道攻擊服務器造成業

Python堡壘

sel delattr ssh read con tran policy center odin 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # import paramiko 4 # msg = """

Docker 搭建開源跳板_jumpserver (運維開源堡壘_jumpserver) Centos_7.0

jump 環境 mysql stop xshel str ide 技術分享 fire 最近看到一個開源項目(jumpserver) 很不錯 還是用Docker 部署得 。。。 抽了點時間拿來學習一下 部署 分析 簡單使用一下 。。。。好了先搭起來 準

jumpserver堡壘的搭建

堡壘機jumpserver的部署堡壘機方便和簡化了管理員對多個用戶和多臺服務器之間的聯系 jumpserver是一個開源的軟件1 首先在jumpsrever官網下載選擇 VIEW PROJECT ON GITHUB 這個按鈕選擇master 這個分支一個軟件壓縮包 下載時要下載master這個分支 再解壓

Linux下堡壘認證

linux 堡壘機 認證 Linux下堡壘機認證加進自己的驗證機制來控制ssh到某臺Linux機的用戶。比如,給三個用戶登進該Linux主機的權限。用戶名和密碼 如下。Lucy:123Ben:456Jerry:789如果某個用戶輸入密碼錯誤達到三次,則將該用戶賬戶鎖住。也就是在ssh 登錄之前進行