开源跳板机(堡垒机)Jumpserver v2.0.0 部署篇
Jumpserver 是一款基于Python+Django開發的開源堡壘機系統,使用LDAP統一認證,同時還有命令審計功能。
優勢:
????????1.所有服務器使用LDAP統一認證。
????????2.用戶登陸jumpserver使用密鑰認證后方可登陸后端客戶機,安全
? ? ? ? 3.自帶命令審計功能(個人感覺有缺陷)。便于管理。
? ? ? ? 4.可以對不同部門,組的用戶進行主機權限,命令權限管理。
原文轉載自老廣的blog:http://laoguang.blog.51cto.com/6013350/1636273
更新:一鍵安裝腳本?http://laoguang.blog.51cto.com/6013350/1640090
更新: 安裝常見問題FAQ?http://bbs.jumpserver.org/read.php?tid=22&fid=2
更新: 安裝視頻?http://v.youku.com/v_show/id_XOTM5OTk3MDU2.html?from=y1.7-1.2
** 部署完成后去 看使用說明文檔:??http://laoguang.blog.51cto.com/6013350/1636708?**
* 強烈建議第一遍所有密碼賬號等與文檔相同 **
官網:?http://www.jumpserver.org
論壇:?http://bbs.jumpserver.org
demo:?http://demo.jumpserver.org
更新log:?http://laoguang.blog.51cto.com/6013350/1635853
百度云相關軟件: http://pan.baidu.com/s/1i3kne6p
交流群:390139816
項目地址:https://github.com/ibuler/jumpserver
博客地址:http://laoguang.blog.51cto.com/
如果您對該項目感興趣,熟悉Django或前端編程,加入我們吧! ibuler@qq.com
環境說明:
Centos6.5 mini , iptables, selinux關閉
jumpserver: 192.168.20.130
測試機testserver: 192.168.20.131
一. 部署ldapserver
1.1 安裝ldapserver
# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm?
# yum install -y vim automake autoconf gcc xz ncurses-devel \
?patch python-devel git python-pip gcc-c++ ?# 安裝基本環境,后面依賴
# yum install -y openldap openldap-servers openldap-clients openldap-devel
1.2 準備配置文件
# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf ? ?## 該文件是slapd的配置文件?
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG ? ? ? ?## 數據庫的配置文件
1.3 修改配置文件# vim /etc/openldap/slapd.conf ?... ?loglevel ? ? ? ?1 ?... ?suffix ? ? ? ? ?"dc=jumpserver,dc=org" ?rootdn ? ? ? ? ?"cn=admin,dc=jumpserver,dc=org" ?rootpw ? ? ? ? ?secret234 ?... ?#說明: ?loglevel:設置日志級別 ?suffix:其實就是BaseDN ?rootdn: 超級管理員的dn ?rootpw: 超級管理員的密碼 ?
1.4 修改系統日志配置文件
# vim /etc/rsyslog.conf ?local4.* ? ? ? ? ?/var/log/ldap.log ??
?# local7.*下添加一行
# service rsyslog restart
1.5 啟動slapd, 查看啟動情況
# service slapd start
# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d?
# chown -R ldap:ldap /etc/openldap/slapd.d/
# service slapd restart
# netstat -tulnp | grep slapd ?#說明:第一次啟動生會初始化ldap數據庫,在/var/lib/ldap中,如果想刪除ldap數據庫就刪除該目錄,保留DB_CONFIG配置文件。新版的ldap使用的是/etc/openldap/slapd.d 下的配置文件,刪除原來的配置文件,slaptest是重新生成新的配置文件
1.6 導入ldif數據庫框架和測試用戶,可以使用migrationtools導出框架,也可以用我導出好的.?
base.ldif,group.ldif,passwd.ldif 將其中的dc=jumpserver,dc=org替換成你的baseDN,然后導入,密碼是rootpw設置的 secret234 ?這些文件百度云中下載 ?http://pan.baidu.com/s/1i3kne6p
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f base.ldif
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f group.ldif
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f passwd.ldif
二. testserver部署ldapclient
--- CentOS6設置 ---
2.1 安裝LDAP客戶端
# yum -y install openldap openldap-clients nss-pam-ldapd pam_ldap?
2.2 設置自動創建目錄
# echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth?
2.3 備份原來authconfig,然后設置使用LDAP認證
# authconfig --savebackup=auth.bak
# authconfig --enableldap --enableldapauth --enablemkhomedir --enableforcelegacy --disablesssd --disablesssdauth --ldapserver=192.168.20.130 --ldapbasedn="dc=jumpserver,dc=org" --update
--- CentOS5設置 ---
2.1 安裝LDAP客戶端
# yum -y install openldap openldap-clients nss_ldap
2.2 設置自動創建目錄# echo "session required pam_mkhomedir.so skel=/etc/skel umask=0077" >> /etc/pam.d/system-auth
2.3 設置使用LDAP認證
# authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=192.168.20.130 --ldapbasedn="dc=jumpserver,dc=org" --update
2.4 從jumpserver連接testuser測試# ssh testuser@192.168.20.131 ?# 密碼是testuser123 如果連接成功則繼續
生產中部署注意建立災備賬戶這里就不再說明
三. LDAP負責sudo
3.1 拷貝sudo schema,centos版本不一樣,可能sudo的版本不是1.8.6,其他的也可以
# cp /usr/share/doc/sudo-1.8.6p3/schema.OpenLDAP /etc/openldap/schema/sudo.schema
3.2 修改文件導入schema# vim /etc/openldap/slapd.conf ?include ? ? ? ? /etc/openldap/schema/sudo.schema
3.3 重新生成配置文件,重啟slapd
# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
# chown -R ldap:ldap /etc/openldap/slapd.d/*?
# service slapd restart
3.4 導入sudo.ldif到ldapserver
# ldapadd -x -W -D "cn=admin,dc=jumpserver,dc=org" -f sudo.ldif ?#說明:將sudo.ldif中的dc=jumpserver,dc=org換作你的baseDN
3.5 testserver設置sudo使用ldap
?說明: centos6上sudo-1.7.4p5的使用的ldap配置文件是 /etc/sudo-ldap.conf,sudo版本不同使用的配置文件可能也有所不同,sudo -V | grep 'ldap.conf' 查看
# sudo -V | grep 'ldap.conf' ??
...
ldap.conf path: /etc/sudo-ldap.conf ?# 已知有的版本是 /etc/nslcd.conf,下面應該做出對應改變...
--- CentOS6 ---
# echo -e "uri ldap://192.168.20.130\nSudoers_base ou=Sudoers,dc=jumpserver,dc=org" > /etc/sudo-ldap.conf?
# echo "Sudoers: files ldap" >> ?/etc/nsswitch.conf
--- CentOS5 ---
# echo "Sudoers_base ou=Sudoers,dc=jumpserver,dc=org" >> /etc/ldap.conf
# echo "Sudoers: files ldap" >> /etc/nsswitch.conf
3.6 測試sudo
# ssh testuser@192.168.20.131
# sudo su ?#說明:密碼是testuser123,sudo su如果不提示輸入密碼,則成功
3.7 刪除測試用戶
# ldapdelete -x -D "cn=admin,dc=jumpserver,dc=org" -w secret234 "uid=testuser,ou=People,dc=jumpserver,dc=org"
# ldapdelete -x -D "cn=admin,dc=jumpserver,dc=org" -w secret234 "cn=testuser,ou=Sudoers,dc=jumpserver,dc=org"
四. 部署jumpserver
4.1 安裝mysql數據庫,創建庫
# yum -y install mysql mysql-server mysql-devel
# service mysqld start
# mysql
mysql> create database jumpserver charset='utf8';
mysql> grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'mysql234';
4.2 下載最新Jumpserver項目
# cd /opt
# git clone https://github.com/ibuler/jumpserver.git?
# cd jumpserver
4.3 安裝依賴模塊
# cd /opt/jumpserver/docs
# rm -rf /usr/lib64/python2.6/site-packages/Crypto # 不是mini安裝,默認帶的版本不兼容
# pip install -r requirements.txt
# ?說明:如果報錯請手動安裝每個模塊4.4 修改Jumpserver配置文件
# cd ..
# vim jumpserver.conf ? ?#coding: utf8 ? ?[base] ? ?ip = 192.168.20.130 ? ?port = 80 ? ?key = 88aaaf7ffe3c6c04 ? ?[db] ? ?host = 127.0.0.1 ? ?port = 3306 ? ?user = jumpserver ? ?password = mysql234 ? ?database = jumpserver ? ?[ldap] ? ?ldap_enable = 1 ? ?host_url = ldap://127.0.0.1:389 ? ?base_dn = dc=jumpserver, dc=org ? ?root_dn = cn=admin,dc=jumpserver,dc=org ? ?root_pw = secret234 ? ?[websocket] ? ?web_socket_host = 192.168.20.130:3000 ? ?[mail] ? ?email_host = smtp.exmail.qq.com ? ?email_port = 25 ? ?email_host_user = noreply@jumpserver.org ? ?email_host_password = jumpserver123 ? ?email_use_tls = False ? ?# 說明: ? ?# [base] ip, port是訪問web的ip和端口號, key是用來加密的隨機字符串,如果更改請確保是16位 ? ?# [db]里是數據庫的設置,相信你看一眼就知道了 ? ?# [ldap] ldap_enable啟用ldap, host_url是ldapserver的地址, base_dn root_dn root_pw與前面配置的ldapserver保持一致 ? ?# [websocket] websocket的地址,是允許node index.js程序的服務器地址,通常和web運行在一起,端口號默認是 3000 ? ?# [mail] 配置mail服務器,用來發送郵件,本版本添加用戶會自動發郵件給用戶的email
4.5 建立logs目錄并修改權限
# cd /opt/jumpserver/
# mkdir logs; chmod 777 logs
4.6 django sync db 到數據庫
# python manage.py syncdb ?Would you like to create one now? (yes/no): no
4.7 測試運行
# python manage.py runserver 0.0.0.0:80?
# cd /opt/jumpserver/
# python log_handler.py ?#說明:兩個窗口分別打開
4.8 初始化jumpserver瀏覽器打開 http://192.168.1.209/install
顯示安裝成功測繼續
五. 安裝node.js
為了實現實時監控,使用了node.js來完成websocket
5.1 yum安裝node.js?
# yum -y install nodejs npm ?# 好多依賴啊
# cd websocket
# npm install ?#說明:可能下載需要幾分鐘,也可以使用我已經下載好的模塊,將node_modules.tar.bz2 移動websocket目錄解壓即可 ?# tar xvf node_modules.tar.bz2?# 如果運行上面的install可以不解壓提供的模塊
5.2 測試啟動websocket?
#?cd /opt/jumpserver/websocket
# node index.js
六. 使用jumpserver
見: ?http://laoguang.blog.51cto.com/6013350/163670
6.1 登陸 賬號密碼: admin admin
6.2 新建部門
6.3 新建用戶
6.4 新建IDC
6.5 添加主機
6.6 建立用戶組
6.7 建立主機組
6.8 將主機組授權給用戶組
6.9 授權sudo
6.10 新建部門管理員
6.11 授權主機給部門
6.12 部門管理員登陸
6.13 部門管理員添加用戶和授權
6.14 查看監控
6.15 查看統計
6.16 普通用戶登錄
七. 收尾
7.1 修改sshd配置,禁止密碼登錄
# vim /etc/sshd/sshd_config ?... ?PasswordAuthentication no ?...# service sshd restart
7.2 讓用戶登錄jumpserver自動運行系統
# cd /opt/jumpserver/docs?
# vim zzjumpserver.sh ?... ?if [ $USER == 'guanghongwei' ];then ? # 修改特殊用戶,結束后不退出,便于維護 ?...
# cp zzjumpserver.sh /etc/profile.d/
7.3 正常運行jumpserver系統
# cd /opt/jumpserver/
# ./service.sh start ? ?#說明:如果想結束系統 ./service.sh stop ; ? ?# 什么沒有運行? 那你有沒有加執行權限?
八. 生產注意情況
8.1 每臺服務器最好建立災備用戶,以防由于網絡等情況連接不上ldap服務器導致影響維護
8.2 ldap server建立主從或者鏡像, 這部分內容已超出本話題 客戶端指定時需要寫上兩臺的地址--ldapserver=192.168.20.130,192.168.20.xxx
8.3 數據庫備份或主從
8.4 nginx + uwsgi + django 運行,上面的server.sh是開發模式,只能單并發
官網: http://www.jumpserver.org
轉載于:https://blog.51cto.com/itanony/1714831
總結
以上是生活随笔為你收集整理的开源跳板机(堡垒机)Jumpserver v2.0.0 部署篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “Zhuang.Data”轻型数据库访问
- 下一篇: linux学习教程(一)(安装篇)cen