マシンの管理要塞建てjumperserver百万のサーバー(1)

1 Jumpserver要塞マシンの概要 - 動作環境の展開Jumpserver

ココ取り付けアセンブリ2

3インストールウェブターミナル-luna遠位アセンブリ - コンポーネントの統合nginxのを配置

4 jumpserverプラットフォームシステムの初期化

5戦闘:jumpserverを使用して数十、数千台のサーバーの管理

  展開の準備:

 

飛び石の1.1の概要

踏み台マシンは、保守プロセスでは、サーバー、開発や運用、保守要員が最初にこのサーバにログインを統一して、保守・運用のためのターゲット・デバイスにログオンする必要があります。

誤用に制御し、監査の動作を操作する操作や保守担当者のために実装されていない、プロセスや使用踏み台マシンが表示され、操作はすぐに事故の原因と責任者を見つけることが困難になると発生する乱用事故;:石の短所をステッピング

 

要塞マシン概要:

要塞浸潤および破壊の外部および内部ユーザーからのネットワークデータから保護するために、特定のネットワーク環境で、ある機械、およびリアルタイムネットワーク環境に状態システムの各構成部品を収集し、監視するための様々な技術の使用、セキュリティイベント、ネットワークアクティビティのアラームを集中するために、監査を適時に処理する責任を負います。

要塞のマシンよりリアルタイム、モニターのネットワーク環境、集中警報を収集するために飛び石より。

 Jumpserver概要:

Jumpserverは、インターネット企業のためのオープンソースシステムの開発のためのDjangoの踏み台には、認証、認可、監査、自動化された運用・保守機能を提供し、パイソンを使用することです。

 

jumpserver要塞アセンブリ命令:

1、Jumpserver:

今Jumpserver管理の背景を指し、それはRESTfulなAPIをサポートし、Djangoのクラスベースビュースタイルの開発を使用して、コアコンポーネント(コア)です。

2、ココ:

SSHサーバの実装コンポーネントとWebターミナルサーバーはSSHとのWebSocketインターフェースと使用Paramikoフラスコの開発を提供します。

3、ルナ:

プロジェクトのフロントページで、計画のフロントエンドWebターミナル、である今、JumpserverはHTMLレンダリングなどが背景に責任もはや、APIを提供しません。

1.2展開Jumpserverの動作環境

インストール手順:

サーバー名:K5       IP:10.27.17.42コンテンツ:jumpserverサーバー     

サーバー名:hero3     IP:10.27.17.43内容:jumpserverクライアントリソース、管理サーバ  

サーバーの準備ができて:

上のLinuxシステム「RZ」のアップロードは/ optに頼るのアップロードソフトウェア

ファイアウォールと明確なルールをオフにします

[ルート@ K5オプト]#systemctlの停止firewalld

[ルート@ K5オプトイン]#systemctl無効firewalld

[ルート@ K5オプトイン]#iptablesの-F

閉じるSELINUX

[ルート@ K5オプトイン]#vimのは/ etc / selinuxを/ configに

文字セットを変更します。

[ルート@ K5オプトイン]#localedefを-c -f UTF-8 -i zh_CNにzh_CN.UTF-8
[ルート@ K5オプトイン]#輸出LC_ALL = zh_CN.UTF-8
[ルート@ K5オプトイン]#エコー「LANG = zh_CNに.UTF-8' > /etc/locale.conf

1.3 Pythonの3とPythonの仮想環境をインストールします

(1)、インストール依存性

 

[ルート@ K5〜]#yumを-yのwgetのsqlite-develのXZ gccのautomakeにはzlib-develのopensslの-develのEPELリリースのgitをインストール

 

(2)、コンパイルしpython3.6.1をインストール

 

[ルート@ K5〜]#のCDの/ opt

[ルート@ K5〜]#タールあるxvのPython-3.6.1.tar.xz && CDのPython-3.6.1

[ルート@ K5〜]#./configureを&& -j 4 && make installを作ります

 

(3)仮想Python環境を確立するために、

ヤムと他のツールは、元の環境を乱さないようにするために、我々はPythonの仮想環境を使用し、オリジナルのPython2に依存しながら、CentOSの6/7は、Python2が付属していますので

[ルート@ K5〜]#のCDの/ opt

[ルート@ K5〜]#のpython3 -m venv PY3

[ルート@ K5〜]#ソースは/ opt / PY3 / binに/アクティベート

(PY3)[ルート@ K5〜]の##のハンドオーバ後成功し、フロント識別PY3があります

#成功に代わって次のプロンプトを参照してください、彼らは、次のコマンドの全てが仮想環境で実行され、上記の実行Jumpserverソースコマンドの後に実行する必要があります

1.4インストールJumpserver 1.0.0

1、ダウンロードまたはクローンプロジェクト

方法1:プロジェクトが大きく、よりgitのクローンを提出するときは、zipパッケージをダウンロードするにはGitHubのプロジェクトページに直接移動することを選択できます。

