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)リポジトリへの直接接続はサポートされていません。