こんにちは。FutureVuls開発の和田です。
今回のアップデートでFutureVulsのスキャナがWindowsマシンへのリモートスキャンに対応しました。
スキャンの実行方法などについて解説していきます。
Windows用OpenSSHについての一次情報は、Microsoftが公開しているドキュメント
を参考にしてください。
WindowsでのSSH Serverの有効化
スタートメニューの[アプリと機能]-[オプション機能の管理]-[機能の追加]でOpenSSHサーバーを洗濯して[インストール]をクリックします。
インストール後、管理者権限でpowershellを起動してコマンドからOpenSSHサーバーを起動します。
1 | PS C:\WINDOWS\system32> New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\Git\bin\bash.exe" -PropertyType String -Force |
次にOpenSSHサーバーを立ち上げた後の公開鍵認証の設定方法について解説します。
公開鍵認証の有効化
C:\Windows\System32\OpenSSH
の中にsshd_config
というファイルを作成してください。
ファイルの内容は同ディレクトリのsshd_config_default
をコピーします。
ファイルの内容のうち、PubkeyAuthentication yes
と書かれている行のコメントアウトを外します。
その後Restart-Service sshd
を実行し、sshdを再起動します。
クライアントで認証キーを作成する
以下のコマンドを実行して公開鍵と秘密鍵を作成します。mykeyの部分は自身で管理しやすい名前をつけてください。$ ssh-keygen -t rsa -f mykey
作成した公開鍵をサーバに配置するために以下のコマンドを実行します。$ scp mykey.pub ユーザ名@ホスト名もしくはip:
これでSSHサーバに公開鍵が配置されます。
すでにSSHサーバに~/.ssh/authorized_keys
がある場合、mykey.pubの内容を書き込みます。$ cat mykey.pub >> ~/.ssh/authorized_keys
ない場合は以下のコマンドを実行します$ mv mykey.pub ~/.ssh/authorized_keys
ここまでで公開鍵認証の設定は完了しました。ログインコマンドを実行してパスワードを聞かれずにログインが成功すればOKです。$ ssh -i 秘密鍵のパス ユーザ名@ホスト名もしくはip
リモートスキャンを使ってみる
リモートスキャンを実行するために、C:\Program Files\vuls-saas\config.toml
に、設定情報を追加します。
1 | #リモートスキャンの設定情報 |
設定情報を書き込んだ後、以下のコマンドを実行してリモートスキャンを行います。C:\Program Files\vuls-saas\vuls-saas.bat
実行後、FutureVulsのコンソールにサーバが登録され、スキャン結果が登録されていればリモートスキャンが成功しています。
注意事項
現在Windowsマシンからのリモートスキャンは、スキャナインストール時に設定されるタスクスケジューラからの実行に対応しておりません。
よって、C:\Program Files\vuls-saas\config.toml
に設定情報を記述したままであると、タスクスケジューラの定期実行が失敗し、他のマシンのスキャン結果のアップロードも失敗することになります。
Windowsマシンからのリモートスキャンの手動実行後は、config.tomlから該当マシンの設定情報を削除していただきますようお願いします。