{"id":4409,"date":"2026-09-07T07:00:37","date_gmt":"2026-09-07T05:00:37","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=4409"},"modified":"2026-09-05T08:54:33","modified_gmt":"2026-09-05T06:54:33","slug":"rhel-cve-monitor-fuer-arme-admins","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/rhel-cve-monitor-fuer-arme-admins\/","title":{"rendered":"RHEL CVE Monitor f\u00fcr arme Admins"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>User Story:<\/em> Als RHEL-Systemadministrator:in m\u00f6chte ich f\u00fcr einige ausgew\u00e4hlte Kompontenten, wie z.B. <code>kernel<\/code>, <code>openssl<\/code> oder <code>samba<\/code>, \u00fcber neue CVE f\u00fcr diese Komponenten informiert werden. Leider steht mir dazu keine Schwachstellenmanagementl\u00f6sung zur Verf\u00fcgung. Einen Red Hat Satellite Server habe ich nicht und den Vulnerability Service in der Hybrid Cloud Console kann bzw. darf ich nicht nutzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Transparenzhinweis:<\/em> Ich arbeite als <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/was-tut-ein-technical-account-manager-tam-bei-red-hat\/\" data-type=\"post\" data-id=\"3723\">TAM<\/a> f\u00fcr Red Hat. Die im Folgenden vorgestellte Anwendung habe ich als Open-Source-Projekt unter <a href=\"https:\/\/de.wikipedia.org\/wiki\/MIT-Lizenz\">MIT-Lizenz<\/a> ver\u00f6ffentlicht. Es steht in keiner offiziellen Verbindung zu Red Hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">RHEL CVE Monitor\u00a0ist ein Python-Tool, das die <a href=\"https:\/\/docs.redhat.com\/en\/documentation\/red_hat_security_data_api\/1.0\/html\/red_hat_security_data_api\/index\" target=\"_blank\" rel=\"noopener\">Red Hat Security Data API<\/a>\u00a0regelm\u00e4\u00dfig abfragt und\u00a0neue Sicherheitsl\u00fccken (CVEs)\u00a0f\u00fcr eine konfigurierbare Liste von RHEL-Paketen meldet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die zu \u00fcberwachenden Pakete werden in\u00a0<code>packages.txt<\/code>\u00a0festgelegt (z.\u202fB.\u00a0<code>kernel<\/code>,\u00a0<code>openssl<\/code>,\u00a0<code>samba<\/code>, <code>rear<\/code>). Beim ersten Lauf werden CVEs der letzten 30 Tage ausgegeben; danach zeigt das Tool nur noch\u00a0neue\u00a0Eintr\u00e4ge seit dem letzten erfolgreichen Durchlauf. Bereits gemeldete CVEs werden in einer lokalen Zustandsdatei (<code>.cve_monitor_state.json<\/code>) gespeichert, damit nichts doppelt erscheint.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Ausgabe kann als Text, JSON oder CSV erfolgen und eignet sich f\u00fcr manuelle Pr\u00fcfungen, Cron-Jobs oder systemd-Timer. Mit&nbsp;<code>--exit-code<\/code>&nbsp;l\u00e4sst sich das Tool auch in CI\/CD-Pipelines einbinden, die bei neuen CVEs alarmieren sollen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie benutzt man das?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Der folgende Code-Block zeigt die CVE im RHEL-<code>kernel<\/code> der letzten 5 Tage:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;host.example.com rhel_cve_monitor]$ python3 rhel_cve_monitor.py --initial-days 4\n=== kernel (1 new CVE) ===\n  CVE-2026-80725       important    2026-08-29  https:\/\/access.redhat.com\/security\/cve\/CVE-2026-80725\n\nTotal: 1 new CVE across 1 package<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Die Ausgabe ist bewusst spartanisch gehalten. Man erh\u00e4lt lediglich die CVE-Nummer, die Severity, das Erscheinungsdatum und die URL zur <a href=\"https:\/\/access.redhat.com\/security\/security-updates\/cve\">Red Hat CVE Datenbank<\/a>, wo man weitere Informationen zur Schwachstelle findet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verf\u00fcgbare CLI-Optionen findet man in der Hilfe:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;host.example.com rhel_cve_monitor]$ python3 rhel_cve_monitor.py --help\nusage: rhel_cve_monitor.py &#91;-h] &#91;--packages PACKAGES]\n                           &#91;--state-file STATE_FILE]\n                           &#91;--initial-days INITIAL_DAYS] &#91;--output OUTPUT]\n                           &#91;--exit-code] &#91;--verbose] &#91;--dry-run]\n                           &#91;--format {text,json,csv}]\n                           &#91;--reset-packages PACKAGE &#91;PACKAGE ...]]\n                           &#91;--reset-after YYYY-MM-DD]\n\nMonitor Red Hat Security Data API for new CVEs affecting given RHEL packages.\n\noptions:\n  -h, --help            show this help message and exit\n  --packages PACKAGES   Path to file with one package name per line (default:\n                        packages.txt)\n  --state-file STATE_FILE\n                        Path to state file tracking last run time (default:\n                        .cve_monitor_state.json)\n  --initial-days INITIAL_DAYS\n                        On first run (no state file), look back this many days\n                        (default: 30)\n  --output OUTPUT       Optional file path to write the report to (in addition\n                        to stdout)\n  --exit-code           Exit with code 2 when new CVEs are found (useful for\n                        CI\/automation)\n  --verbose, -v         Enable verbose logging\n  --dry-run             Preview what would be queried without hitting the API\n  --format {text,json,csv}\n                        Output format: text (default), json, or csv\n  --reset-packages PACKAGE &#91;PACKAGE ...]\n                        Clear seen-CVE state for these packages (use 'all' for\n                        every package) and exit\n  --reset-after YYYY-MM-DD\n                        When resetting, also set last_run to this date so next\n                        run queries from here<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Mehr kann die kleine Anwendung nicht.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Und wo gibt es das?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Unter der URL: <a href=\"https:\/\/github.com\/Tronde\/rhel_cve_monitor\">https:\/\/github.com\/Tronde\/rhel_cve_monitor<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Das englischsprachige <code>README<\/code> enth\u00e4lt weitere Beispiele und Hinweise zur Nutzung.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Falls ihr diese kleine Anwendung n\u00fctzlich findet, freue ich mich, wenn ihr mir hier im Blog einen Kommentar hinterlasst und eure Erfahrung weiterverbreitet. Wenn ihr Fehler findet oder Verbesserungsvorschl\u00e4ge habt, meldet diese bitte im GitHub-Issue-Tracker des Projekts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>User Story: Als RHEL-Systemadministrator:in m\u00f6chte ich f\u00fcr einige ausgew\u00e4hlte Kompontenten, wie z.B. kernel, openssl oder samba, \u00fcber neue CVE f\u00fcr diese Komponenten informiert werden. Leider steht mir dazu keine Schwachstellenmanagementl\u00f6sung zur Verf\u00fcgung. Einen Red Hat Satellite Server habe ich nicht und den Vulnerability Service in der Hybrid Cloud Console kann bzw. darf ich nicht nutzen.<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/rhel-cve-monitor-fuer-arme-admins\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"standard","_metis_text_length":3826,"_post_count":0,"footnotes":""},"categories":[95],"tags":[579,627,938],"class_list":["post-4409","post","type-post","status-publish","format-standard","hentry","category-security-2","tag-cve","tag-red-hat-cve-database","tag-red-hat-security-data-api"],"public_identification_id":"dec03d33e3c64e36b365079cef184570","private_identification_id":"6f9baeb0968d43959a5e1fa2c1cc1c1e","_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/4409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=4409"}],"version-history":[{"count":1,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/4409\/revisions"}],"predecessor-version":[{"id":4410,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/4409\/revisions\/4410"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=4409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=4409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=4409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}