基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

服務器主機準備

jumpserver(管理端)                           192.168.1.25  docker-ce jumpserver/jms_all:1.4.8鏡像 
backend-db(被管理的後端服務)    192.168.1.26   mariadb mariadb-server redis
backend(被管理的後端服務)         192.168.1.27

1.jumpserver管理端配置

1).配置dock的yum源

[root@localhost ~]# wget -O /etc/yum.repos.d/base.repo     
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2)查看docker-ce的版本,爲18年9月版最新版

[root@localhost ~]# yum list *docker-ce*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Installed Packages
docker-ce.x86_64                                                                           3:18.09.7-3.el7                                                                    @docker-ce-stable
docker-ce-cli.x86_64                                                                       1:18.09.7-3.el7                                                                    @docker-ce-stable
Available Packages
docker-ce-selinux.noarch 

3)安裝 docker-ce

yum install docker-ce -y                                        

4)啓動docker服務

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker

5)啓動dockerf服務後默認生成的目錄及文件

[root@localhost ~]# ll /etc/docker/
total 4
-rw------- 1 root root 244 Jul  2 13:16 key.json

6)配置鏡像加速器,將鏡像的下載地址轉向國內的阿里雲

[root@localhost ~]# vim /etc/docker/daemon.json 
{
"registry-mirrors":["https://9916w1ow.mirror.aliyuncs.com"]
}

7)保存配置正在重新動服務

[root@localhost ~]# systemctl restart docker

8)查看docker的鏡像下載地址

[root@localhost ~]# docker info

9)下載鏡像文件

[root@localhost ~]# docker pull jumpserver/jms_all:1.4.8
……
Using default tag: latest
latest: Pulling from jumpserver/jms_all
8ba884070f61: Downloading[===>                                               ]5.389MB/75.4MB                                                                                             
6b54480a4844: Downloading [===>                                               ]  16.62MB/244.6MB
e6e1e1d12d27: Downloading [==>                                                ]    9.1MB/162.5MB
2aaff2cdbbad: Waiting 
3cdd227b7107: Waiting 
3e28c9c2ba8d: Waiting

10)查看鏡像文件是否下載完成

[root@localhost ~]# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
jumpserver/jms_all   1.4.8               e9274ba449e8        3 months ago        1.31GB

2.backend-db端安裝數據庫等配置

1)準備yum源,提供新版本mariadb數據庫安裝yum源

[root@backend-db ~]#yum install centos-release-openstack-rocky.noarch -y 

2)查看mariadb的版本

[root@backend-db ~]# yum list *mariadb*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.jdcloud.com
 * centos-qemu-ev: mirrors.tuna.tsinghua.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
Installed Packages
mariadb.x86_64            3:10.1.20-2.el7            @centos-openstack-rocky
mariadb-common.x86_64             3:10.1.20-2.el7             @centos-openstack-rocky
mariadb-config.x86_64          3:10.1.20-2.el7         @centos-openstack-rocky
mariadb-errmsg.x86_64      3:10.1.20-2.el7    @centos-openstack-rocky
mariadb-libs.x86_64        3:10.1.20-2.el7      @centos-openstack-rocky
mariadb-server.x86_64      3:10.1.20-2.el7     @centos-openstack-rocky
Available Packages
mariadb-bench.x86_64    3:10.1.20-2.el7    centos-openstack-rocky 
mariadb-connect-engine.x86_64      3:10.1.20-2.el7      centos-openstack-rocky 
mariadb-devel.i686    1:5.5.60-1.el7_5         base                   
mariadb-devel.x86_64       3:10.1.20-2.el7     centos-openstack-rocky 
mariadb-embedded.i686        1:5.5.60-1.el7_5       base                   
mariadb-embedded.x86_64     3:10.1.20-2.el7         centos-openstack-rocky 
mariadb-embedded-devel.i686     1:5.5.60-1.el7_5      base                   
mariadb-embedded-devel.x86_64  3:10.1.20-2.el7          centos-openstack-rocky 
mariadb-libs.i686        1:5.5.60-1.el7_5        base                   
mariadb-server-galera.x86_64      3:10.1.20-2.el7       centos-openstack-rocky 
mariadb-test.x86_64    

3)安裝mariadb數據庫

[root@backend-db ~]# yum install mariadb-server -y

4)啓動mysql數據庫並添加創建jumpserver數據庫和添加授權用戶

[root@backend-db ~]# systemctl enable mariadb
[root@backend-db ~]# systemctl start mariadb
 create database jumpserver default charset 'utf8';
grant all on jumpserver.* to 'jumpserver'@'%' identified by 'centos123';

5)安裝redis數據庫

[root@backend-db ~]# yum install redis -y

6)配置redis配置文件

[root@backend-db ~]# vim /etc/redis.conf
……
bind 192.168.1.26 #監聽本機ip地址
……
requirepass centos123 #修改redis的連接密碼
……

7)啓動redis服務

[root@backend-db ~]# systemctl enable redis
[root@backend-db ~]# systemctl start redis

3.在jumpserver管理端啓動jumpserver服務

1)創建映射文件目錄

[root@localhost ~]# mkdir /opt/mysql -pv
[root@localhost ~]# mkdir /opt/jumpserver -pv

2)生成容器隨機祕鑰

 [root@localhost ~]#if [ "$SECRET_KEY" = "" ]; then SECRET_KEY=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 50`; echo "SECRET_KEY=$SECRET_KEY"
 >> ~/.bashrc; echo $SECRET_KEY; else echo $SECRET_KEY; fi
