
目次
このドキュメントの情報は、Syhunt Hybridバージョン 7.1.6に適用されます。
はじめに
Syhunt Hybrid バージョン7.1.6以降では、Windows、Linux、Macマシンで利用できる堅牢なWebユーザーインターフェース(Web UI)が搭載されています。

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によって異なります)
powershell Start-Process cmd -ArgumentList '/k "cd /d \"%ProgramFiles%\Syhunt Hybrid\""' -Verb runAs
2. ユーザーアカウントを設定
(1)管理者パスワードを生成・設定をするには、次のコマンドを実行する
scancore -pwdgen:admin
(2)生成されたパスワードを保存する。
(後でログインするときに必要になります)
(3)追加でアカウント設定をするには、次のコマンドを実行する。★
scancore -pwdgen:someusername
(4)Web UIで別の言語に切り替える場合は、以下のコマンドを実行する。★
scancore -langset:CODE
3. サーバーを実行する
(1)Linux または Mac の場合:
syservicereg を実行すると、Web UIサービスがインストールされます。
(2)Windows の場合:
Windowsを再起動すると、Web UIが立ち上がります。
再起動したくない場合は、管理者として以下を実行ください。
scansched -restart
4. Web UI にアクセスしログインする
http://127.0.0.1:8017/syhunt/ へログインします。
Syhunt REST APIも使用できるようになります。
ログインでは以下を使用します。
・ユーザー名: admin
・パスワード: 生成されたパスワード。
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. パスワードポリシーについて
セキュリティ強化とコンプライアンス確保のために、Syhunt 7.1では厳格なWeb UIパスワードポリシーを導入しています。
- パスワードの最小文字数
(1)管理者以外のアカウント: 最低16文字
(2)管理者アカウント: 最低26文字
- パスワードの再利用制限
(1)管理者アカウント: 過去24回のパスワードを再利用することはできません
(2)管理者以外のアカウント: 過去10個のパスワードを再利用することはできません
- パスワードの複雑さの要件
(1)ユーザー名やフルネームの一部を含めることはできません
(2)少なくとも以下のものを含めること
・大文字1文字(A~Z)
・小文字1文字(az)
・1桁の数字(0~9)
・1つの非アルファベット文字(例:@、#、$、%)
- パスワードには以下を含んではいないこと
(1)3つ以上の連続した同一文字(例:AAA)
(2)3 つの連続する昇順または降順の文字 (例: 123、321、ABC、CBA)
これらの強化されたセキュリティ対策により、Syhunt 7.1は業界標準の準拠を維持しながら、パスワード関連の脅威に対する保護を強化しています。新しいパスワードを設定する際には、上記の要件が遵守されます。アップグレード後、ログイン時に以前に設定したパスワードにこれらのパターンのいずれかが見つかった場合は、パスワードをリセットください。
パスワード生成を簡素化するために、Syhunt 7.1 ではscancore コマンドに「-pwdgen:[username]」パラメータが追加されています。これにより、安全に生成・設定されたパスワードを出力できるようになりましたが、「-pwdset 」パラメータを使用することで、手動で入力することもできます。
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 をインストールする。
sudo apt install nginx
sudo yum install nginx
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)リポジトリへの直接接続はサポートされていません。