Proteggere un'area pubblica dal pubblico

5

Siamo a circa un mese dal lancio di un sito abbastanza importante, che viene fornito con una console di amministrazione per aiutarci a gestire il sito.

Ora non sono molto interessato a lasciare l'amministratore allo scoperto per chiunque "abbia una brutta esperienza" - come fanno grandi siti come ebay, facebook etc a gestire questo tipo di cose? Sono sicuro che hanno qualche forma di console di amministrazione per gestire varie cose in tutto il sito, ma sono sicuro che sia bloccato in qualche modo.

Come si può proteggere un amministratore in modo che solo le persone specifiche possano accedervi? Non sto parlando di protezione password (ovviamente è già protetta da password), ma sto parlando di proteggere la pagina di accesso in modo che nessun altro possa effettivamente accedere alla pagina.

Penso di aver letto qualcosa per un po 'di tempo in merito all'uso di un certificato SSL per consentire solo determinati IP? Poco difficile da quello dato che molte persone hanno IP dinamici. : (

Qualche idea!?

    
posta Brett 10.02.2013 - 18:42
fonte

6 risposte

5

Ho affrontato la stessa situazione, o hai solo permesso l'accesso alla console da determinati IP e poi hardcode tutti gli IP pubblici o intervalli che dovrebbero avere accesso ad esso. O limitare l'accesso a un determinato intervallo LAN e consentire solo l'accesso da lì. È quindi possibile impostare una soluzione VPN e fornire a tutte le persone che hanno bisogno di accedere al pannello di amministrazione l'accesso alla VPN. Le persone dovranno prima autenticarsi sulla VPN e solo allora potranno accedere al pannello di amministrazione (che ha un altro accesso). In questo modo le persone possono comunque accedere al pannello di amministrazione da qualsiasi luogo (nel caso stiano lavorando da casa) ma non è raggiungibile per tutti.

Penso che potrebbe essere una buona idea implementare l'autenticazione a due fattori (ma dipende da te decidere).

Suggerisco anche di leggere questa domanda che ho postato qualche tempo fa sulla sicurezza dei pannelli di amministrazione: Bruteforce vs Denial of Service

    
risposta data 10.02.2013 - 19:03
fonte
4

Per i siti seri, il problema più grande non è l'esistenza di un percorso verso una console di amministrazione, ma la possibilità di compromissione dovuta al sistema desktop dell'amministratore per essere infetta da malware. Entrambi i problemi possono essere risolti contemporaneamente applicando l'accesso amministratore solo a sistemi specifici dedicati che si trovano sul posto. Ciò evita tutti i problemi che possono derivare dall'idea di consentire agli amministratori di agire da qualsiasi luogo, ad es. da casa o da un laptop mentre è in vacanza. Ovviamente, questo significa che gli amministratori di sistema in servizio devono essere pronti per andare a lavorare in qualsiasi momento (o, meglio ancora, essere già lì, sono pronto a credere che ad Ebay abbiano sempre un amministratore di sistema sul sito).

Per le reti più povere, è ancora possibile applicare metodi di accesso senza password (SSH con autenticazione a chiave pubblica, RDP con un certificato client ...) che evita almeno l'attività terribile delle politiche relative alle password.

    
risposta data 11.02.2013 - 00:04
fonte
2

Nascondi l'interfaccia di amministrazione dietro l'autenticazione crittografica. Puoi farlo in diversi modi:

  • A livello di server Web, richiede SSL con un certificato client verificato
  • Esporre il servizio di amministrazione solo su un indirizzo IP privato accessibile solo tramite una VPN
  • Esporre il servizio solo su "localhost" e accedervi utilizzando il port forwarding SSH.
  • Richiede l'autenticazione a 2 fattori nell'app di amministrazione stessa.
  • Alcune combinazioni di quanto sopra.
risposta data 10.02.2013 - 19:24
fonte
2

Dipende da quanto impegno sei disposto a spendere per proteggere l'area dell'amministratore.

  • Un approccio semplice ma efficace consiste nell'utilizzare un URL crittografico per accedere all'area di amministrazione. Qualcosa come un hash (ad esempio "u59sOgpDJa ~ M" anziché semplicemente "admin") o simili che cambia regolarmente. In questo modo un utente malintenzionato non può farlo direttamente perché non conosce l'indirizzo e deve prima cercarlo.

  • Inoltre, è necessario limitare il numero di tentativi di accesso non riusciti. È molto importante quindi un attacco di forza bruta non può essere eseguito facilmente. Ad esempio, bloccare l'indirizzo IP per alcune ore dopo un paio di accessi non riusciti. Puoi utilizzare Fail2ban , DenyHosts , OSSEC , ecc. oppure puoi implementare il tuo. Inoltre, è possibile aggiungere un ritardo tra ogni risposta di tentativo di accesso, ad esempio pochi secondi che gli utenti non notano, ma rallenta significativamente i robot.

risposta data 10.02.2013 - 19:02
fonte
2

Non mi raccomando di usare l'autenticazione vpn o SSH, ovviamente sarebbe sicuro, ma cercherò di concentrarmi sulla protezione di un solo portale web:

  1. consente a ciascun nome utente di accedere solo da un intervallo di IP predefinito o da un singolo IP statico. se l'utente ha un ip dinamico non mantiene il suo accesso aperto a tutti gli intervalli IP, sai che utilizzerà sempre il range IP del suo ISP per tutto il tempo.

  2. non usare un nome ovvio, come domain.com/admin , prova a farlo sembrare qualcos'altro, come domain.com/betazone400 o meglio domain.com/SquirrelMail

  3. aggiungi un certificato SSL e assicurati che gli utenti confermino che stanno inserendo la password solo dopo aver verificato che il certificato SSL sia valido, e verificando che stiano utilizzando lo stesso domain.com ortografia . un utente che immette la sua password per sbaglio da qualche altra parte potrebbe essere un enorme problema di sicurezza.

  4. usa nomi utente oscuri, sia nomi utente che password dovrebbero essere di caratteri casuali. la maggior parte delle persone proverà a fare bruteforce con nomi utente come admin .

  5. il numero limite dei tentativi di accesso conta per evitare la bruteforcing e modifica i nomi utente e le password dei nomi utente provati, (se l'utente malintenzionato utilizza nomi utente corretti).

  6. dovresti registrare tutti i tentativi di accesso non riusciti, la registrazione di password errate come testo non crittografato nel database potrebbe essere dannosa, quindi registra tutto il resto. (Registra indirizzi IP e nomi utente di tentativi di accesso non validi)

risposta data 10.02.2013 - 19:49
fonte
1

Penso che la soluzione che prevede l'accesso VPN sia la migliore. È possibile limitare l'accesso a questa interfaccia a 2-3 ip e reequire gli amministratori a vpn attraverso uno di quei server. Eviterei di usare solo una VPN in quanto potrebbe andare giù per qualche motivo. Inoltre è possibile incorporare una soluzione smartcard per la VPN e in questo caso si dispone dell'autenticazione a 2 fattori. non dimenticare di disabilitare qualsiasi accesso non https.

    
risposta data 10.02.2013 - 19:22
fonte

Leggi altre domande sui tag