Syhunt
  1. HOME
  2. -BLOG
  3. -Syhunt WEB UI版について

Syhunt WEB UI版について

公開日:技術ドキュメント

このドキュメントの情報は、Syhunt Hybridバージョン 7.1.6に適用されます。



はじめに​


Syhunt Hybrid バージョン7.1.6以降では、Windows、Linux、Macマシンで利用できる堅牢なWebユーザーインターフェース(Web UI)が搭載されています。

webui

Web UI版では、以下の機能をご利用いただけます。

  • DAST、SAST、MASTスキャンの起動
  • スキャンの結果表示(GUI、CLI、REST API、スケジューラー経由のスキャンを含む)
  • レポートの生成とエクスポート
  • ユーザー・ユーザー権限・アクティブセッションの管理
  • コンソールコマンドの実行 など

※現在、英語・ドイツ語・スペイン語・フランス語・イタリア語・日本語・韓国語・ポルトガル語の8言語に対応。

また、Web UI版では、堅牢なWebサーバーである Openresty (Nginx + Lua) 上に構築されており、パスワードハッシュに高い係数を持つBcryptを使用し、セッションIDを安全に生成し、ブルートフォースに対するログイン保護を実装しています。





1. Web UI版を有効にする手順​




1. コマンドプロンプトまたはターミナルを開き、Syhunt CLIの場所へ移動
(デフォルトの場所はOSによって異なります)

  • Linuxの場合:cd ${HOME}/syhunt-hybrid/carbon/
  • macOSの場合:cd "/Applications/Syhunt Hybrid/carbon"
  • Windowsの場合:Web UI版を有効にする手順(Windowsの場合)

(1)Windowsのスタートメニューを開く
(2)検索ボックスに「command」と入力
(3)「Command Prompt」を右クリックし「Run as administrator(管理者として実行)」をクリック
(4)コマンドを入力:cd /d "%ProgramFiles%\Syhunt Hybrid\"




2. ユーザーアカウントを設定

(1)管理者パスワードを生成・設定をするには、次のコマンドを実行する

管理者パスワードを生成・設定
scancore -pwdgen:admin

(2)生成されたパスワードを保存する。
(後でログインするときに必要になります)




3. サーバーを起動する

(1)Linux または Mac の場合:
syservicereg を実行し、続いてwebui_utils --sslenableを実行します。
するとWeb UIサービスがインストールされ、起動します。

(2)Windows の場合:
Windowsを再起動すると、Web UIが立ち上がります。
再起動したくない場合は、管理者として以下の通りscansched -restartを実行ください。

サーバーを起動する


4. Web UI にアクセスしログインする

(1)http://127.0.0.1:8017/syhunt/ へログインする
Syhunt REST APIも使用できるようになります。

(2)ユーザー名と生成されたパスワード情報を入力する

サーバーを起動する

(3)「サインイン」ボタンをクリック





2. 追加の手順と注意事項​


  • LinuxまたはMac:SASTおよびMASTを実行する場合、必ずHybrid Plus拡張機能を有効にしてください。
  • Alma Linux:Web UIが正常に起動しない場合、SELinuxを永続的に無効化する必要ががあります。
    以下コマンドを実行ください。
コマンド
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config && sudo reboot
  • Windowsでは、管理者パスワードを設定すると、Hybrid Schedulerが起動するたびにWeb UIが起動します。
  • 上記により現在のユーザーがログアウトしてもWeb UIは引き続き実行されます。
  • Linuxでは、Syhunt Web UIサービスを使用することで同様の動作が利用できます。




3. 追加でアカウント作成する場合​


追加でアカウント設定をするには、次のコマンドを実行ください

scancore -pwdgen:someusername




4. 別の言語に切り替える場合​


Web UIで別の言語に切り替える場合は、以下のコマンドを実行ください。

scancore -langset:CODE

【対応言語とコード名】

CODE言語
EN英語
DEドイツ語
ESスペイン語
FRフランス語
ITイタリア語
JP日本語
KR韓国語
PTポルトガル語




3. パスワードポリシーについて​


パスワードポリシーについては、以下の別記事で詳しく紹介しています。
そちらの記事をご参照ください。

【関連記事】 「新しいパスワードポリシーについて(WEBUI版)」





4. ユーザーロールの設定について​


管理者は各ユーザーに対して以下の4つのロールを設定することができます。(任意)

役割 内容    
管理者・すべてのスキャンの実行と結果の表示
・ユーザー権限の設定や編集
・コンソールコマンドの実行
(現在、管理者アカウントは1つだけとなります)
オペレーターすべてのスキャンを開始し結果を表示
制限付きオペレータースキャンはできますが、自分が開始したスキャンの結果のみが見れます
閲覧者すべてのスキャンの結果を見れますが、スキャン自体をかけることはできません




5. Web UIの公開について​


Syhunt Web UIサーバーについては、事前に設定済みでSyhuntのアップグレードごとに更新がされるため、設定変更は推奨しておりません。

Web UIをインターネットまたはイントラネットに公開する場合には、SSLを有効にしたリバースNginxプロキシを設定することをお勧めします。使用する「certificate.crt」と「private.key」を生成する必要があります。(以下の手順は、既に証明書が用意されていることが前提となります)



  • Windowsの場合:

(1)「Windows用 Nginx」をダウンロード: http://nginx.org/en/download.html

(2)以下「Nginx nginx.conf」の設定変更を適用します。




  • Linuxの場合:

(1)Nginx をインストールする。

Ubuntuの場合
sudo apt install nginx
CentOS 7の場合
sudo yum install nginx 
CentOS 8の場合
sudo dnf install nginx  



(2)Nginx設定ファイルを編集

sudo nano /etc/nginx/nginx.conf  

 ・次の行をコメント化します

include /etc/nginx/conf.d/*.conf;およびinclude /etc/nginx/sites-enabled/*;  

 ・http セクションに以下を含めてください。

server { 
listen 80;
server_name _;
return 301 https://$host$request_uri;
}

server {
listen 443 ssl;
server_name _;

ssl_certificate /etc/ssl/certificate.crt;
ssl_certificate_key /etc/ssl/certificate.key;

location / {
return 301 https://$host/syhunt/;
}

location /syhunt/ {
proxy_pass http://127.0.0.1:8017;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}


(3)変更を保存したら、以下の通り新しい設定をテストをする

nginx -t


(4)ローカルからポート8017へのトラフィックと、ポート443への着信トラフィックを許可

【Ubuntuの場合】
・sudo ufw allow from 127.0.0.1 to any port 8017
・sudo ufw allow 443


【CentOS の場合】
・ sudo firewall-cmd --zone=public --add-port=443/tcp
・ sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="127.0.0.1" port port=8017 protocol=tcp accept'
・ sudo firewall-cmd --reload



(4)以下でNginxサーバーを再起動する
systemctl restart nginx





6. ヒント​


MacOSについて
スキャン スケジューラ画面に表示される時刻がオペレーティングシステムの時刻と一致しない場合は、以下のコマンドを実行し修正ください。

sudo /usr/sbin/systemsetup -settimezone "Europe/Lisbon"

(Europe/Lisbon を自分のゾーンに置き換えてください)





7. その他制限事項​


  • LinuxまたはMacでは、Web UIで起動したコードスキャンは、公開GITリポジトリのみを対象とします。
  • プライベートリポジトリを対象にする場合には、リポジトリの認証情報またはSSHキーを設定した後、scancode CLIコマンドを使ってスキャンを行います。
  • LinuxまたはMacマシンでは、GIT以外のAzure(TFS)リポジトリへの直接接続はサポートされていません。