Eine Webserver VM mit Debian, erreichbar von Außen auf port 80 und 443. - Alle anderen Ports sind via WAN/SUBNET gesperrt. Auch hier Administation via SSH nur über VPN im LAN - Gute idee?
Prinzipiell schon. Jeder Port der von extern nicht sichtbar ist, ist ein gespartes Sicherheitsrisiko + du musst dich nicht um Bots o.ä. kümmern die periodisch versuchen, Server aufzuspüren oder tumbe SkriptKiddies die alte Security Lücken ausprobieren.
Eine eigene VM für Datenbank-Gedönse, womit ich wirklich sehr sehr viel arbeite, nur erreichbar über LAN, u.a. vom Webserver. Hat erst gar keine PublicIP bzw Subnet IP, nur mit dem LAN netz verbunden - Gute idee?
Private IP, nur abgehendes NAT für Updates via HTTP/S etc. und gut ist. Was von WAN nicht erreichbar ist, ist gut. Wenn mans super-extra-secure bauen will, könnte man intern noch private VLANs einführen und nur im VLAN DMZ bspw. das Interface einhängen, das dann per 1:1 NAT o.ä. via extern erreichbar ist und der VM dann noch eine zweite NIC im zweiten VLAN für "intern only" Geräte geben. So oder so: kommt jemand über irgendwelche Wege auf einen der Public available Server, kommt er - wenn von da aus bspw. die DB benötigt wird - auch weiter auf die DB. Zumindest mit dem Zugang für die Applikation die auf dem Webserver konfiguriert ist.
Es ist halt so, das es meiner meinung nach genug Server(-Administratoren) im WWW gibt, die sich ein Dreck um die Sicherheit kümmern, geschweige denn, sich überhaupt Gedanken drüber machen. Server offen wie eine alte Scheune..
Das ist leider wahr bzw. sind es oft keine Admins und Co. sondern Chefs/IT Entscheider, die nur auf den Preis achten, billig billig möchten und dann denken, dass es mit "1x klicken, Server erstellt, 1x klicken Control Panel installieren" getan ist. Dass beide Komponenten (Server wie CP) aktualisiert werden und verstanden werden müssen, ist den wenigsten klar - bis es knallt. Meist hört man dann oder danach noch "machs wieder so wies war, hat die letzten 5 Jahre ja auch gehalten, wird dann auch wieder ein paar Jahre halten". So ists aber eben nicht, das Internet wird immer mehr zur Gefahrenzone und das hört eben nicht auf, sondern nimmt eher zu!
Das möchte ich gerne so gut es nur geht vermeiden. Ich mein klar, ich betreibe einige Webseiten und muss daher schon mal 2 Ports öffnen - jeder offene Port ist ja quasi ein sicherheitsrisiko? oder sehe ich das falsch?
Siehst du pontentiell richtig, aber nur 2 Ports für 80/443 zu öffnen ist schon ein sehr guter Ansatz. Ein zweiter ist es, eine vorgeschaltete Firewall zu verwenden anstatt das auf der gleichen Maschine abzuwickeln. Insofern bist du da wohl schon sicherer als roundabout 80% der Default-Server-Kunden bei Hetzner und Co. ;)
Würde gerne mal hören was ihr dazu sagt, bzw ob ihr mir noch ein paar weitere Tips geben könnt. Villeicht gibts ja noch den einen oder anderen Kniff.
Ich denke du hast den Großteil da schon verstanden:
Management via VPN um unnötigen Dienste zu exponieren
Nur Ports öffnen die unbedingt nötig sind
Firewall vorschalten/vorfiltern
Im Bereich hinter der Firewall ggf. notwendige (V)LAN(s) definieren und VM Interfaces in die richtigen Zonen packen
Hypervisor absichern (WAN/externer Zugriff abschalten, Zugriff via VPN bauen)
Damit ist "von außen sichtbar" eigentlich nur noch deine 2. IP auf der pfSense bzw. die IPs des Zusatznetzes. Die 1. IP des Hypervisors ist abgeschaltet und auf allen anderen IPs ist nur freigegeben (Web Ports) was sein muss.
Wichtig: Wenn du tatsächlich mal von außen SSH (bspw. für SFTP o.ä.) oder andere Dienste freigeben musst, weil das bspw. für eine Anbindung o.ä. notwendig ist, dann versuche solche Dinge auf bestimmte IPs oder Netze zu beschränken (Source != any), dann holst du dir an der Stelle auch keine sehr viel größere Angriffsfläche mit ins Boot.
Grüße Jens