Perché non esiste un'opzione per la password sudo separata?

1

Questo mi ha infastidito per alcuni anni. Avevo un piccolo server web e ho usato ssh per accedere da remoto. Ho notato che dal primo giorno c'erano attacchi di forza bruta alla mia ssh.

Questo mi ha fatto pensare alla sicurezza e mi sono reso conto che se un sistema ha utenti in sudoer, un attacco ssh riuscito a tale account utente viene immediatamente terminato. Perché non esiste un'opzione per impostare una password diversa per sudo? Non posso essere la prima persona a pensarci, vero?

    
posta tst 06.06.2017 - 16:03
fonte

2 risposte

4

Innanzitutto, non tutti gli attacchi richiedono di conoscere la password. Molti attacchi contro servizi (o demoni) prendono di mira vulnerabilità nel codice e terminano nell'esecuzione di codice per conto di un utente senza conoscere la password. In tal caso, la configurazione predefinita sudo aggiunge sicurezza richiedendo la conoscenza della password.

Un altro esempio in un ambiente multiutente è quando un utente lascia il suo terminale incustodito (tu e io sappiamo che è cattivo e non lo facciamo mai da soli, ma ...) un utente malintenzionato può eseguire comandi per conto dell'utente ma non posso ancora usare sudo .

Infine, mentre parli di ssh , l'uso comune è di usare solo una chiave (RSA) per l'autenticazione dell'utente. In questo modo, la connessione ssh non utilizza mai la password, che viene utilizzata solo per una connessione locale diretta o per ottenere l'accesso root tramite sudo . Può anche essere forzato disabilitando l'uso della password in sshd configuration. Nel caso di un server remoto, la password dell'utente locale viene effettivamente utilizzata solo per ottenere l'accesso root.

Ma la vera risposta alla tua domanda è l'opzione esiste ! Il file /etc/sudoers può essere utilizzato per dichiarare il flag booleano rootpw . Se questo flag è impostato, la password deve essere la password per root invece della password per l'utente corrente.

Se sudoers contiene la riga:

Defaults rootpw

quindi ti verrà chiesta la password di root. Questo flag è disattivato per impostazione predefinita e viene utilizzato raramente perché non è realmente sudo philosophy ma su one: se conosci la password per root, puoi utilizzare direttamente su bypassando tutti i controlli aggiuntivi sudo .

sudo è davvero un comando molto versatile, e dovresti davvero leggere man sudoers

    
risposta data 06.06.2017 - 16:53
fonte
2

Questo è semplice.

  1. Puoi limitare chi può sudo attraverso l'uso del file sudoers.
  2. devi SEMPRE impostare il tuo ssh in modo che accetti solo le connessioni chiave pubblica / privata (usa un file chiave!)
  3. una password diversa offrirebbe 0 sicurezza aggiuntiva, dato che è altrettanto facile fare cose cattive per recuperarlo non appena si ottiene l'accesso dell'utente. (in pratica ti concedi la password)
  4. La maggior parte dei server SSH ha una qualche forma di protezione a forza bruta sul posto. limitando la quantità di tentativi ottenuti da qualsiasi IP. Quando questo è sul posto, la possibilità di indovinare realmente la password è piuttosto limitata.
  5. quasi tutti questi tentativi sono script e vogliono provare a utilizzare altri mezzi per elevare il permesso rispetto a una password.

La soluzione per l'utilizzo di una password diversa infastidirà solo l'utente legittimo del sistema e offrirà una barriera minima o nulla per un utente malintenzionato. Meglio usare la password degli utenti e spero che tu ne imposti una lunga (come 4096 bit lunghi o così ......)

    
risposta data 06.06.2017 - 16:14
fonte

Leggi altre domande sui tag