Update README

This commit is contained in:
kota kanbe
2017-08-23 14:34:03 +09:00
parent 551fdd5022
commit 187598382b
3 changed files with 90 additions and 67 deletions

View File

@@ -8,7 +8,8 @@
Vulnerability scanner for Linux/FreeBSD, agentless, written in golang.
[README in English](https://github.com/future-architect/vuls/blob/master/README.md)
Slackチームは[こちらから](http://goo.gl/forms/xm5KFo35tu)参加できます。(日本語でオッケーです)
Slackチームは[こちらから](http://goo.gl/forms/xm5KFo35tu)参加できます。(日本語でオッケーです)
Twitter: 日本語: [@vuls_ja](https://twitter.com/vuls_ja), 英語: [@vuls_en](https://twitter.com/vuls_en)
![Vuls-Abstract](img/vuls-abstract.png)
@@ -46,21 +47,21 @@ Vulsは上に挙げた手動運用での課題を解決するツールであり
# Main Features
- Linuxサーバに存在する脆弱性をスキャン
- Ubuntu, Debian, CentOS, Amazon Linux, RHEL, Raspbianに対応
- サーバに存在する脆弱性をスキャン
- FreeBSD, Ubuntu, Debian, CentOS, Amazon Linux, RHEL, Raspbianに対応
- クラウド、オンプレミス、Docker
- 高精度なスキャン
   - Vulsは複数の脆弱性データベース、複数の検知方法を組み合わせることで高精度なスキャンを実現している
       - OVAL
- Vulsは複数の脆弱性データベース、複数の検知方法を組み合わせることで高精度なスキャンを実現している
- OVAL
- RHSA/ALAS/ELSA/FreeBSD-SA
- Changelog
- FastスキャンとDeepスキャン
- Fastスキャン
- root権限必要なし
- スキャン対象サーバの負荷ほぼなし
- スキャン対象サーバがインターネットに接続していなくてもスキャンできる
   - Deepスキャン
       - Changelogの差分を取得し、そこに書かれているCVE-IDを検知
- インターネットに接続していない環境でもスキャン可能 (RedHat, CentOS, OracleLinux, Ubuntu, Debian)
- Deepスキャン
- Changelogの差分を取得し、そこに書かれているCVE-IDを検知
- スキャン対象サーバに負荷がかかる場合がある
- リモートスキャンとローカルスキャン
- リモートスキャン
@@ -224,9 +225,16 @@ The binary was built under `$GOPATH/bin`
今回はCentOSがスキャン対象なので、RedHatが公開しているOVAL情報を取り込む. [README](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-redhat)
```bash
$ goval-dictionary fetch-redhat 5 6 7
$ goval-dictionary fetch-redhat 7
```
今回はスキャン対象がCentOS 7なので、RedHat 7のOVALを取得している。
他の種類のOSをスキャンする場合は以下を参照し、スキャン対象用のOVALを取得しておくこと
- [RedHat, CentOS](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-redhat)
- [Debian](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-debian)
- [Ubuntu](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-ubuntu)
- [Oracle Linux](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-oracle)
## Step5. Deploy Vuls
新規にターミナルを起動し、先ほど作成したEC2にSSH接続する。
@@ -447,9 +455,9 @@ ubuntu ubuntu16.04 30 updatable packages
## Step6. Reporting
See [Tutorial: Local Scan Mode#Step8. Reporting](#step8-reporting)
See [Tutorial: Local Scan Mode#Step9. TUI](#step9-tui)
See [Tutorial: Local Scan Mode#Step10. Web UI](#step10-web-ui)
See [Tutorial: Local Scan Mode#Step9. Reporting](#step9-reporting)
See [Tutorial: Local Scan Mode#Step10. TUI](#step10-tui)
See [Tutorial: Local Scan Mode#Step11. Web UI](#step11-web-ui)
----
@@ -467,42 +475,45 @@ Vulsをスキャン対象サーバにデプロイする。Vulsはローカルホ
![Vuls-Architecture Local Scan Mode](img/vuls-architecture-localscan.png)
[詳細](#example-scan-via-shell-instead-of-ssh)
## [go-cve-dictionary](https://github.com/kotakanbe/go-cve-dictionary)
- NVDとJVN(日本語)から脆弱性データベースを取得し、SQLite3に格納する。
-----
## Fast Scan and Deep Scan
## Vuls
### Fast Scan
![Vuls-Scan-Flow](img/vuls-scan-flow-fast.png)
- Root権限不要でスキャン可能なモードRaspbian以外
- OVALが提供されているディストリビューションは、スキャン時はパッケージのバージョンを取得するのみ。レポート時にOVAL DBとバージョン比較により脆弱性を検知する
- OVALが提供されいていないディストリビューションはスキャン時にコマンドを発行して脆弱性を検知する
| Distribution| Scan Speed | Root Privilege | OVAL |
|:------------|:-------------------|:---------------|:-----|
| CentOS | 速い |  不要 | 有 |
| Amazon | 速い |  不要 | 無 |
| RHEL | 速い |  不要 | 有 |
| Oracle | 速い |  不要 | 有 |
| FreeBSD | 速い |  不要 | 無 |
| Ubuntu | 速い |  不要 | 有 |
| Debian | 速い |  不要 | 有 |
| Raspbian | 初回は遅い / 2回目以降速い |  必要 | 無 |
| Distribution| Scan Speed | Need Root Privilege | OVAL | Need Internet Access <br>on scan tareget|
|:------------|:--------------------------------------:|:-------------------:|:----------:|:---------------------------------------:|
| CentOS | Fast |  No | Supported | No |
| RHEL | Fast |  No | Supported | No |
| Oracle | Fast |  No | Supported | No |
| Ubuntu | Fast |  No | Supported | No |
| Debian | Fast |  No | Supported | No |
| FreeBSD | Fast |  No | No | Need |
| Amazon | Fast |  No | No | Need |
| Raspbian |1st time: Slow <br> From 2nd time: Fast | Need | No | Need |
----
### Deep Scan
![Vuls-Scan-Flow](img/vuls-scan-flow.png)
- Root権限が必要なコマンドも発行し、より深いスキャンを行うモード
- ChangelogをパースしてCVE-IDを検知するのでFastよりも検知漏れが減る
| Distribution| Scan Speed | Root Privilege | OVAL |
|:------------|:-------------------|:---------------|:-----|
| CentOS | 遅い |  不要 | 有 |
| Amazon | 遅い |  不要 | 無 |
| RHEL | 遅い |  必要 | 有 |
| Oracle | 遅い |  必要 | 有 |
| Ubuntu | 初回は遅い / 2回目以降速い |  必要 | 有 |
| Debian | 初回は遅い / 2回目以降速い |  必要 | 有 |
| Raspbian | 初回は遅い / 2回目以降速い |  必要 | |
| FreeBSD | 速い |  不要 | 無 |
| Distribution| Scan Speed | Need Root Privilege | OVAL | Need Internet Access <br>on scan tareget|
|:------------|:-------------------------------------:|:-------------------------:|:---------:|:---------------------------------------:|
| CentOS | Slow |  No | Supported | Need |
| RHEL | Slow |  Need | Supported | Need |
| Oracle | Slow |  Need | Supported | Need |
| Ubuntu |1st time: Slow <br> From 2nd time: Fast| Need | Supported | Need |
| Debian |1st time: Slow <br> From 2nd time: Fast| Need | Supported | Need |
| FreeBSD | Fast |  No | No | Need |
| Amazon | Slow |  No | No | Need |
| Raspbian |1st time: Slow <br> From 2nd time: Fast| Need | No | Need |
- Ubuntu, Debian, Raspbian
`apt-get changelog`でアップデート対象のパッケージのチェンジログを取得し、含まれるCVE IDをパースする。
@@ -541,7 +552,7 @@ web/app server in the same configuration under the load balancer
| CentOS | 6, 7|
| Amazon Linux| All|
| FreeBSD | 10, 11|
| Raspbian | Wheezy, Jessie |
| Raspbian | Jessie, Stretch |
----

View File

@@ -8,9 +8,9 @@
![Vuls-logo](img/vuls_logo.png)
Vulnerability scanner for Linux/FreeBSD, agentless, written in golang.
Vulnerability scanner for Linux/FreeBSD, agentless, written in golang.
We have a slack team. [Join slack team](http://goo.gl/forms/xm5KFo35tu)
Twitter: [@vuls_en](https://twitter.com/vuls_en)
[README 日本語](https://github.com/future-architect/vuls/blob/master/README.ja.md)
[README in French](https://github.com/future-architect/vuls/blob/master/README.fr.md)
@@ -52,7 +52,7 @@ Vuls is a tool created to solve the problems listed above. It has the following
# Main Features
- Scan for any vulnerabilities in Linux/FreeBSD Server
- Supports Ubuntu, Debian, CentOS, Amazon Linux, RHEL, Oracle Linux, FreeBSD and Raspbian
- Supports FreeBSD, Ubuntu, Debian, CentOS, Amazon Linux, RHEL, Oracle Linux and Raspbian
- Cloud, on-premise, Docker
- High quality scan
- Vuls uses Multiple vulnerability databases
@@ -62,6 +62,7 @@ Vuls is a tool created to solve the problems listed above. It has the following
- Fast scan and Deep scan
- Fast Scan
- Scan without root privilege
- Scan with No internet access. (RedHat, CentOS, OracleLinux, Ubuntu, Debian)
- Almost no load on the scan target server
- Deep Scan
- Scan with root privilege
@@ -231,9 +232,15 @@ If the installation process stops halfway, try increasing the instance type of E
Then fetch OVAL data of RedHat since the server to be scanned is CentOS. [README](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-redhat)
```bash
$ goval-dictionary fetch-redhat 5 6 7
$ goval-dictionary fetch-redhat 7
```
If you want to scan other than CentOS 7, fetch OVAL data according to the OS type and version of scan target server in advance.
- [RedHat, CentOS](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-redhat)
- [Debian](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-debian)
- [Ubuntu](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-ubuntu)
- [Oracle Linux](https://github.com/kotakanbe/goval-dictionary#usage-fetch-oval-data-from-oracle)
## Step5. Deploy Vuls
Launch a new terminal and SSH to the ec2 instance.
@@ -450,9 +457,9 @@ ubuntu ubuntu16.04 30 updatable packages
## Step6. Reporting
See [Tutorial: Local Scan Mode#Step8. Reporting](#step8-reporting)
See [Tutorial: Local Scan Mode#Step9. TUI](#step9-tui)
See [Tutorial: Local Scan Mode#Step10. Web UI](#step10-web-ui)
See [Tutorial: Local Scan Mode#Step9. Reporting](#step9-reporting)
See [Tutorial: Local Scan Mode#Step10. TUI](#step10-tui)
See [Tutorial: Local Scan Mode#Step11. Web UI](#step11-web-ui)
----
@@ -476,38 +483,43 @@ On the aggregation server, you can refer to the scanning result of each scan tar
![Vuls-Architecture Local Scan Mode](img/vuls-architecture-localscan.png)
[Details](#example-scan-via-shell-instead-of-ssh)
## [go-cve-dictionary](https://github.com/kotakanbe/go-cve-dictionary)
- Fetch vulnerability information from NVD and JVN(Japanese), then insert into SQLite3, MySQL, PostgreSQL or Redis.
----
## Fast Scan and Deep Scan
## Vuls
### Fast Scan
![Vuls-Scan-Flow](img/vuls-scan-flow-fast.png)
- Scan without Root Privilege
- Scan with No internet access on some OS.
| Distribution| Scan Speed | Root Privilege | OVAL |
|:------------|:-------------------|:---------------|:-----|
| CentOS | Fast |  No | Yes |
| Amazon | Fast |  No | No |
| RHEL | Fast |  No | Yes |
| Oracle | Fast |  No | Yes |
| FreeBSD | Fast |  No | No |
| Ubuntu | Fast |  No | Yes |
| Debian | Fast |  No | Yes |
| Raspbian |First time: Slow / From the second time: Fast|  Yes | No |
| Distribution| Scan Speed | Need Root Privilege | OVAL | Need Internet Access <br>on scan tareget|
|:------------|:--------------------------------------:|:-------------------:|:----------:|:---------------------------------------:|
| CentOS | Fast |  No | Supported | No |
| RHEL | Fast |  No | Supported | No |
| Oracle | Fast |  No | Supported | No |
| Ubuntu | Fast |  No | Supported | No |
| Debian | Fast |  No | Supported | No |
| Raspbian |1st time: Slow <br> From 2nd time: Fast | Need | No | Need |
| FreeBSD | Fast |  No | No | Need |
| Amazon | Fast |  No | No | Need |
---------
### Deep Scan
![Vuls-Scan-Flow](img/vuls-scan-flow.png)
| Distribution| Scan Speed | Root Privilege | OVAL |
|:------------|:-------------------|:---------------|:-----|
| CentOS | Slow |  No | Yes|
| Amazon | Slow |  No | No|
| RHEL | Slow |  Yes| Yes|
| Oracle | Slow |  Yes| Yes|
| Ubuntu |First time: Slow / From the second time: Fast|  Yes| Yes|
| Debian |First time: Slow / From the second time: Fast|  Yes| Yes|
| Raspbian |First time: Slow / From the second time: Fast|  Yes| No |
| FreeBSD | Fast |  No | No|
| Distribution| Scan Speed | Need Root Privilege | OVAL | Need Internet Access <br>on scan tareget|
|:------------|:-------------------------------------:|:-------------------------:|:---------:|:---------------------------------------:|
| CentOS | Slow |  No | Supported | Need |
| RHEL | Slow |  Need | Supported | Need |
| Oracle | Slow |  Need | Supported | Need |
| Ubuntu |1st time: Slow <br> From 2nd time: Fast| Need | Supported | Need |
| Debian |1st time: Slow <br> From 2nd time: Fast| Need | Supported | Need |
| Raspbian |1st time: Slow <br> From 2nd time: Fast| Need | No | Need |
| FreeBSD | Fast |  No | No | Need |
| Amazon | Slow |  No | No | Need |
- On Ubuntu, Debian and Raspbian
Vuls issues `apt-get changelog` for each upgradable packages and parse the changelog.
@@ -551,7 +563,7 @@ If there is a staging environment with the same configuration as the production
| CentOS | 6, 7|
| Amazon Linux | All|
| FreeBSD | 10, 11|
| Raspbian | Wheezy, Jessie |
| Raspbian | Jessie, Stretch |
----

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 123 KiB