開源跳板機(堡壘機)Jumpserver v0.2.0 部署篇

201601 更新:新版本3.0已經發布,此文檔已經不適用最新版本。php

見:https://github.com/jumpserver/jumpserverhtml



更新:一鍵安裝腳本 http://laoguang.blog.51cto.com/6013350/1640090前端

更新: 安裝常見問題FAQ http://bbs.jumpserver.org/read.php?tid=22&fid=2node

更新: 安裝視頻 http://v.youku.com/v_show/id_XOTM5OTk3MDU2.html?from=y1.7-1.2python


** 部署完成後去 看使用說明文檔:  http://laoguang.blog.51cto.com/6013350/1636708 **mysql

* 強烈建議第一遍全部密碼帳號等與文檔相同 **linux

官網: http://www.jumpserver.orgnginx

論壇: http://bbs.jumpserver.orgc++

demo: http://demo.jumpserver.orggit

更新log: http://laoguang.blog.51cto.com/6013350/1635853

百度雲相關軟件: http://pan.baidu.com/s/1i3kne6p

交流羣:399218702

項目地址: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

相關文章
相關標籤/搜索