つらつらと
体系だってあれこれ考えた話じゃないのですが、後日またやらかしそう(今回またやらかした)話をメモっておこうと思います。
Vulsを走らせるOSのメモリは2Gじゃ足りない
以下のようにあるのですが、、
https://vuls.io/docs/en/tutorial-vulsctl-docker.html
gostでubuntuのデータをsqlite3で格納するあたりでとんでもなく重たくなりました。
メモリの利用率がかなりたかどまりしており。
仮想化環境の条件も違いはしますが、4G割当している環境ではそういうストレスは特にありませんでした。
流石に2Gはやめておきますか、、
脆弱性情報収集時はhttpも開ける
ログ上はhttpsでアクセスしているように表示されるが、裏では多数のURLにアクセスしており、その中にはhttpでのアクセスもある。
config-test.sh
単純にconfig.tomlの文法チェックをするだけでなく、リモアク先にアクセスしてみて、取得対象として指定しているdockerコンテナがあるかなどを見てくれる。
dockerコンテナ(動作しているもの)のスキャン
スキャンすると、ホストOS側と、コンテナ側の両方がスキャンされる。
コンテナだけにすることもできる。
https://vuls.io/docs/en/usage-scan.html#to-scan-containers-only-docker-host-will-not-be-scanned
ホストとコンテナを両方スキャンしても、結果は明瞭に別れている。
# cat ./config.toml
[servers]
[servers.remotehost]
host = "10.0.0.65"
user = "user"
port = "22"
#keyPath = "/root/.ssh/id_ed25519"
scanMode = ["fast"]
[servers.httpd]
host = "10.0.0.65"
user = "user"
keyPath = "/root/.ssh/id_ed25519"
containerType = "docker"
containersIncluded = ["httpd"]
# ls ./results/2024-05-25T01-19-01+0000/
httpd.json httpd@httpd.json remotehost.json
コンテナ名とコンフィグ上でのサーバ呼称が両方httpdになっているのでわかりにくいですが、本体とコンテナで別々のjsonに分かれるので、区分けは簡単です。
CPEスキャン
$ cat ./config.toml
[servers]
[servers.cpe]
type = "pseudo"
cpeNames = [
"cpe:/o:fortinet:fortios:4.3.0",
"cpe:/a:python:python:3.8.5",
]
XXX.jsonも、他のケースと変わらず。
cpeURIsという要素が増えるが、これはconfig.tomlに書いたものがそのまま表示されているだけで、該当の脆弱性がヒットするcpe一覧などを表示してくれているわけではない。