(PY3)[ルート@ K5〜]#のCDは/ opt / jumpserver /#我々はすでにダウンロードしました

注:オンラインダウンロード方法:

方法2:

(PY3)[ルート@ K5〜] #gitクローン--depth = 1 https://github.com/jumpserver/jumpserver.git && CD jumpserver && gitのチェックアウトのマスター

注:深クローンは、最後にクローン化されたコミットすることを1つの意味の深さを指定します

 

インストールパッケージのRPMに依存して2、

(PY3)[ルート@ K5 jumpserver]#のCDは/ opt / jumpserver /要件

(PY3)[K5要件@ルート]#yumを-y $(猫rpm_requirements.txt)をインストール 

 

3、Pythonライブラリの依存関係をインストール

(PY3)[K5要件@ルート]#のCDは/ opt / jumpserver /要件

(PY3)[K5要件@ルート]#ソースは/ opt / PY3 / binに/アクティベート

(PY3)[K5要件@ルート]#ピップ-V

/opt/py3/lib/python3.6/site-packagesからPIP 9.0.1(Pythonの3.6) 

方法1:オフラインインストール:

(PY3)[ルート@ K5のpython-パッケージ]#のCDは/ opt /のpythonパッケージ

(PY3)[ルート@ K5〜]#ピップインストール./*

 

方法2:オンラインインストール:

(PY3)[ルート@ K5〜]#ピップは、-r requirements.txtをインストール 

ピップは、yumのPythonパッケージのインストールと管理ツール、コマンドと同等です

 ここで推奨される方法を選択します

4、Redisのをインストールし、Jumpserverメイク使用Redisのキャッシュとセロリを破りました

(PY3)[K5要件@ルート]#rpmで-ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

(PY3)[K5要件@ルート]#yumの-yのRedisをインストール

(PY3)K5要件@ルート]#はRedisのを有効systemctl。systemctlスタートRedisの

6、データベースを構築し、Jumpserverを承認

(PY3)[ルート@ K5〜]#mysqlの

MariaDBは、[(なし)]は>データベースを作成していないjumpserverデフォルトの文字セット 'UTF8';

MariaDB [(なし)]> jumpserverに全てを付与* '123456' によって識別 'jumpserver'@'127.0.0.1' に。

MariaDB [(なし)]>フラッシュ特権。

7、Jumpserverは、データベース・Jumpserverに接続できるように、設定ファイルを変更します

(PY3)[ルート@ K5〜]#のCDは/ opt / jumpserver

(PY3)[ルート@ K5 jumpserver]#cpはconfig_example.py config.py

(PY3)[ルート@ K5 jumpserver]#vimのconfig.py

レビュー:38-43次のように

#私たちは、デフォルトJumpserverこの設定を使用しているので、それはコンフィグから継承し、DevelopmentConfig構成を変更することを計画します

注:設定ファイルはPythonの形式で、TABを使用するのではなく、スペースを使用しないでください

34 DB_EN​​GINE = 'sqlite3の'
35 DB_NAME = os.path.join(BASE_DIR、 'データ'、 'db.sqlite3')
36
37#MySQLやような設定のPostgres:
38 DB_EN​​GINE = 'MySQLの'
39 DB_HOST = '127.0.0.1'
40 DB_PORT = 3306
41 DB_USER = 'jumpserver'
42 DB_PASSWORD = '123456'
43 DB_NAME = 'jumpserver'

 

図8に示すように、データベーステーブルの構造とデータの初期化を作成します

(PY3)[ルート@ K5 jumpserver]#のCDは/ opt / jumpserver / utilsの

(PY3)[ルート@ K5 utilsの]#bashのmake_migrations.sh#注意、保証はピップは、受注が終了した./*インストールを続行する前、というコマンドを実行する前に。

 

9、のpython3でJumpserver特定の実行環境を実行します

(PY3)[ルート@ K5 utilsの]#ソースは/ opt / PY3 / binに/アクティベート

(PY3)[ルート@ K5 utilsの]#のCDは/ opt / jumpserver

(PY3)[ルート@ K5 jumpserver]#のchmodの+ X JMS

(PY3)[ルート@ K5 jumpserver]#の./jmsは、-dパラメータを使用してバックグラウンドで実行されているすべての-d#を開始

注:./jmsはすべて#フォアグラウンドを開始します

あなたが失敗した場合、このようなエラー:

- 定期的なタスクスケジューラとしてスタートビート

エラー:セロリ開始エラー

停止サービス:gunicorn热

セロリが停止されます

ビートが停止しています

ソリューション:再起動

テスト:

jumpserver要塞マシンテストリンクします。http://10.27.17.62:8080ユーザー:adminパスワード:admin

 

 

 

図2は、搭載アセンブリココを

 

 

 

概要ココ:コココンポーネントはSSHサーバおよびWebターミナルサーバーはSSHを提供し、WebSocketのインターフェース達成し、Paramikoフラスコの開発を使用します。

 

(PY3)[ルート@ K5 jumpserver]#のCDは/ opt /ココ#コードを直接オフライン