[root@localhost ~]# if [ "$BOOTSTRAP_TOKEN" = "" ]; then BOOTSTRAP_TOKEN=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 16`; 
echo "BOOTSTRAP_TOKEN=$BOOTSTRAP_TOKEN" >> ~/.bashrc; echo $BOOTSTRAP_TOKEN; else echo $BOOTSTRAP_TOKEN; fi

3)填寫jumpserver服務的一些連接參數並啓動此服務

[root@localhost ~]#docker run --name usa -d \  #容器的名稱爲usa
        -v /opt/mysql:/var/lib/mysql \   #將宿主主機/opt/mysql路徑,映射到容器/var/lib/mysql路徑
        -v /opt/jumpserver:/opt/jumpserver/data/media \ #將宿主主機/opt/jumpserver路徑,映射到容器/opt/jumpserver/data/media路徑
        -p 80:80 \   #-p爲端口映射選項,訪問本機80端口時會被映射到容器的80端口,
        -p 2222:2222 \
        -e SECRET_KEY=S5ROTQj9vckA31G8BGBnQEQ2wxcyRQ0MYE40OE7njpJdK1yeap \ #傳遞祕鑰參數
        -e BOOTSTRAP_TOKEN=EL8qi4sLXCTIiVH9 \ #傳遞引導啓動口令參數
        -e DB_HOST=192.168.1.26 \  #傳遞連接mysql數據庫主機
        -e DB_PORT=3306 \  #mysql數據庫端口
        -e DB_USER=jumpserver \    #mysql數據庫中授權的用戶
        -e DB_PASSWORD=centos123 \  #mysql數據庫中用戶密碼
        -e DB_NAME=jumpserver \   #mysql數據庫中創建的數據庫名稱
        -e REDIS_HOST=192.168.1.26 \  #指定連接redis數據庫的主機
        -e REDIS_PORT=6379 \  #redis啓用的端口
        -e REDIS_PASSWORD=centos123 \  #redis數據庫登錄的密碼
        jumpserver/jms_all:1.4.8   #jumpserver服務的版本

4)查看容器服務是否正常啓動

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                      COMMAND             CREATED             STATUS              PORTS                                        NAMES
0eec322a30b3        jumpserver/jms_all:1.4.8   "entrypoint.sh"     4 hours ago         Up About an hour    0.0.0.0:80->80/tcp, 0.0.0.0:2222->2222/tcp   usa

5)查看容器日誌文件是否報錯

[root@localhost ~]# docker logs -f 0eec322a30b3
若出現訪問 ConnectionRefusedError: ……http//127.0.0.1:8080 ….  refused…..報錯
則需要修改docker容器中tomcat的server.xml配置文件
[root@localhost conf]# vim /var/lib/docker/devicemapper/mnt/84d4fd5a5ee81f77b948c8919a2f12c1577d5161a668d2dcbad4425c3d8287d9
/rootfs/config/tomcat8/conf/server.xm     

基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

將defaultHost="localhost"改爲defaultHost="192.168.1.25"
將<Host name=localhost  appBase="webapps"中的改爲name改爲name=192.168.1.25

6)再次查看容器日誌文件是否報錯

[root@localhost ~]# docker logs -f 0eec322a30b3   

基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

7)日誌無報錯即可通過瀏覽器訪問

基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

4.登錄jumpserver服務web端進行虛擬機管理操作

1)登錄admin管理界面
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
2)創建一個develop組
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
3)創建一個用戶curry,將curry添加到develop組裏面,角色爲普通用戶,然後提交
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
4)點擊更新,給curry用戶添加登錄密碼
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
填寫curry用戶密碼然後提交
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

5)用curry賬號登錄
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

進入curry用戶界面

基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
6)創建一個管理用戶(用來管理系統用戶,此用戶必須要有資產虛擬主機的root身份,其中的密碼爲ssh登錄虛擬主機的密碼)
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
7)創建資產(指的是被管理的虛擬主機)
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
填入虛擬主機名、ip地址及管理用戶
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
點擊主機名,進入資產詳情頁面
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
點擊測試,檢測被管理的虛擬主機是否能ping通,如下結果表明測試成功
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
8)創建一個過濾器
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

9)創建一個系統用戶(此用戶名在登錄虛擬主機後會被自動創建,爲虛擬主機登錄的默認普通用戶,非管理員用戶,權限比較小)

基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
10)創建授權規則,將資產添加到develop組中,是的此組中的用戶可以訪問此資產虛擬主機
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
11)登錄curry用戶界面,點擊web終端
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

可以看到被授權的終端虛擬機,點擊虛擬終端即可在命令窗口操作終端
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

12)再設置過濾器
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
點擊規則
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
設置命令過濾禁止規則
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
13)此時再一次登錄curry頁面登錄虛擬主機時,執行這些命令將會被禁止,如下所示
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
14)回到admin的web端,在會話管理下的歷史會話可以打開錄像回放列表,記錄虛擬主機的所有操作過程的錄像
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
15)錄像回放
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
16)再創建一個資產
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
17)在資產授權中將此資產也添加到develop組中
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理
18)登錄curry界面並打開web終端可以看到操作兩臺虛擬主機
基於doucker容器安裝實現jumpserver服務的錄像監控及權限管理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章