Tổng quan về Clair tool.




Clair là một mã nguồn mở dùng để quét các lỗ hổng (vulnerability) và là một tool phân tích tĩnh các image container được phát triển bởi CoreOS.

Clair lấy thông tin lỗ hỗng từ các nguồn khác nhau và lưu vào cơ sở dữ liệu (database )
Clair xuất API cho các client yêu cầu và thực thi quét lỗ hổng. Điều đó cho thấy Clair là một tool "backend-only" , nó không được tích hợp với "frontend" để quét hay các máy quét lỗ hổng.

Có một vài công cụ của bên thứ 3 tích hợp với Clair nhưng quét các image từ terminal như là một phần của việc deploy.

Cài đặt Clair Theo link sau : https://github.com/coreos/clair/blob/master/Documentation/running-clair.md

Và có thể chạy Theo kiều container.

Dưới client ta chạy klar  tool với cấu trúc lệnh như sau:

CLAIR_ADDR=<Clair server URL>  klar <image name to be scanned>
Ví dụ ta cần scan image : python:3 trên server có cái CLAIR server :

CLAIR_ADDR=localhost klar python:3
Nếu Docker image python không có trên host thì nó sẽ tự động pull về và scan image này.

Sau khi scan xong thì output ra sẽ là:
Analysing 9 layers Got results from Clair API v3 Found 488 vulnerabilities Unknown: 22 Negligible: 181 Low: 150 Medium: 113 High: 22 CVE-2017-12424: [High] Found in: shadow [1:4.4-4.1] Fixed By: In shadow before 4.5, the newusers tool could be made to manipulate internal data structures in ways unintended by the authors. Malformed input may lead to crashes (with a buffer overflow or other memory corruption) or other unspecified behaviors. This crosses a privilege boundary in, for example, certain web-hosting environments in which a Control Panel allows an unprivileged user account to create subaccounts. https://security-tracker.debian.org/tracker/CVE-2017-12424

Một số parameter cơ bản khi chạy Klar:

CLAIR_OUTPUT: là tham số set severity cho các lỗi bảo mật như : Medium , thì output ra severity sẽ là Medium trở lên

JSON_OUTPUT = True : output ra sẽ là dạng json. 

WHITELIST_FILE: xuất ra file yaml 

DOCKER_USER / DOCKER_PASSWORD / DOCKER_TOKEN: là các tham số kết nối với registry để pull image về

Klar: https://github.com/optiopay/klar


Nhận xét

Bài đăng phổ biến từ blog này

Cách sử dụng sys.argv trong python.

Trang web medium.com chết, vì sao ?

Thiết kế một RESTful API bằng python và flask.