Jumpserver介紹
一.跳板機的定義
跳板機就是一臺服務器,開發或運維人員在維護過程中首先要統一登錄到這臺服務器,然後再登錄到目標設備進行維護和操作:
二.跳板機缺點
沒有實現對運維人員操作行爲的控制和審計,使用跳板機的過程中還是會出現誤操作、遠規
操作導致的事故,一旦出現操作事故很難快速定位到原因和責任人;
三.堡壘機的定義
堡壘機,即在一個特定的網絡環境下,爲了保障網絡和數據丌受來自外部和內部用戶的***和破壞,而運用各種技術手段實時收集和監控網絡環境中每一個組成部分的系統狀態、安全事件、網絡活勱,以便集中報警、及時處理及審計定責。
總結:堡壘機比跳板機多了實時收集、監控網絡環境、集中報警等功能
四.Jumpserver 概述
Jumpserver 是一款使用 Python, Django 開發的開源跳板機系統, 爲虧聯網企業提供了認證,授權,審計,自動化運維等功能。
五.Jumpserver的功能:
1、用戶組/用戶 :添加組方便迚行授權,用戶是授權和登陸的主體.
2、資產組/資產/IDC : 主機信息簡潔完整,用戶自定義備註登錄,支持自勱獲取主頁硬件信息.
3、Sudo/系統用戶/授權規則 :支持 sudo 授權,系統用戶用亍登陸客戶端,授權是將用戶、資產和系統用戶關聯起來.
4、在線/登錄歷叱/命令記錄/上傳下載 : 在線實時監控用戶操作,統計和錄像回放用戶操作內容,阻斷控制,詳細記錄上傳下載.
5、上傳/下載 : 支持文件上傳下載,實現 rzsz 方式.
6、默認設置 : 默認管理用戶 設置包括用戶密碼密鑰,默認信息爲了方便添加資產而設計
環境準備
一.系統環境
1.IP:192.168.1.154
2.centos7.6
#cat /etc/redhat-release (查看centos版本)
#uname -r(查看操作系統發行版號)
二.關閉SELINUX和防火牆
1. systemctl stop firewalld.service(關閉防火牆)
2. setenforce 0(關閉selinux)
或者vim /etc/selinux/config(將SELINUX=enforcing修改爲 SELINUX=disabled)
-
getenforce(查看selinux運行狀態)
4.修改字符集,否則可能報 input/output error的問題,因爲日誌裏打印了中文
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 echo 'LANG=zh_CN.UTF-8' > /etc/sysconfig/i18n
三.準備Python3和Python虛擬環境
1.安裝依賴包
yum -y install wget sqlite-devel xz gcc automake zlib-devel openssl-devel epel-release git
2.編譯安裝(這裏必須執行編譯安裝,否則在安裝 Python 庫依賴時會有麻煩)
①cd /usr/local/src/
②wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
③tar xvf Python-3.6.1.tar.xz
④cd Python-3.6.1
⑤./configure && make && make install
3.建立Python虛擬環境
因爲CentOS 6/7自帶的是Python2,而Yum等工具依賴原來的Python,爲了不擾亂原來的環境我們來使用Python虛擬環境
cd /opt/
python3 -m venv py3
source /opt/py3/bin/activate
看到上面的提示符代表成功,以後運行Jumpserver都要先運行以上source命令,以下所有命令均在該虛擬環境中運行!
安裝Jumpserver1.0.0
一.下載項目
1.下載鏈接https://pan.baidu.com/s/1BVYRF7M-akKjUOoYZPBi7Q (提取密碼:v5rs)
將安裝包上傳到MobaXterm
2. 解壓jumpserver包需要用rar解壓
①下載rar unrar: wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
②解壓: tar -xzvf rarlinux-x64-5.3.0.tar.gz -C /usr/local
③然後執行以下命令(/usr/local/rar下就會有rar命令和unrar命令。可以在/usr/local/bin下創建連接)
ln -s /usr/local/rar/rar /usr/local/bin/rar
ln -s /usr/local/rar/unrar /usr/local/bin/unrar
3.解壓jumpserver:rar x jumpserver.rar -C /opt
二.安裝依賴rpm包
cd /opt
cd jumpserver/requirements
yum -y install epel-release
yum -y install $(cat rpm_requirements.txt)
三.安裝python庫依賴
1. pip install -r requirements.txt
curl https://bootstrap.pypa.io/get-pip.py | python
2.安裝Redis, Jumpserver 使用 Redis 做 cache(電腦高速緩衝存儲器) 和 celery broke(python異步的分佈式任務調度)
yum -y install redis
systemctl start redis(開啓)
四.安裝MySQL
1.yum -y install mariadb mariadb-devel mariadb-server
systemctl enable mariadb(開機自啓動)
systemctl start mariadb(開啓)
systemctl status mariadb(狀態)
2.設置mysql密碼,比如密碼設置爲123
mysql_secure_installation
......
Set root password? [Y/n] y
New password: //比如密碼是123
Re-enter new password:
...... //其他項全部回車默認
五.創建數據庫Jumpserver並授權
mysql -p123
create database jumpserver default charset 'utf8';
grant all on jumpserver.* to 'jumpserver'@'127.0.0.1' identified by 'jumpserver@123';
flush privileges;
show databases;
六.安裝 python3 my
sql驅動: mysqlclient
由於MySQLdb庫不支持 python3.5+,所以選擇了mysqlclient作爲驅動,pymysql使用python寫的,速度較慢
pip install mysqlclient
七.複製jumpserver配置文件
計劃修改 DevelopmentConfig中的配置,因爲默認jumpserver是使用該配置,它繼承自Config
cd /opt/jumpserver
cp config_example.py config.py
八.生成數據庫表結構和初始化數據
cd /opt/jumpserver/utils
bash make_migrations.sh(執行腳本)
出現如上信息,即表示操作成功!
九.運行jumpserver
cd /opt/jumpserver
python run_server.py &
運行不報錯,請瀏覽器訪問 http://192.168.10.210:8080/ 賬號: admin 密碼: admin