堡垒机安装
2019獨角獸企業重金招聘Python工程師標準>>>
23.1什么是堡壘機
堡壘機,即在一個特定的網絡環境下,為了保障網絡和數據不受來自外部和內部用戶的入侵和破壞,而運用各種技術手段實時收集和監控網絡環境中每一個組成部分的系統狀態、安全事件、網絡活動,以便集中報警、記錄、分析、處理的一種技術手段。
我們又把堡壘機叫做跳板機,簡易的跳板機功能簡單,主要核心功能是遠程登錄服務器和日志審計。
開源堡壘機:麒麟堡壘機 、jumpserver堡壘機 、GateOne堡壘機 商業堡壘機:昂楷科技 、尚思卓越的尚維堡壘機 、齊志堡壘機 、LanSecS(萊恩賽克)堡壘機、Citri、XenApp其從功能上講,它綜合了核心系統運維和安全審計管控兩大主干功能,從技術實現上講,通過切斷終端計算機對網絡和服務器資源的直接訪問,而采用協議代理的方式,接管了終端計算機對網絡和服務器的訪問。形象地說,終端計算機對目標的訪問,均需要經過運維安全審計的翻譯。打一個比方,運維安全審計扮演著看門者的工作,所有對網絡設備和服務器的請求都要從這扇大門經過。因此運維安全審計能夠攔截非法訪問,和惡意攻擊,對不合法命令進行命令阻斷,過濾掉所有對目標設備的非法訪問行為,并對內部人員誤操作和非法操作進行審計監控,以便事后責任追蹤。
安全審計作為企業信息安全建設不可缺少的組成部分,逐漸受到用戶的關注,是企業安全體系中的重要環節。同時,安全審計是事前預防、事中預警的有效風險控制手段,也是事后追溯的可靠證據來源。
堡壘機產生的原因
隨著企事業單位IT系統的不斷發展,網絡規模和設備數量迅速擴大,日趨復雜的IT系統與不同背景的運維人員的行為給信息系統安全帶來較大風險,主要表現在:
?
1.多個用戶使用同一個賬號。這種情況主要出現在同一工作組中,由于工作需要,同時系統管理賬號唯一,因此只能多用戶共享同一賬號。如果發生安全事故,不僅難以定位賬號的實際使用者和責任人,而且無法對賬號的使用范圍進行有效控制,存在較大安全風險和隱患。
?
2.一個用戶使用多個賬號。目前,一個維護人員使用多個賬號是較為普遍的情況,用戶需要記憶多套口令同時在多套主機系統、網絡設備之間切換,降低工作效率,增加工作復雜度。如下圖所示:
?
3. 缺少統一的權限管理平臺,權限管理日趨繁重和無序;而且維護人員的權限大多是粗放管理,無法基于最小權限分配原則的用戶權限管理,難以實現更細粒度的命令級權限控制,系統安全性無法充分保證。
?
4. 無法制定統一的訪問審計策略,審計粒度粗。各網絡設備、主機系統、數據庫是分別單獨審計記錄訪問行為,由于沒有統一審計策略,并且各系統自身審計日志內容深淺不一,難以及時通過系統自身審計發現違規操作行為和追查取證。
5. 傳統的網絡安全審計系統無法對維護人員經常使用的SSH、RDP等加密、圖形操作協議進行內容審計。
?
堡壘機的使用
https://wenku.baidu.com/view/27fba3ad970590c69ec3d5bbfd0a79563c1ed4b7.html
?
23.2、搭建簡易堡壘機
- 具備堡壘機的條件是,該機器有公網和私網,其中私網和機房其他機器互通
- 設計堡壘機思路
- 跳板機安全設置(iptables端口限制、登錄限制sshd_config)
- 用戶、命令權限限制(jaikit)http://blog.chinaunix.net/uid-28310119-id-3503318.html
- 客戶機器日志審計(只能在客戶器上操作,不能在跳板機上操作)
- http://www.68idc.cn/help/server/linux/2014042190951
- 安裝過程:
- cd /usr/local ? ? ? ? ? ? #軟件安裝的目錄
- cd /src
- wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.bz2
- tar -jxvf jailkit-2.19.tar.bz2
- cd jailkit-2.19/
- ./configure && make && make install
- mkdir /home/jailkit
- ?
- jk_init -v -j /home/jail/basicshe
- jk_init -v -j /home/jail/editors
- jk_init -v -j /home/jail/netutils
- jk_init -v -j /home/jail ssh
?
- useradd wang
- passwd wang
- mkdir /home/jail/usr/sbin?
- cp /usr/sbin/jk_lsh ? /home/jail/usr/sbin/jk_lsh
- jk_jailuser -m -j ?/home/jail ?wang ? ? ? ? ? ? ?#在虛擬系統里面創建wang用戶
- cd /home/jail ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #切換到jail ?目錄中
- cat ?etc/passwd ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看添加的用戶wang
- vi /home/jail/etc/passwd=vi ? /etc/passwd? ? ? ? ? ? ? ? ? ? ? ? ? #把wang那一行的/usr/sbin/jk_lsh改為/bin/bash
- 使用xshell5遠程連接wang主機
- 登錄成功后,使用命令:ls -l /, ? ? ? 兩下tab鍵 ?,命令:$查看可用的命令
- 給普通用戶設置秘鑰登陸,應該到普通用戶的 家目錄里 .ssh/authorized_keys文件里添加秘鑰
- vi ?/etc/ssh/sshd_config ? ? ? ? ? ?#在/etc/ssh/sshd_config 中設置只允許秘鑰登錄,輸入/passaword,定位到passwd的那一行。把PasswordAuthentication yes底下的兩個yes,改成no。
- vi /etc/hosts.allow ? ? ? ? ? ? ? #限制不需要的IP和服務。在最底下添加限制的IP,比如添加:sshd: 192.168.133.0/24 1.1.1.1 2.2.2.2
- vi ?/etc/hosts.deny ? ? ? ? ? ? ? ? ?#在最底下添加一行:sshd:ALL
- cat /etc/hosts.deny ? ? ? ? ? ? ? ?#查看有沒有設置成功
實例:
使用 wget下載,
當登錄wang主機時,顯示沒有/usr/bin/id時,使用命令:ls -l /,查看根目錄
編輯vi .bashrc或者vi .bash-profile中添加。
?
23.4搭建簡易堡壘機---日志審計
?以下操作是需要在所有被登錄機器上做的
? mkdir /usr/local/records
? chmod 777 !$
? chmod +t !$ ? ? ? ? ? ? ? ? ? ? ? ? ? ?#t防刪
? vi /etc/profile //添加
?if [ ! -d? /usr/local/records/${LOGNAME} ];then
? ? mkdir -p /usr/local/records/${LOGNAME}
? ? chmod 300 /usr/local/records/${LOGNAME};fi
export HISTORY_FILE="/usr/local/records/${LOGNAME}/bash_history"
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'
注意:if?....;then中間;號;
fi前面也有
?
實例:第一步,限制deny,IP地址是跳板機的IP,使用命令:vi /etc/hosts.all
第二部,vi /etc/hosts.deny
然后再重新登錄一下,再另一個服務器上使用命令:ssh root@192.168.133.132,鏈接跳板機。
?
在服務器上添加本機windows的ip地址
添加完成后,重新鏈接,這臺機器,使用命令:w,查看有沒有添加成功。
編輯vi /etc/profile
在服務端,添加一個張三的用戶,然后再跳板機上鏈接,使用命令:ssh zhangsan@192.168.133.132
在服務端,使用命令:cd .. ? ?ls?
?
注意:系統的history命令只能查看正常操作退出的命令歷史,如果是斷電,或者掉線退出終端命令歷史是無法記錄到history中去的
常見問題:
windows的ip
2、在設置客戶端機器aming-02的時候,有一個ip地址 192.168.133.1 這個是那個虛擬機的ip地址?為什么添加192.168.133.1就可以通過root登陸 aminng-02了,我記得aming-02這個虛擬機的ip地址是192.168.133.132吧?然后,跳板記得ip地址是192.168.133.130,對吧。不明白192.168.133.1這個ip地址是什么?
答:
133.1 是我windows的ip,也就是客戶端的ip地址。
你用哪個ip去連這臺機器,就設置哪個ip為白名單ip。?
如果你要用132去連這臺機器,那就添加這個132ip為白名單。
你用哪個ip去連這臺機器,就設置哪個ip為白名單ip。?
如果你要用132去連這臺機器,那就添加這個132ip為白名單。
3、現在我的需求是跳板機使用密鑰登錄服務器。但是zhangsna這個用戶已經使用不了ssh-keygen這個命令了,這個應該怎么解決。還是說我們在限制用戶之前就生成公鑰備用?
答:可以用root給它生成啊? 私鑰放哪里都無所謂,它登錄的時候指定私鑰位置就行了。?
ssh -i 后面指定私鑰路徑
?
?
?
常見問題:
解壓不了?下載gcc已解決
?
?
2、
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
?
請輸入管理員用戶名 [admin]:?
請輸入管理員密碼: [5Lov@wife]:?
請再次輸入管理員密碼: [5Lov@wife]:?
Starting jumpserver service:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[FAILED]
?
安裝成功,Web登錄請訪問http://ip:8000, 祝你使用愉快。
請訪問 https://github.com/jumpserver/jumpserver/wiki 查看文檔
[root@master-ansible-220 install]# cd ..
[root@master-ansible-220 jumpserver-0.3.3]# ./service.sh restart
Stopping jumpserver service:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[FAILED]
Starting jumpserver service:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[FAILED]
?
啟動jumpserver失敗
答:查看一下你的系統中是不是已經有監聽80或者 8000端口。?服務沒啟動,沒查看到監聽8000端口,查一下它的日志吧
?
3、對比docker安裝的視頻我看了一下,下載的是yum install -y docker-ce,怎么我們安裝堡壘機用的是yum install -y docker 。這兩個之間有區別嗎?
答:版本不一樣。
?
4、
[root@localhost ~]# yum install -y docker?
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
?* base: mirrors.cn99.com
?* extras: mirrors.cn99.com
?* updates: mirrors.cn99.com
軟件包 2:docker-1.13.1-53.git774336d.el7.centos.x86_64 已安裝并且是最新版本
無須任何處理
[root@localhost ~]# systemctl enable docker
[root@localhost ~]# systemctl start docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
我參照PPT里面安裝了一下0.4.0的版本,啟動的時候怎么總是報錯?
答:之前的版本卸載掉。
?
5、
?File "install.py", line 307, in <module>
? ? pre_setup.start()
? File "install.py", line 299, in start
? ? self._input_mysql()
? File "install.py", line 267, in _input_mysql
? ? if self._test_db_conn():
? File "install.py", line 192, in _test_db_conn
? ? import MySQLdb
ImportError: No module named MySQLdb
安裝的時候報這種錯誤。用的centos6.6 ?python2.7,不知道是不是版本問題。
答:
試試這個命令?
yum install MySQL-python
?
6、
[root@jishan-2 jumpserver]# ls
apps ?config_example.py ?data ?docs ?LICENSE ?logs ?README.md ?requirements ?run_server.py ?tmp ?utils
在克隆之后怎么沒有install安裝目錄,老師這個我怎么處理。
答:
版本不對,你這個4.0版本,安裝方法可以參考我ppt里面的方法(docker)
你要想下載3的版本,可以到這里來下載??https://github.com/jumpserver/jumpserver/tree/0.3.3? 下載zip格式的。
?
?
轉載于:https://my.oschina.net/u/3803405/blog/1814428
總結
- 上一篇: 功能式Python中的探索性数据分析
- 下一篇: KafkaConsumer 长时间地在p