L'htaccess è abbastanza sicuro per autorizzare gli IP dei client?

2

Sto utilizzando .htaccess per controllare l'IP di origine delle connessioni alla mia applicazione web. La mia configurazione sembra più o meno così:

order deny,allow

deny from all

allow from X.Y.Z.Q

In questi giorni possiamo fidarci sempre meno di cose, ogni giorno si scopre che una tecnica comunemente usata è vulnerabile. Così ho iniziato a pormi delle domande:

  1. Questo metodo è davvero efficace e salva?
  2. Devo utilizzare un meccanismo aggiuntivo per proteggere meglio la mia app Web?

Sto usando Apache 2.2.24 e PHP 5.4.17 in modalità Fast-CGI.

Grazie in anticipo!

    
posta boleslaw.smialy 10.01.2014 - 10:52
fonte

1 risposta

2

Questo metodo è sufficiente per proteggere contro Apache che serve questa directory, ma un errore di configurazione può disabilitare questo:

  • Se la configurazione principale di Apache contiene AllowOverride None (o simile), i file .htaccess vengono ignorati. Pertanto la whitelist IP non si applica. A seconda del nome host o della directory, potrebbe essere impostata una configurazione diversa.
  • Se hai impostato Satisfy any (non predefinito) e un client è autenticato con il server, gli viene comunque concesso l'accesso.

Inoltre, ci sono altre superfici di attacco che potrebbero aggirare le tue restrizioni IP:

  • Su un server web condiviso, potrebbe essere possibile per gli altri utenti del server accedere ai tuoi file tramite il filesystem, ignorando Apache.
  • Se la tua webapp non utilizza HTTPS, è già vulnerabile agli attacchi di sniffing e MitM.
  • La tua app potrebbe essere ancora vulnerabile a CSRF. Se qualcuno sa che una determinata app è in esecuzione su questo host, potrebbe indurti ad aprire una pagina che sfrutta una vulnerabilità CSRF nella tua app (se presente).

Suggerimenti:

  • Se si tratta di un server dedicato per questa webapp, configurare il firewall per autorizzare gli indirizzi IP per questa porta. Ricordati di controllare anche la configurazione IPv6.
  • Verifica che le autorizzazioni per i file siano configurate correttamente. Se un qualsiasi servizio (in esecuzione come utente diverso che non è root) sul server viene compromesso, la tua app dovrebbe essere ancora sicura (a condizione che non vi siano bug di escalation di privilegi).
risposta data 10.01.2014 - 12:27
fonte