(PY3)[ルート@ K5ココ]#ソースは/ opt / PY3 / binに/アクティベート 

方法1:ダウンロード用のコード:#gitのクローンhttps://github.com/jumpserver/coco.git && CDココ&& gitのチェックアウトのマスター

2、インストールココの依存関係、およびメインrpmパッケージパイソン

(PY3)[ルートK5ココ@]#のCDは/ opt /ココ/要件
(PY3)[K5要件@ルート]#yumを-y $(猫rpm_requirements.txt)をインストール 
#ピップインストール[K5要件@ルート](PY3を) -r requirements.txt

注:拡張:requirements.txt#-rピップのダウンロードは、ローカルのpythonにダウンロードパッケージを使用してダウンロードすることができます

3、設定ファイルや実行を見ます

#のCD / OPT /ココ(PY3)K5要件@ルート]
(PY3)[ルート@ K5ココ]#CP conf_example.py conf.py 
(PY3)#1はchmod + X cocod [K5ココ@ルート]        

#jumpserverココとは別に展開した場合は、手動でconf.pyを変更


(PY3)[ルート@ K5ココ ]#./cocod再起動-d# 開始
(PY3)[ルート@ K5ココ ]#netstatの-antup | grepを5000#は、あなたが正常に起動し、この時間は、成功しないだろう、この時間我々は成功するでしょう。

3インストールウェブターミナル-luna遠位アセンブリ - コンポーネントの統合nginxのを配置

ルナ概要:ルナはJumpserverが背景のみHTMLレンダリングなどの責任はもはや、APIを提供し、プロジェクトのフロントページによって計画、今フロントエンドWebターミナルではありません。

アクセス(https://github.com/jumpserver/luna/releases)、直接抽出し、リリースパッケージの対応バージョンをダウンロードし、コンパイルする必要はありません

 解凍ルナ

(PY3)[ルート@ K5〜]#のCDの/ opt

(PY3)[ルート@ K5〜]#タールzxvf luna.tar.gz

(PY3)[ルート@ K5〜]#lsのは/ opt /ルナ

注:ダウンロードオンライン

#wget https://github.com/jumpserver/luna/releases/download/v1.0.0/luna.tar.gz

 

コンポーネントの3.2の設定nginxの統合

インストールはnginxの道をインストールすることを選択し、好みのバージョンに応じて

(PY3)[ルート@ K5 jumpserver]#yumを-y nginxのインストール

準備プロファイルで

(PY3)[ルート@ K5オプトイン]#vimの/etc/nginx/nginx.conf

以下をコメントアウトします。

#server {
72#80 DEFAULT_SERVER聞きます。
73位聞く[::]:80 DEFAULT_SERVERを。
74#SERVER_NAME _;
75#ルートは、/ usr / share / nginxの/ htmlの。
76個の
デフォルトのサーバーのブロックのための77 ##ロードの設定ファイル。
78位/etc/nginx/default.d/*.confを含みます。
79
80#ロケーション/ {
81}#
82
83#error_page 404 /404.html。
84#位置= /40x.html {
85}#
86
87#error_page 500 502 503 504 /50x.html。
88#位置= /50x.html {
89}#
90} ##

次の行を追加します。

サーバー{
    80を聞きます。
 
    proxy_set_header X-のReal-IP $ REMOTE_ADDR。
    proxy_set_headerホスト$ホスト;
    proxy_set_headerのX-転送さ-について$ proxy_add_x_forwarded_for。
 
    位置/ルナ/ {
        try_files $ URI / /index.htmlが。
        エイリアスは/ opt /ルナ/。
    }
 
    位置/メディア/ {
        add_headerコンテンツエンコードGZIP。
        ルートは/ opt / jumpserver /データ/。
    }
 
    位置/静的/ {
        ルートは/ opt / jumpserver /データ/。
    }
 
    位置/socket.io/ {
        proxy_passます。http:// localhostを:5000 / socket.io /;#ココが他のサーバーにインストールしている場合、そのIPアドレスを記入してください
        オフproxy_buffering;
        proxy_http_version 1.1;
        proxy_set_header $ http_upgradeをアップグレード。
        proxy_set_header接続は、「アップグレード」。
    }
 
    位置/ {
        proxy_passます。http:// localhostを:8080;#jumpserverが他のサーバーにインストールしている場合、そのIPアドレスを記入してください
    }
}

nginxのを実行している3.3

(PY3)[ルート@ K5オプトイン]#nginxの-t#検出プロフィール

(PY3)[ルート@ K5 jumpserver]#はnginxの開始systemctl。nginxの有効systemctl

 

3.4ココ登録受け入れ

ログインします。http://10.27.17.62/セッション管理に - 端末管理ココの登録を受け入れます。ポイントは受け入れました。

 

 

 

そして、ページを更新:

(PY3)[ルート@ K5のnginx]#sshの-p2222 [email protected]#パスワード:管理者

 

おすすめ

転載: www.cnblogs.com/gucb/p/12512647.html