Update Ergebnisse

Marcel Schwarz 2021-02-06 22:19:31 +00:00
parent c4f1894872
commit 4d80790dae

@ -17,16 +17,16 @@ ORDER BY avg_hardening
![platform_hardeningindex](uploads/a12dd0d5e08a8667af829b75d63b3618/platform_hardeningindex.PNG)
Vergleicht man den durchschnittlichen Hardeningindex der Plattformen ist GCP auf dem 1. Platz, Hetzner auf dem 2. und AWS auf dem 3. Platz. Jedoch ist der Unterschied zwischen den Plattformen eher gering, da sich die maximale Differenz (GCP zu AWS) ca. 5 Punkte beträgt. Ebenfalls zu erkennen ist, dass GCP bei Ubuntu 20.04 und Debain 9 den höchsten Hardeningindex der Plattformen erreicht hat.
Vergleicht man den durchschnittlichen Hardeningindex der Plattformen, ist GCP auf dem 1. Platz, Hetzner auf dem 2. und AWS auf dem 3. Platz. Jedoch ist der Unterschied zwischen den Plattformen eher gering, da die maximale Differenz (GCP zu AWS) ca. 5 Punkte beträgt. Ebenfalls zu erkennen ist, dass GCP bei Ubuntu 20.04 und Debain 9 den höchsten Hardeningindex der Plattformen erreicht hat.
![platform_packages](uploads/9af0ce19fe217cf3337e28d5868fde42/platform_packages.PNG)
Neben dem Hardeningindex haben wir auch die Anzahl der installierten Pakete betrachtet, die Liste der Pakete ist Teil des Berichts von Otseca. Bei der durchschnittlichen Anzahl installierter Pakete fällt auf, dass AWS und GCP mit einem Abstand von ca. 12 Paketen nah bei einander liegen, wobei Hetzner mit einem Abstand von ca. 45 Paketen weniger besser Abschneidet. Betrachtet man die Differenz der Pakete pro Image, ist erkennbar, dass Hetzner auf Ubuntu Systemen ca. 100 Pakete weniger benötigt. Bei Debian 9 liegen alle 3 Plattformen verhälltnismäßig nah beieinander.
Neben dem Hardeningindex haben wir auch die Anzahl der installierten Pakete betrachtet. Die Liste der Pakete ist Teil des Berichts von Otseca. Bei der durchschnittlichen Anzahl installierter Pakete fällt auf, dass AWS und GCP mit einem Abstand von ca. 12 Paketen nah beieinander liegen, wobei Hetzner mit einem Abstand von ca. 45 Paketen weniger besser abschneidet. Betrachtet man die Differenz der Pakete pro Image, ist erkennbar, dass Hetzner auf Ubuntu Systemen ca. 100 Pakete weniger benötigt. Bei Debian 9 liegen alle 3 Plattformen verhälltnismäßig nah beieinander.
![platform_ovpn_wp](uploads/a0d8ba0d67841de190706ee26a59ca0c/platform_ovpn_wp.PNG)
Zusätzlich haben wir einen Blick die Images OpenVpn und Wordpress aus dem AWS- und GCP-Marketplace geworfen. Hierbei fällt auf, dass beide Plattformen durchschnittlich nur 1 Punkt auseinander liegen.
Auch wenn der Hardeningindex per Image betrachtet wird ist kein größerer Unterschied erkennbar. Das gleiche gillt auch für die Anzahl installierter Pakete. Durch die von Testssl gewonnenen Informationen, fiel auf, dass das Wordpress SSL Zertifikat von AWS abgelaufen ist. Das von GCP hingegen war gültig.
Zusätzlich haben wir einen Blick die Images OpenVpn und Wordpress aus dem AWS- und GCP-Marketplace geworfen. Hierbei fällt auf, dass beide Plattformen durchschnittlich nur einen Punkt auseinander liegen.
Auch wenn der Hardeningindex per Image betrachtet wird, ist kein größerer Unterschied erkennbar. Das gleiche gillt auch für die Anzahl installierter Pakete. Durch die von Testssl gewonnenen Informationen fiel auf, dass das Wordpress SSL Zertifikat von AWS abgelaufen ist. Das von GCP hingegen war gültig.
![lamp_hardeningindex](uploads/61789ad6b48ea2bd4bea0157e0fe8841/lamp_hardeningindex.PNG)
@ -34,8 +34,8 @@ Des Weiteren haben wir ein Image mit LAMP Stack aufgesetzt und dieses mit einem
### Vergleich von Ubuntu Server Images
Um die Ubuntu Versionen 14.04, 16.04 und 20.04 zu vergleichen haben wir ebenfalls den durchschnittlichen Lynis Hardeningindex betrachtet. Hier ist eine kontinuierliche Verbesserung von insgesamt ca. 10 Punkten erkennbar. Zusätzlich haben wir die Lynis Warnings und Suggestions betrachtet. Hierbei stellen Warnings kritische Funde dar. Suggestions sind Empfehlungen, die das gescannte Element sicherer machen.
Bei den Warnings und Suggestions ist ein Rückgang erkennbar, daraus lässt sich schließen, dass die gescannten Versionen mit fortschreitender Version sicherer werden. Betrachtet man die durchschnittlich installierten Pakete, kann man erkennen, dass die Versionen 14.04 und 16.04 nah bei einander liegen. Die Anzahl ist mit der Version 20.04 um ca. 100 Pakete angestiegen.
Um die Ubuntu Versionen 14.04, 16.04 und 20.04 zu vergleichen, haben wir ebenfalls den durchschnittlichen Lynis Hardeningindex betrachtet. Hier ist eine kontinuierliche Verbesserung von insgesamt ca. 10 Punkten erkennbar. Zusätzlich haben wir die Lynis Warnings und Suggestions betrachtet. Hierbei stellen Warnings kritische Funde dar. Suggestions sind Empfehlungen, die das gescannte Element sicherer machen.
Bei den Warnings und Suggestions ist ein Rückgang erkennbar, daraus lässt sich schließen, dass die gescannten Versionen mit fortschreitender Version sicherer werden. Betrachtet man die durchschnittlich installierten Pakete, kann man erkennen, dass die Versionen 14.04 und 16.04 nah beieinander liegen. Die Anzahl ist mit der Version 20.04 um ca. 100 Pakete angestiegen.
```sql
SELECT r.*, avg(l.hardening_index),avg(l.warning_count), avg(l.suggestion_count)
@ -53,11 +53,11 @@ ORDER BY version
### JShielder - Einfluss auf die Sicherheit der Images
Wie bei allen anderen Auswertungen haben wir uns den Hardeningindex als Merkmal ausgewählt. Hier ist eine durchschnittliche Steigerung nach Ausführung des JShielders um ca. 10 Punkte erkennbar. Ebenfalls fällt auf das JShielder mehrere Pakete installiert (z.B. anti-Malware Programme).
Wie bei allen anderen Auswertungen haben wir uns den Hardeningindex als Merkmal ausgewählt. Hier ist eine durchschnittliche Steigerung nach Ausführung des JShielders um ca. 10 Punkte erkennbar. Ebenfalls fällt auf, dass JShielder mehrere Pakete installiert (z.B. anti-Malware Programme).
![jshielder_hardeningindex](uploads/9e701e1876ab3a3c2d9fc10cd6bd955c/jshielder_hardeningindex.PNG)
Während einem Lynis Scan werden alle durchgeführten Tests in 3 Kategorien eingeordnet. Diese sind optimale Funde, verbesserungswürdige Funde und kritische Funde. Betrachtet man die durchschnittliche Kategorisierung, ist erkennbar, dass Anzahl der optimalen Funde durch JShielder stark ansteigt, sowie die Anzahl an verbesserungswürdigen und kritischen Funden fällt. Ein eher unerwartetes Ergebnis ist die durchschnittliche Anzahl durchgeführter Tests, hier wurden nach dem Update des Images minimal mehr Tests durchgeführt als davor und danach. Die Beobachtung lässt sich vermutlich auf Komponenten zurückführen, welche durch ein Update aktiviert und durch JShielder deaktiviert wurden.
Während einem Lynis Scans werden alle durchgeführten Tests in 3 Kategorien eingeordnet. Diese sind optimale Funde, verbesserungswürdige Funde und kritische Funde. Betrachtet man die durchschnittliche Kategorisierung, ist erkennbar, dass die Anzahl der optimalen Funde durch JShielder stark ansteigt, sowie die Anzahl an verbesserungswürdigen und kritischen Funden fällt. Ein eher unerwartetes Ergebnis ist die durchschnittliche Anzahl durchgeführter Tests. Hier wurden nach dem Update des Images minimal mehr Tests durchgeführt als davor und danach. Die Beobachtung lässt sich vermutlich auf Komponenten zurückführen, welche durch ein Update aktiviert und durch JShielder deaktiviert wurden.
```sql
SELECT r.*,l.round , avg(json_extract(boot_and_services, "$.counts.green") + json_extract(kernel, "$.counts.green") + json_extract(mermory_and_processes, "$.counts.green") + json_extract(user_groups_auth, "$.counts.green") + json_extract(shells, "$.counts.green") + json_extract(file_systems, "$.counts.green") + json_extract(usb_devices, "$.counts.green") + json_extract(storage, "$.counts.green") + json_extract(nfs, "$.counts.green") + json_extract(name_services, "$.counts.green") + json_extract(ports_and_packages, "$.counts.green") + json_extract(networking, "$.counts.green") + json_extract(printers_and_spools, "$.counts.green") + json_extract(software_email, "$.counts.green") + json_extract(software_filewalls, "$.counts.green") + json_extract(software_webserver, "$.counts.green") + json_extract(ssh_support, "$.counts.green") + json_extract(databases, "$.counts.green") + json_extract(php, "$.counts.green") + json_extract(logging_and_files, "$.counts.green") + json_extract(insecure_services, "$.counts.green") + json_extract(scheduled_tasks, "$.counts.green") + json_extract(accounting, "$.counts.green") + json_extract(time_and_sync, "$.counts.green") + json_extract(crypto, "$.counts.green") + json_extract(security_frameworks, "$.counts.green") + json_extract(software_malware, "$.counts.green") + json_extract(file_permissions, "$.counts.green") + json_extract(home_dirs, "$.counts.green") + json_extract(kernel_hardening, "$.counts.green") + json_extract(hardening, "$.counts.green")) AS avg_green, avg(json_extract(boot_and_services, "$.counts.yellow") + json_extract(kernel, "$.counts.yellow") + json_extract(mermory_and_processes, "$.counts.yellow") + json_extract(user_groups_auth, "$.counts.yellow") + json_extract(shells, "$.counts.yellow") + json_extract(file_systems, "$.counts.yellow") + json_extract(usb_devices, "$.counts.yellow") + json_extract(storage, "$.counts.yellow") + json_extract(nfs, "$.counts.yellow") + json_extract(name_services, "$.counts.yellow") + json_extract(ports_and_packages, "$.counts.yellow") + json_extract(networking, "$.counts.yellow") + json_extract(printers_and_spools, "$.counts.yellow") + json_extract(software_email, "$.counts.yellow") + json_extract(software_filewalls, "$.counts.yellow") + json_extract(software_webserver, "$.counts.yellow") + json_extract(ssh_support, "$.counts.yellow") + json_extract(databases, "$.counts.yellow") + json_extract(php, "$.counts.yellow") + json_extract(logging_and_files, "$.counts.yellow") + json_extract(insecure_services, "$.counts.yellow") + json_extract(scheduled_tasks, "$.counts.yellow") + json_extract(accounting, "$.counts.yellow") + json_extract(time_and_sync, "$.counts.yellow") + json_extract(crypto, "$.counts.yellow") + json_extract(security_frameworks, "$.counts.yellow") + json_extract(software_malware, "$.counts.yellow") + json_extract(file_permissions, "$.counts.yellow") + json_extract(home_dirs, "$.counts.yellow") + json_extract(kernel_hardening, "$.counts.yellow") + json_extract(hardening, "$.counts.yellow")) AS avg_yellow, avg(json_extract(boot_and_services, "$.counts.red") + json_extract(kernel, "$.counts.red") + json_extract(mermory_and_processes, "$.counts.red") + json_extract(user_groups_auth, "$.counts.red") + json_extract(shells, "$.counts.red") + json_extract(file_systems, "$.counts.red") + json_extract(usb_devices, "$.counts.red") + json_extract(storage, "$.counts.red") + json_extract(nfs, "$.counts.red") + json_extract(name_services, "$.counts.red") + json_extract(ports_and_packages, "$.counts.red") + json_extract(networking, "$.counts.red") + json_extract(printers_and_spools, "$.counts.red") + json_extract(software_email, "$.counts.red") + json_extract(software_filewalls, "$.counts.red") + json_extract(software_webserver, "$.counts.red") + json_extract(ssh_support, "$.counts.red") + json_extract(databases, "$.counts.red") + json_extract(php, "$.counts.red") + json_extract(logging_and_files, "$.counts.red") + json_extract(insecure_services, "$.counts.red") + json_extract(scheduled_tasks, "$.counts.red") + json_extract(accounting, "$.counts.red") + json_extract(time_and_sync, "$.counts.red") + json_extract(crypto, "$.counts.red") + json_extract(security_frameworks, "$.counts.red") + json_extract(software_malware, "$.counts.red") + json_extract(file_permissions, "$.counts.red") + json_extract(home_dirs, "$.counts.red") + json_extract(kernel_hardening, "$.counts.red") + json_extract(hardening, "$.counts.red")) AS avg_red, avg(l.tests_performed) AS avg_tests_performed
@ -71,7 +71,7 @@ ORDER BY version
![jshielder_tests](uploads/8d297c91d56c773ef49d59dfa5313ca7/jshielder_tests.PNG)
Die Ausschlagskräftigste Kategorie ist Kernel Hardening. Bei dieser Kategorie konnten ca. 10 kritische Funde in optimale Funde umgewandelt werden.
Die aussagekräftigste Kategorie ist Kernel Hardening. Bei dieser Kategorie konnten ca. 10 kritische Funde in optimale Funde umgewandelt werden.
![jshielder_kernel](uploads/5c3a69a5b6db0436eb7ae30533596e7f/jshielder_kernel.PNG)