[toc]前端
JumpServer 是全球首款開源的堡壘機,使用 GNU GPL v2.0 開源協議,是符合 4A 規範的運維安全審計系統。mysql
JumpServer 使用 Python / Django 爲主進行開發,遵循 Web 2.0 規範,配備了業界領先的 Web Terminal 方案,交互界面美觀、用戶體驗好。nginx
JumpServer 採納分佈式架構,支持多機房跨區域部署,支持橫向擴展,無資產數量及併發限制。git
官網網址:https://www.jumpserver.org/github
文檔:https://docs.jumpserver.org/zh/master/web
GitHub:https://github.com/jumpserver/jumpserverredis
<table>
<tr>
<td rowspan="8">身份認證<br>Authentication</td>
<td rowspan="5">登陸認證</td>
<td>資源統一登陸與認證</td>
</tr>
<tr>
<td>LDAP/AD 認證</td>
</tr>
<tr>
<td>RADIUS 認證</td>
</tr>
<tr>
<td>OpenID 認證(實現單點登陸)</td>
</tr>
<tr>
<td>CAS 認證 (實現單點登陸)</td>
</tr>
<tr>
<td rowspan="2">MFA認證</td>
<td>MFA 二次認證(Google Authenticator)</td>
</tr>
<tr>
<td>RADIUS 二次認證</td>
</tr>
<tr>
<td>登陸複覈</td>
<td>用戶登陸行爲受管理員的監管與控制:small_orange_diamond:</td>
</tr>
<tr>
<td rowspan="11">帳號管理<br>Account</td>
<td rowspan="2">集中帳號</td>
<td>管理用戶管理</td>
</tr>
<tr>
<td>系統用戶管理</td>
</tr>
<tr>
<td rowspan="4">統一密碼</td>
<td>資產密碼託管</td>
</tr>
<tr>
<td>自動生成密碼</td>
</tr>
<tr>
<td>自動推送密碼</td>
</tr>
<tr>
<td>密碼過時設置</td>
</tr>
<tr>
<td rowspan="2">批量改密</td>
<td>按期批量改密:small_orange_diamond:</td>
</tr>
<tr>
<td>多種密碼策略:small_orange_diamond:</td>
</tr>
<tr>
<td>多雲納管 </td>
<td>對私有云、公有云資產自動統一納管:small_orange_diamond:</td>
</tr>
<tr>
<td>收集用戶 </td>
<td>自定義任務按期收集主機用戶:small_orange_diamond:</td>
</tr>
<tr>
<td>密碼匣子 </td>
<td>統一對資產主機的用戶密碼進行查看、更新、測試操做:small_orange_diamond:</td>
</tr>
<tr>
<td rowspan="15">受權控制<br>Authorization</td>
<td>多維受權</td>
<td>對用戶、用戶組、資產、資產節點、應用以及系統用戶進行受權</td>
</tr>
<tr>
<td rowspan="4">資產受權</td>
<td>資產以樹狀結構進行展現</td>
</tr>
<tr>
<td>資產和節點都可靈活受權</td>
</tr>
<tr>
<td>節點內資產自動繼承受權</td>
</tr>
<tr>
<td>子節點自動繼承父節點受權</td>
</tr>
<tr>
<td rowspan="2">應用受權</td>
<td>實現更細粒度的應用級受權</td>
</tr>
<tr>
<td>MySQL 數據庫應用、RemoteApp 遠程應用:small_orange_diamond: </td>
</tr>
<tr>
<td>動做受權</td>
<td>實現對受權資產的文件上傳、下載以及鏈接動做的控制</td>
</tr>
<tr>
<td>時間受權</td>
<td>實現對受權資源使用時間段的限制</td>
</tr>
<tr>
<td>特權指令</td>
<td>實現對特權指令的使用(支持黑白名單)</td>
</tr>
<tr>
<td>命令過濾</td>
<td>實現對受權系統用戶所執行的命令進行控制</td>
</tr>
<tr>
<td>文件傳輸</td>
<td>SFTP 文件上傳/下載</td>
</tr>
<tr>
<td>文件管理</td>
<td>實現 Web SFTP 文件管理</td>
</tr>
<tr>
<td>工單 管理</td>
<td>支持對用戶登陸請求行爲進行控制:small_orange_diamond:</td>
</tr>
<tr>
<td>組織管理</td>
<td>實現多租戶管理與權限隔離:small_orange_diamond:</td>
</tr>
<tr>
<td rowspan="7">安全審計<br>Audit</td>
<td>操做審計</td>
<td>用戶操做行爲審計</td>
</tr>
<tr>
<td rowspan="2">會話審計</td>
<td>在線會話內容審計</td>
</tr>
<tr>
<td>歷史會話內容審計</td>
</tr>
<tr>
<td rowspan="2">錄像審計</td>
<td>支持對 Linux、Windows 等資產操做的錄像進行回放審計</td>
</tr>
<tr>
<td>支持對 RemoteApp:small_orange_diamond:、MySQL 等應用操做的錄像進行回放審計</td>
</tr>
<tr>
<td>指令審計</td>
<td>支持對資產和應用等操做的命令進行審計</td>
</tr>
<tr>
<td>文件傳輸</td>
<td>可對文件的上傳、下載記錄進行審計</td>
</tr>
<tr>
<td rowspan="20">數據庫審計<br>Database</td>
<td rowspan="2">鏈接方式</td>
<td>命令方式</td>
</tr>
<tr>
<td>Web UI方式 :small_orange_diamond:</td>
</tr>
<tr>
<td rowspan="4">支持的數據庫</td>
<td>MySQL</td>
</tr>
<tr>
<td>Oracle :small_orange_diamond:</td>
</tr>
<tr>
<td>MariaDB :small_orange_diamond:</td>
</tr>
<tr>
<td>PostgreSQL :small_orange_diamond:</td>
</tr>
<tr>
<td rowspan="6">功能亮點</td>
<td>語法高亮</td>
</tr>
<tr>
<td>SQL格式化</td>
</tr>
<tr>
<td>支持快捷鍵</td>
</tr>
<tr>
<td>支持選中執行</td>
</tr>
<tr>
<td>SQL歷史查詢</td>
</tr>
<tr>
<td>支持頁面建立 DB, TABLE</td>
</tr>
<tr>
<td rowspan="2">會話審計</td>
<td>命令記錄</td>
</tr>
<tr>
<td>錄像回放</td>
</tr>
</table>sql
端口涉及以下端口:docker
Jumpserver:管理後臺,是核心組件(Core), 使用 Django Class Based View 風格開發,支持 Restful API。數據庫
Coco:Coco爲 SSH Server 和 Web Terminal Server。用戶能夠經過使用本身的帳戶登陸 SSH 或者 Web Terminal直接訪問被受權的資產。不須要知道服務器的帳戶和密碼,如今 Coco 已經被 koko 取代。
Luna:luna 爲 Web Terminal Server 前端頁面,用戶使用 Web Terminal 方式登陸時所須要的插件。
有2種安裝方式,能夠一鍵自動部署,也能夠手動部署,建議一鍵自動部署。
僅需兩步快速安裝 JumpServer:
-- 一鍵安裝啓動 curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.8.2/quick_start.sh | bash -- 注意:安裝過程須要下載docker環境,重啓docker,下載不少鏡像,最後大約佔用空間3g左右,安裝時間大約30分鐘。 [root@docker36 jumpserver-installer-v2.8.2]# docker images | grep jumpserver jumpserver/core v2.8.2 f3dd5c1946ec 2 days ago 1.01GB jumpserver/guacamole v2.8.2 8869e8512eec 2 days ago 824MB jumpserver/lina v2.8.2 98abb9179db1 2 days ago 27.9MB jumpserver/luna v2.8.2 d2e17fada2f6 2 days ago 27MB jumpserver/koko v2.8.2 40cdabc32153 2 days ago 426MB jumpserver/mysql 5 697daaecf703 3 months ago 448MB jumpserver/redis 6-alpine f731cd48185c 3 months ago 31.6MB jumpserver/nginx alpine2 b47070d178ad 18 months ago 18.5MB -- 若不能下載,請添加如下解析: echo " 13.229.188.59 github.com 199.232.4.133 raw.githubusercontent.com " >> /etc/hosts echo " nameserver 114.114.114.114 nameserver 8.8.8.8 nameserver 223.5.5.5 " > /etc/resolv.conf -- 啓動 cd /opt/jumpserver-installer-v2.8.2/ ./jmsctl.sh start -- 會啓動9個容器,建立一個網絡叫jms_net,子網爲:"192.168.250.0/24" -- 首次啓動可能會報錯,可使用命令「docker logs -f jms_core --tail 200」查看,等表結構合併完畢後,肯定該命令輸出都是 ok, 沒有 error, 從新 start 便可,詳見https://docs.jumpserver.org/zh/master/install/setup_by_fast/ -- Web訪問 http://192.168.66.36:8080 https://192.168.66.36:8443 (默認用戶名密碼爲:admin/admin) -- 啓動後的容器和狀態 [root@docker36 jumpserver-installer-v2.8.2]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 26b95ecb8900 jumpserver/nginx:alpine2 "sh -c 'crond -b -d …" 57 seconds ago Up 51 seconds (healthy) 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp jms_nginx 9c25659c23c4 jumpserver/luna:v2.8.2 "/docker-entrypoint.…" About a minute ago Up About a minute (healthy) 80/tcp jms_luna c8d74738aaa2 jumpserver/lina:v2.8.2 "/docker-entrypoint.…" About a minute ago Up About a minute (healthy) 80/tcp jms_lina bc24581c6d0a jumpserver/koko:v2.8.2 "./entrypoint.sh" About a minute ago Up About a minute (healthy) 0.0.0.0:2222->2222/tcp, 5000/tcp jms_koko cc17285dc6ec jumpserver/guacamole:v2.8.2 "/init" About a minute ago Up About a minute (healthy) 8080/tcp jms_guacamole edac0a216aa3 jumpserver/core:v2.8.2 "./entrypoint.sh sta…" About a minute ago Up About a minute (healthy) 8070/tcp, 8080/tcp jms_celery 2ca03ab4d62d jumpserver/core:v2.8.2 "./entrypoint.sh sta…" 11 minutes ago Up 11 minutes (healthy) 8070/tcp, 8080/tcp jms_core 69e9bdede65f jumpserver/redis:6-alpine "docker-entrypoint.s…" 13 minutes ago Up 13 minutes (healthy) 6379/tcp jms_redis c73896dc22ad jumpserver/mysql:5 "docker-entrypoint.s…" 13 minutes ago Up 13 minutes (healthy) 3306/tcp, 33060/tcp jms_mysql [root@docker36 jumpserver-installer-v2.8.2]# [root@docker36 jumpserver-installer-v2.8.2]# ./jmsctl.sh status Name Command State Ports ----------------------------------------------------------------------------------------------------------- jms_celery ./entrypoint.sh start task Up (healthy) 8070/tcp, 8080/tcp jms_core ./entrypoint.sh start web Up (healthy) 8070/tcp, 8080/tcp jms_guacamole /init Up (healthy) 8080/tcp jms_koko ./entrypoint.sh Up (healthy) 0.0.0.0:2222->2222/tcp, 5000/tcp jms_lina /docker-entrypoint.sh ngin ... Up (healthy) 80/tcp jms_luna /docker-entrypoint.sh ngin ... Up (healthy) 80/tcp jms_mysql docker-entrypoint.sh --cha ... Up (healthy) 3306/tcp, 33060/tcp jms_nginx sh -c crond -b -d 8 && ngi ... Up (healthy) 0.0.0.0:8443->443/tcp, 0.0.0.0:8080->80/tcp jms_redis docker-entrypoint.sh redis ... Up (healthy) 6379/tcp
執行過程:
[root@docker36 ~]# curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v2.8.2/quick_start.sh | bash download install script to /opt/jumpserver-installe (開始下載安裝腳本到 /opt/jumpserver-installe) ██╗██╗ ██╗███╗ ███╗██████╗ ███████╗███████╗██████╗ ██╗ ██╗███████╗██████╗ ██║██║ ██║████╗ ████║██╔══██╗██╔════╝██╔════╝██╔══██╗██║ ██║██╔════╝██╔══██╗ ██║██║ ██║██╔████╔██║██████╔╝███████╗█████╗ ██████╔╝██║ ██║█████╗ ██████╔╝ ██ ██║██║ ██║██║╚██╔╝██║██╔═══╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══╝ ██╔══██╗ ╚█████╔╝╚██████╔╝██║ ╚═╝ ██║██║ ███████║███████╗██║ ██║ ╚████╔╝ ███████╗██║ ██║ ╚════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝ Version: v2.8.2 語言 Language (cn/en) (default cn): >>> Install and Configure Docker 1. Install Docker Starting to download Docker engine ... complete Starting to download Docker Compose binary ... complete 2. Configure Docker 是否須要自定義 Docker 數據目錄, 默認將使用 /var/lib/docker 目錄? (y/n) (default n): complete 3. Start Docker Docker version has changed or Docker configuration file has been changed, do you want to restart? (y/n) (default y): complete >>> Loading Docker Image [jumpserver/redis:6-alpine] 6-alpine: Pulling from jumpserver/redis 05e7bc50f07f: Pull complete 14c9d57a1c7f: Pull complete ccd033d7ec06: Pull complete 6ff79b059f99: Pull complete d91237314b77: Pull complete c47d41ba6aa8: Pull complete Digest: sha256:4920debee18fad71841ce101a7867743ff8fe7d47e6191b750c3edcfffc1cb18 Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/redis:6-alpine Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/redis:6-alpine Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/redis@sha256:4920debee18fad71841ce101a7867743ff8fe7d47e6191b750c3edcfffc1cb18 [jumpserver/mysql:5] 5: Pulling from jumpserver/mysql 6ec7b7d162b2: Pull complete fedd960d3481: Pull complete 7ab947313861: Pull complete 64f92f19e638: Pull complete 3e80b17bff96: Pull complete 014e976799f9: Pull complete 59ae84fee1b3: Pull complete 7d1da2a18e2e: Pull complete 301a28b700b9: Pull complete 979b389fc71f: Pull complete 403f729b1bad: Pull complete Digest: sha256:b3b2703de646600b008cbb2de36b70b21e51e7e93a7fca450d2b08151658b2dd Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/mysql:5 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/mysql:5 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/mysql@sha256:b3b2703de646600b008cbb2de36b70b21e51e7e93a7fca450d2b08151658b2dd [jumpserver/nginx:alpine2] alpine2: Pulling from jumpserver/nginx c87736221ed0: Pull complete 6ff0ab02fe54: Pull complete e5b318df7728: Pull complete b7a5a4fe8726: Pull complete Digest: sha256:d25ed0a8c1b4957f918555c0dbda9d71695d7b336d24f7017a87b2081baf1112 Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/nginx:alpine2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/nginx:alpine2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/nginx@sha256:d25ed0a8c1b4957f918555c0dbda9d71695d7b336d24f7017a87b2081baf1112 [jumpserver/luna:v2.8.2] v2.8.2: Pulling from jumpserver/luna 801bfaa63ef2: Pull complete b1242e25d284: Pull complete 7453d3e6b909: Pull complete 07ce7418c4f8: Pull complete e295e0624aa3: Pull complete 4363a3b6ab61: Pull complete 7270d1c7bfd7: Pull complete Digest: sha256:47f6bc784a2c8b0bfdfdfc465bb5b62012122dc1cd83257afa09edb7d027bdca Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/luna:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/luna:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/luna@sha256:47f6bc784a2c8b0bfdfdfc465bb5b62012122dc1cd83257afa09edb7d027bdca [jumpserver/core:v2.8.2] v2.8.2: Pulling from jumpserver/core 6ec7b7d162b2: Already exists 80ff6536d04b: Pull complete 2d04da85e485: Pull complete 998aa32a5c8a: Pull complete 7733ef26f344: Pull complete d441f02b2497: Pull complete 64cad81ca92c: Pull complete cf134c77199b: Pull complete 5c09bcf88bcf: Pull complete fe2b4e1dc49b: Pull complete 328b09a36265: Pull complete c5b2c15fd6d6: Pull complete 88d58a6b84f5: Pull complete Digest: sha256:13a53d3ad8e67c7e25890e44aeaac0dfe9d0f23d75f420bd536181897a0a57a2 Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/core:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/core:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/core@sha256:13a53d3ad8e67c7e25890e44aeaac0dfe9d0f23d75f420bd536181897a0a57a2 [jumpserver/koko:v2.8.2] v2.8.2: Pulling from jumpserver/koko 6d28e14ab8c8: Pull complete 0df8b93ef734: Pull complete 64e864129ede: Pull complete 0a873335f747: Pull complete 72734be47e36: Pull complete 210e6f3fd739: Pull complete 68eb2bfabdf9: Pull complete 2b514aadeb8d: Pull complete b06884356f2d: Pull complete 48b4106b3314: Pull complete c06b5a09cb3a: Pull complete 52981c83908c: Pull complete 4a31deb17aed: Pull complete 8080af3428ec: Pull complete d45214541239: Pull complete Digest: sha256:0e6b2c718c2bbc046d22240d245014361c4f151d0668efab3a0bdc3d6025fd27 Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/koko:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/koko:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/koko@sha256:0e6b2c718c2bbc046d22240d245014361c4f151d0668efab3a0bdc3d6025fd27 [jumpserver/guacamole:v2.8.2] v2.8.2: Pulling from jumpserver/guacamole 6c33745f49b4: Pull complete ef072fc32a84: Pull complete c0afb8e68e0b: Pull complete d599c07d28e6: Pull complete e8a829023b97: Pull complete 2709df21cc5c: Pull complete 3bfb431a8cf5: Pull complete bb9822eef866: Pull complete 5842bda2007b: Pull complete 453a23f25fcb: Pull complete 95325cfda054: Pull complete d0bba8ca7733: Pull complete 77ed1f7e99c3: Pull complete 7c218a3bc8c8: Pull complete b9b23e074906: Pull complete 6eb77dc135e9: Pull complete 5805059e25b4: Pull complete 8687f3be3de5: Pull complete b3a371cb4926: Pull complete 0e0115337931: Pull complete 8871470a6d50: Pull complete 0983df4b79d8: Pull complete 97e3ae311d7b: Pull complete 033a9d7411c6: Pull complete Digest: sha256:f6587bb65eb40dd101144ee89432a0310c46b245dcebc61965ae4de34fd82775 Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/guacamole:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/guacamole:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/guacamole@sha256:f6587bb65eb40dd101144ee89432a0310c46b245dcebc61965ae4de34fd82775 [jumpserver/lina:v2.8.2] v2.8.2: Pulling from jumpserver/lina 801bfaa63ef2: Already exists b1242e25d284: Already exists 7453d3e6b909: Already exists 07ce7418c4f8: Already exists e295e0624aa3: Already exists f2cd4bacfc5e: Pull complete 16594fe0b0fc: Pull complete Digest: sha256:f809b70fcdcbb9216dfa40c6ab1bd293ca85e3eaf2d2c4d77ae9a1e80e0c82e5 Status: Downloaded newer image for swr.cn-south-1.myhuaweicloud.com/jumpserver/lina:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/lina:v2.8.2 Untagged: swr.cn-south-1.myhuaweicloud.com/jumpserver/lina@sha256:f809b70fcdcbb9216dfa40c6ab1bd293ca85e3eaf2d2c4d77ae9a1e80e0c82e5 >>> Install and Configure JumpServer 1. Check Configuration File Path to Configuration file: /opt/jumpserver/config /opt/jumpserver/config/config.txt [ √ ] /opt/jumpserver/config/nginx/lb_http_server.conf [ √ ] /opt/jumpserver/config/nginx/lb_ssh_server.conf [ √ ] /opt/jumpserver/config/core/config.yml [ √ ] /opt/jumpserver/config/koko/config.yml [ √ ] /opt/jumpserver/config/mysql/my.cnf [ √ ] /opt/jumpserver/config/redis/redis.conf [ √ ] complete 2. Configure Nginx configuration file: /opt/jumpserver/config/nginx/cert /opt/jumpserver/config/nginx/cert/server.crt [ √ ] /opt/jumpserver/config/nginx/cert/server.key [ √ ] complete 3. Backup Configuration File Back up to /opt/jumpserver/config/backup/config.txt.2021-03-26_10-26-53 complete 4. Configure Network Do you want to support IPv6? (y/n) (default n): complete 5. Configure Private Key SECRETE_KEY: ICAgICAgICBUWCBlcnJvcnMgMCAgZHJvcHBlZCAwIG92ZXJyd BOOTSTRAP_TOKEN: ICAgICAgICBUWCBl complete 6. Configure Persistent Directory Do you need custom persistent store, will use the default directory /opt/jumpserver? (y/n) (default n): complete 7. Configure MySQL Do you want to use external MySQL? (y/n) (default n): complete 8. Configure Redis Do you want to use external Redis? (y/n) (default n): complete >>> The Installation is Complete 1. You can use the following command to start, and then visit ./jmsctl.sh start 2. Other management commands ./jmsctl.sh stop ./jmsctl.sh restart ./jmsctl.sh backup ./jmsctl.sh upgrade For more commands, you can enter ./jmsctl.sh --help to understand 3. Web access http://172.17.0.3:8080 https://172.17.0.3:8443 Default username: admin Default password: admin 4. SSH/SFTP access ssh admin@172.17.0.3 -p2222 sftp -P2222 admin@172.17.0.3 5. More information Offical Website: https://www.jumpserver.org/ Documentation: https://docs.jumpserver.org/ [root@docker36 ~]# cd /opt/jumpserver-installer-v2.8.2/ [root@docker36 jumpserver-installer-v2.8.2]# ll 總用量 28 drwxrwxr-x 3 root root 4096 3月 18 14:41 compose -rw-rw-r-- 1 root root 1863 3月 18 14:41 config-example.txt drwxrwxr-x 7 root root 80 3月 18 14:41 config_init -rwxrwxr-x 1 root root 5503 3月 18 14:41 jmsctl.sh drwxrwxr-x 4 root root 27 3月 18 14:41 locale -rw-rw-r-- 1 root root 2603 3月 18 14:41 README.md drwxrwxr-x 2 root root 4096 3月 18 14:41 scripts -rw-rw-r-- 1 root root 46 3月 26 11:54 static.env drwxrwxr-x 2 root root 39 3月 18 14:41 utils [root@docker36 jumpserver-installer-v2.8.2]# ./jmsctl.sh start Creating network "jms_net" with driver "bridge" Creating jms_redis ... done Creating jms_mysql ... done Creating jms_core ... done Creating jms_celery ... done Creating jms_guacamole ... done Creating jms_lina ... done Creating jms_koko ... done Creating jms_luna ... done Creating jms_nginx ... done
提示:第一次登錄時,它會讓咱們重設密碼;
提示:重設密碼後,從新登陸,jumpserver的首頁就是下圖這樣;後續咱們就能夠在這個界面來管理內網服務器了;到此jumpserver服務器就搭建好了;
cd /opt yum -y install wget wget https://github.com/jumpserver/installer/releases/download/v2.8.2/jumpserver-installer-v2.8.2.tar.gz tar -xf jumpserver-installer-v2.8.2.tar.gz cd jumpserver-installer-v2.8.2 cat config-example.txt # 如下設置若是爲空系統會自動生成隨機字符串填入 ## 遷移請修改 SECRET_KEY 和 BOOTSTRAP_TOKEN 爲原來的設置 ## 安裝配置 DOCKER_IMAGE_PREFIX=swr.cn-south-1.myhuaweicloud.com VOLUME_DIR=/opt/jumpserver DOCKER_DIR=/var/lib/docker SECRET_KEY= BOOTSTRAP_TOKEN= LOG_LEVEL=ERROR ## 使用外置 MySQL 配置 USE_EXTERNAL_MYSQL=0 DB_HOST=mysql DB_PORT=3306 DB_USER=root DB_PASSWORD= DB_NAME=jumpserver ## 使用外置 Redis 配置 USE_EXTERNAL_REDIS=0 REDIS_HOST=redis REDIS_PORT=6379 REDIS_PASSWORD= ## Compose 項目設置 COMPOSE_PROJECT_NAME=jms COMPOSE_HTTP_TIMEOUT=3600 DOCKER_CLIENT_TIMEOUT=3600 DOCKER_SUBNET=192.168.250.0/24 ## IPV6 DOCKER_SUBNET_IPV6=2001:db8:10::/64 USE_IPV6=0 ## Nginx 配置,這個 Nginx 是用來分發路徑到不一樣的服務 HTTP_PORT=80 HTTPS_PORT=443 SSH_PORT=2222 ## LB 配置, 這個 Nginx 是 HA 時能夠啓動負載均衡到不一樣的主機 USE_LB=0 LB_HTTP_PORT=80 LB_HTTPS_PORT=443 LB_SSH_PORT=2222 ## Task 配置 USE_TASK=1 ## XPack USE_XPACK=0 # Mysql 容器配置 MYSQL_ROOT_PASSWORD= MYSQL_DATABASE=jumpserver # Core 配置 # SESSION_COOKIE_AGE=86400 SESSION_EXPIRE_AT_BROWSER_CLOSE=true ### Keycloak 配置方式 ### AUTH_OPENID=true ### BASE_SITE_URL=https://jumpserver.company.com/ ### AUTH_OPENID_SERVER_URL=https://keycloak.company.com/auth ### AUTH_OPENID_REALM_NAME=cmp ### AUTH_OPENID_CLIENT_ID=jumpserver ### AUTH_OPENID_CLIENT_SECRET= ### AUTH_OPENID_SHARE_SESSION=true ### AUTH_OPENID_IGNORE_SSL_VERIFICATION=true # Koko 配置 CORE_HOST=http://core:8080 # Guacamole 配置 JUMPSERVER_SERVER=http://core:8080 JUMPSERVER_KEY_DIR=/config/guacamole/data/key/ JUMPSERVER_RECORD_PATH=/config/guacamole/data/record/ JUMPSERVER_DRIVE_PATH=/config/guacamole/data/drive/ JUMPSERVER_ENABLE_DRIVE=true JUMPSERVER_CLEAR_DRIVE_SESSION=true JUMPSERVER_CLEAR_DRIVE_SCHEDULE=24
名稱 | 示例 | 備註 |
---|---|---|
當前站點URL | https://demo.jumpserver.org | 不設置的話,郵件收到的地址爲 http://localhost |
用戶嚮導URL | 用戶首次登錄能夠看到此 超連接 ,能夠不設置 |
|
忘記密碼URL | 使用了 LDAP, OPENID 等外部認證系統,能夠自定義 |
基本設置是必須設置當前jumpserver的url。
必須設置才能使用與郵件相關的功能
不能夠同時勾選 使用SSL
和 使用TLS
名稱 | 示例 | 備註 |
---|---|---|
SMTP主機 | smtp.qq.com | 服務商提供的 smtp 服務器 |
SMTP端口 | 25 | 一般是 25 |
SMTP帳號 | 296015668@qq.com | 一般是 user@domain.com |
SMTP密碼 | **** | 每次 測試鏈接 都須要從新輸入密碼 |
使用SSL | [ ] | 若是端口使用 465 ,必須勾選此項 |
使用TLS | [ ] | 若是端口使用 587 ,必須勾選此項 |
發件人 | 296015668@qq.com | 測試鏈接 必需要輸入 |
主題前綴 | [JMS] | 郵件的標題,收到的郵件是 [JMS] 開頭 |
測試收件人 | 296015668@qq.com | 測試鏈接必填 |
在系統設置--->郵件設置,把對應的帳號信息,郵件服務器信息都填寫好,而後測試鏈接,若是能夠正常收到郵件,說明郵件服務器信息和郵件用戶名密碼沒有問題;最後點提交;
和郵件主題前綴;這樣在用戶收到郵件中的連接都會指向這個jumpserver的url;
收到郵件:
jumpserver涉及到的三個用戶:
在用戶管理--->用戶列表--->建立;填寫好用戶相關信息後,點擊最下面的提交;
提示:新建用戶成功之後,對應的用戶郵箱就會收到一份有jumpserver發送到用戶建立成功的郵件,用戶能夠點擊此郵件中的連接進行密碼設定;
準備兩個測試資產和一個數據庫來驗證功能
IP | Host name | Port | System | Admin User | Password |
---|---|---|---|---|---|
172.16.80.11 | test_ssh01 | 22 | Centos 7 | root | Test2020.L |
172.16.80.21 | test_rdp01 | 3389 | Windows 10 | administrator | Test2020.W |
172.16.80.31 | test_mysql01 | 3306 | MySQL 5 | root | Test2020.M |
Windows 資產先進行 Windows SSH 設置
MySQL 應用須要受權 core 和 koko 的遠程訪問的權限 MySQL 應用要求
根節點 Default 不能重名, 右擊節點能夠添加、刪除和重命名節點, 以及進行資產相關的操做
說明:\:
點擊頁面左側的 資產管理
- 資產列表
先在根節點 Default
右鍵新建 SSH Server
和 RDP Server
兩個節點
Defaule ├─ SSH Server └─ RDP Server
點擊頁面左側的 資產管理
- 新建管理用戶
建立兩個管理用戶, 管理用戶的內容就是上面表單的 Admin User
和 Password
名稱不能重名, 密碼或者密鑰二選一便可, 一些資產不容許經過 密碼 認證能夠改用 私鑰 認證
表單 | SSH 管理用戶示例 | RDP 管理用戶示例 |
---|---|---|
名稱 | 172.16.80.11_root | 172.16.80.21_administrator |
用戶名 | root | administrator |
密碼 | Test2020.L | Test2020.W |
SSH密鑰 | ||
備註 | SSH 資產管理用戶 | RDP 資產管理用戶 |
資產管理---->管理用戶---->建立,填寫好對應被管控端的管理員和密碼點擊提交;管理用戶是資產(被控服務器)上的 root,或擁有 NOPASSWD: ALL sudo 權限的用戶, JumpServer 使用該用戶來 推送系統用戶
、獲取資產硬件信息
等。
點擊頁面左側的 資產管理
- 資產列表
- 建立資產
把兩個資產導入
主機名不能重名
表單 | SSH 資產示例 | RDP 資產示例 |
---|---|---|
主機名 | test_ssh01 | test_rdp01 |
IP(域名) | 172.16.80.11 | 172.16.80.21 |
系統平臺 | Linux | Windows |
公網IP | ||
網域 | ||
協議組 | ssh 22 | rdp 3389 / ssh 22 |
管理用戶 | 172.16.80.11_root | 172.16.80.21_administrator |
節點 | Default / SSH Server | Default / RDP Server |
建立 Windows 資產, 注意協議組咱們須要選擇 ssh
和 rdp
, 不然沒法獲取 Windows 資產的狀態及硬件信息。
提示:資產管理--->資產列表--->新建,填寫對應被管控的的主機信息和ip地址信息,以及管理用戶,點擊最下方的提交;
提示:提交完成後,咱們就能夠在資產列表中看到咱們剛纔添加到主機;
擊頁面左側的 應用管理
- 數據庫應用
- 建立數據庫應用
建立 mysql 數據庫
表單 | MySQL 資產示例 |
---|---|
名稱 | test_mysql01 |
類型 | MySQL |
主機 | 172.16.80.31 |
端口 | 3306 |
數據庫 | |
備註 | MySQL 資產 |
數據庫 選項能夠留空, 若是是某些特定用戶, 只容許訪問指定的數據庫, 這裏指定數據庫名稱便可
IP | System | System User | Password | Group | Sudo | Sftp Root |
---|---|---|---|---|---|---|
172.16.80.11 | Centos 7 | testssh01 | random pass | ALL | / | |
172.16.80.21 | Windows 10 | testrdp01 | random pass | Users | ||
172.16.80.23 | MySQL 5 | root | Test2020.M |
點擊頁面左側的 資產管理
- 系統用戶
- 建立系統用戶
建立對應協議系統用戶
表單 | SSH 系統用戶 |
---|---|
名稱 | test_ssh01_測試系統用戶 |
登陸模式 | 自動登錄 |
用戶名 | testssh01 |
協議 | ssh |
自動推送 | √ |
Sudo | ALL |
Shell | /bin/bash |
家目錄 | |
用戶附屬組 | |
自動生成密鑰 | √ |
SFTP根路徑 | / |
表單 | RDP 系統用戶 |
---|---|
名稱 | test_rdp01_測試系統用戶 |
登陸模式 | 自動登錄 |
用戶名 | testrdp01 |
協議 | rdp |
自動推送 | √ |
自動生成密鑰 | √ |
表單 | MySQL 系統用戶 |
---|---|
名稱 | test_mysql01_測試系統用戶 |
登陸模式 | 自動登錄 |
用戶名 | root |
協議 | mysql |
密碼 | Test2020.M |
資產管理--->系統用戶--->新建,填寫好用戶名,勾選自動推送和自動生成密鑰,點擊最下方的提交便可;這裏填寫的用戶會用做jumpserver上登陸對應的主機用到用戶,若是被管控端沒有這個用戶,jumpserver就會利用咱們剛纔添加的管理用戶去建立一個這裏的系統用戶;
權限管理--->資產受權--->建立,填寫好名稱後,要選擇用戶和組以及資產和系統用戶,而後點擊最下方的提交;到此一個資源就受權給test用戶和test組中的成員了;這裏須要注意一點,一個節點中有不少server,若是你只想受權單臺server給某個用戶,下面的節點就留空,若是你想受權一個節點給用戶你能夠選擇節點,上面的資產就能夠留空,若是你又想受權單個資產和某個節點給用戶,就選擇對應的資產和節點便可;若是這裏選擇default節點,表示把default節點下的全部主機都受權給用戶;默認default節點包含全部主機;
IP | System | System User | User |
---|---|---|---|
172.16.80.11 | Centos 7 | testssh01 | admin |
172.16.80.21 | Windows 10 | testrdp01 | admin |
172.16.80.31 | MySQL 5 | root | admin |
點擊頁面左側的 受權管理
- 資產受權
- 建立受權規則
建立兩個受權
表單 | SSH 資產受權 | RDP 資產受權 |
---|---|---|
名稱 | test_ssh01_測試受權 | test_rdp01_測試受權 |
用戶 | Administrator(admin) | Administrator(admin) |
用戶組 | ||
資產 | test_ssh01(172.16.80.11) | test_rdp01(172.16.80.21) |
節點 | ||
系統用戶 | test_ssh01_測試系統用戶(testssh01) | test_rdp01_測試系統用戶(testrdp01) |
權限 | √ 所有 | √ 所有 |
點擊頁面左側的 受權管理
- 數據庫應用
- 建立受權規則
建立數據庫受權
表單 | MySQL 資產受權 |
---|---|
名稱 | test_mysql01_測試受權 |
用戶 | Administrator(admin) |
用戶組 | |
數據庫應用 | test_mysql01 |
系統用戶 | test_mysql01_測試系統用戶(root) |
登陸 JumpServer
點擊頁面左側的 會話管理
- Web終端
用戶只能看到本身被管理員受權了的 資產
, 若是登陸後無資產, 請聯繫管理員進行確認
鏈接資產
在個人資產點擊資產右邊的 鏈接
快速鏈接資產
也能夠點擊左側欄的 Web終端
點擊 資產
名字, 就連上資產了
若是顯示鏈接 超時
, 請參考 FAQ
文檔進行處理
斷開資產
點擊頁面頂部的 Server
按鈕會彈出選個選項, 第一個斷開所選的鏈接, 第二個斷開全部鏈接
也能夠直接點資產小窗口的 X , SSH
會話也能夠輸入 exit
來退出
直接關閉頁面也能夠, 可是不推薦
文件管理
資產
, 目前只支持自動登陸的 SSH
協議 資產
sftp
方式進行 文件管理
點擊會話管理---->會話管理---->歷史會話----> 找到對應會話後面的回放便可查看對應用戶在過去會話中執行的操做;
About Me
● 本文做者:小麥苗,部份內容整理自網絡,如有侵權請聯繫小麥苗刪除
● 本文原始發表於我的微 信公衆號(DB寶)上● QQ羣號: 230161599 、618766405,微信羣私聊 ● 我的QQ號(646634621),微 信號(db_bao),註明添加原因● 版權全部,歡迎分享本文,轉載請保留出處