Sto cercando di trovare un buon metodo per rafforzare un server e consentire la gestione remota automatizzata tramite ssh (ansible).
La scelta popolare è accedere con un utente normale e quindi utilizzare sudo, ma questo ha alcuni problemi:
-
sudo senza password : questo è un no-no. È come se tu lo permettessi accesso diretto a root.
-
Sudo con password in un file da qualche parte . Non mi piace l'idea, scrivere la password in un file apre un mondo di possibili attacchi.
Poi ho visto alcune persone suggerire consentire il login root tramite ssh ma solo da localhost . A prima vista sembra una buona idea, ma dopo un po 'di riflessione non è una buona idea. Una volta che un utente malintenzionato entra in qualsiasi account nella macchina, può attaccare ssh di root come se lo facesse da remoto. È come mettere un secondo lucchetto su una porta blindata. Ci vorrà più tempo per l'attaccante per romperlo, ma non sarà più difficile.
Può persino renderlo più facile perché la superficie di attacco è maggiore. Se si utilizza SSH Agent Forwarding per immettere root tramite un utente normale, un utente malintenzionato potrebbe modificare gli script di accesso dell'utente per utilizzare l'autenticazione inoltrata per ottenere root e quindi ripristinare gli script di accesso e pulire i registri in modo che l'utente non abbia idea di cosa è successo .
Che cosa suggeriresti?