Ich habe eine Serverumgebung, für die die einzige Anmeldemethode SSH oder ein lokales Terminal im Datencenter wäre. Ich habe dies so eingerichtet, dass sich ein bestimmter Benutzer nur mit einem Schlüssel anmelden kann, nicht mit einem Passwort (explizit deaktiviert). Dieser Benutzer hat auch kein Passwort gesetzt.
Aufgrund der Dinge, die dieser Benutzer auf dem Server ausführen muss, habe ich den passwortfreien Sudo-Zugriff gewährt (in der Sudoers-Datei):
username ALL=(ALL) NOPASSWD: ALL
Natürlich kann dies ein Sicherheitsrisiko sein. Ich muss sicherstellen, dass sich der Benutzer nicht über SSH unter Verwendung unserer streng bewachten SSH-Schlüssel auf dem Server anmelden kann. Alle SSH-Anmeldungen sind äußerst gut geschützt und auch an eine bestimmte IP-Adresse gebunden, so dass sie zusammen mit der schlüsselbasierten Anmeldung sicher sind (wie es sein kann). Ich möchte die Möglichkeit der Anmeldung über unser Rechenzentrum ausschließen, um sicherzustellen, dass sich der Benutzer nicht von dort aus anmelden kann und nur SSH.
Wie verhindere ich diese nicht autorisierten Zugriffsversuche?
Antworten:
Sie können ein Kennwort für den Benutzer festlegen, das aus über 30 zufälligen Zeichen besteht (einige sind fast nicht einzugeben), um Nicht-SSH-Anmeldungen zu verhindern.
Dies hindert den Benutzer jedoch nicht daran, das Kennwort über SSH zu ändern und dann das Datencenterterminal für den direkten Zugriff zu verwenden.
quelle
Ich habe immer eine bessere Lösung gefunden, den Passwort-Hash (in / etc / shadow) auf einen ungültigen Wert zu setzen. Normalerweise verwende ich die Zeichenfolge %% NP %%. Dadurch wird die Kennwortauthentifizierung für diesen Benutzer effektiv deaktiviert, und jede Art von Brute-Force-Cracking des Kennworts wird verhindert. Da keine Eingaben in den Passwort-Hash-Algorithmus jemals mit dem Hash in der Schattendatei übereinstimmen, ist dies äußerst sicher.
Unter Linux können Sie statt (oder zusätzlich) zu den obigen Parametern Zugriffssteuerungsparameter in /etc/security/access.conf festlegen. Es gibt mehrere Beispiele in dieser Datei, die Ihnen das geben sollten, was Sie brauchen. Ein Nachteil bei diesem Ansatz ist, dass Sie root ganz einfach daran hindern können, sich über die Konsole anzumelden. Dies ist im Notfall eine sehr schlechte Idee.
quelle