MSfree hat geschrieben: 
04.12.2019 09:08:51
Wichtiger wäre mir, alles an eingehendem Verkehr zu blockieren, was nicht absolut notwendig ist und den Adminzugang, typischerweie SSH, nach allen Regeln der Kunst abzusichern, also über Schlüsseldateien
und einen weiteren Faktor. Ich habe bei meinem privaten Router den SSH-Zugang mit Pingknocking geschützt. Erst, wenn man dem Router ein bestimmtes Ping-Paket schickt, öffnet sich der SSH-Port für eine kurze Zeit für die IP-Adresse des Absenders des Pingpakets.
SSH bietet schon so ein Ping Paket wartet auf Port 22 und will als Inhalt username und Passwort haben. (Wenn man mit Keys oder 2FA abrbeitet wirds komplizierter) Was um größenordnungen schwieriger zu erraten ist als irgend welch Ports. – Zumal man die einfach mitschneiden kann, währen SSH das pw verschlüsselt haben will.
Sorry, nein. Ich führe das regelmäßig vor, dass solche Eigenbaulösungen regelmäßig exploitbar sind. (Gerade wenn sie mit DNS-Abfragen und/oder bash Skripten arbeiten. Lieblingsopfer ist da fail to ban.)
Lasst Sicherheit doch die machen, die das können. – Zum Beispiel den OpenSSH-Entwicklern. Da ne Lüke zu finden ist üblicherweise ne ganz andere Kategorie als in irgend welchen reverse-Lookup oder Portöffner Skripten oder ähnlichem. Und solange ihr das nicht vorführt, wie ihr nen aktuellen OpenSSH kaputt machen könnte braucht ihr auch nicht danach fragen wie man jetzt irgend welche Scripte exploited. Am SSH haben sich schon mehr versucht und entsprechend mehr Sicherheit sollte man dem erst mal zugestehen.
Wenn du "lasse nichts unnützes laufen" das einhältst bist du ohne eingehende Firewall sicherer. Denn was nützlich ist musst du in der Firewall eh freischalten. Die Firewall nützt also nichts. Fügt aber einen Zusätzlichen Angriffspunkt hinzu.
Der zusätzliche Schutz durch das Blockieren von ausgehendem Verkehr, bzw. das Beschränken auf IP-Adressen, ist eher marginal. Wenn eine Sicherheitslücke exisiert, wirst du sie kaum durch ein paar zusätzliche Firewallregeln aufhalten.
Das sehe ich anders: Dienste laufen (hoffentlich) nicht als root. Wenn du doch mal ne Lücke hast, ist der Angreifer erst mal mit den Rechten des Dienstes unterwegs. Wenn du dann ein schönes hartes setup hast, das insbesondere auch ausgehenden Verkehr beschränkt (und entsprechende Nutzer/Dienste auch keine bind(machen dürfen)) ist das ziemlich hart für die Malware schaden anzurichten.
Zuerstmal ist der exploit selbst meist sehr klein. Irgend wann muss die Software die eigentlich "nützliche" Malware nachladen. Üblicherweise versucht der das zuerst per wegt oder curl, weil das im System ist, und nicht mitgebracht werden muss. Beschränkt man ausgehende Verbindungen tut das nicht. Damit funktioniert schon mal ein grosteil der exploits nicht. Auf der anderen Seite ist das mehr obscurity. Die Software könnte meist andere Wege finden ihre Daten auszuleiten.
Aber das nächste Porblem ist grundsätzlicher. Es gibt üblicher weise 3 Sorten von exploits
* Ransomware/DOS... Die braucht bei ausreichend harten Beschränkungen für den Nutzer root rechte. Und scheitert daran. – Tut nicht.
* Nutzung von Ressourcen. Vor allem das versenden von Spam-E-Mails und Bitconminer. Die brauchen ausgehende Verbindungen zum Mailserver bzw. Miningpool. – Tut nicht.
* "Diebstahl" von Nutzerdaten. Auch die müssen irgend wie raus. Hast du ne feste Liste von IP-Adressen auf die du connecten darfst, wird das seinen Empfänger nicht finden. Einige VMs bei mir bekommen ihre Uhrzeit vom host und dürfen nur auf den Mirror in Esslingen zugreifen. Daneben kommt man per SSH über nen Proxy drauf, der auch freigeschalten ist. Malwre kann da Daten stehlen wie sie will. – Solange sie nicht den sshd exploitet (und damit root-rechte bekommt) Kann die Daten sammeln wie sie will. Die kann die entweder an meinen Proxy senden oder an den Mirror in Esslingen. Beide werden sich nicht dafür interessieren. Wo es geht machen harte IP-Listen also durchaus Sinn.
Grundsätzlich gilt: Wenn du wirklich eine Ressource Blockst. (Zugang zum Internet. Zugriff auf bestimmte Dateien.) hast du wirklich Sicherheit geschaffen. Sobald du die erste ausnahme machst ist es sinnlos. – Wenn du eine feste IP-Liste hast auf die du dich Verbiden kannst, ist das ein Hindernis. Machst du aber ausgehende Verbindungen auf Port 443 überall hin auf ist die Regel sinnlos. Malware wird die nehmen. Du schaffst dir mit dem Firewalling nur zusätzliche Angriffsfläche. – Einen grundsätzlichen block auf ausgehende Verbindungen auf Port 25 ist dagegen wirksam, weil man Spam-Mails über keinen anderen Port verschicken kann.
Blocken von eingehenden Verbindungen ist sinnlos, solange du es nicht auch für ausgehende machst und umgekehrt.
Und ganz wichtig: Fehlgeschlagene Loginverscuhe sind ein gutes Anzeichen dafür, dass dein System sicher ist. Da versucht es jemand und kommt nicht rein. Erfolgreiche sind ein Problem.