Apache (pre-installato macOS) è un rischio per la sicurezza quando viene lanciato su una rete pubblica?

1

Per sviluppare il mio sito Web ho installato Apache preinstallato sul mio Mac e non ho realizzato fino ad oggi che il sito Web sul mio Mac è effettivamente accessibile anche da altri dispositivi nella rete. Questo è incredibilmente utile per me in quanto rende più facile lo sviluppo per i dispositivi mobili.

D'altro canto, questo significa che ogni volta che sono connesso a una rete pubblica (che è il caso durante circa 6 ore al giorno per me), qualcuno potrebbe accedere alla pagina che sto ospitando. Niente di male in tutto questo, per quanto tutte le informazioni siano pubblicamente disponibili comunque, ma qualcuno potrebbe effettivamente entrare nel mio computer da lì? Suppongo che l'hacker non possa semplicemente mettere un file sul mio disco in remoto ed eseguirlo, ma la mia macchina ora potrebbe essere vulnerabile a minacce come iniezioni SQL o simili? Ci sono altri attacchi, si potrebbe provare a entrare nel mio computer?

E quali sono le possibili misure di sicurezza per questo? Il mio computer è protetto da password, non ho ospitato il mio sito web su / (digitando il mio indirizzo IP in un campo del browser restituisce solo "Funziona!" Come ho il mio sito web in una directory un po 'più profonda di quella) e Ora terrò disattivato l'apache per la maggior parte del tempo.

    
posta user2875404 28.11.2016 - 09:20
fonte

2 risposte

2

L'esecuzione di un server esposto ad altri utenti / computer è sempre un rischio per la sicurezza . In pratica, questo rischio è ridotto al minimo utilizzando buone abitudini di sicurezza come mantenere aggiornato il software e solo eseguire app sicure e sicure. Apache è un grande programma, contiene vulnerabilità di sicurezza che sono fuori dal tuo controllo (pensa, non ancora scoperto).

Per una macchina di sviluppo, ridurre al minimo l'accesso esterno è la migliore pratica. Associare Apache a 127.0.0.1 o impostare una regola firewall appropriata. Il tuo computer sarebbe vulnerabile a eventuali errori nella tua webapp, che si tratti di SQL injection, esecuzione di codice in modalità remota, qualunque cosa ... dipende da te come programmatore. Probabilmente nessuno nel coffee shop farà il lavoro per hackerare la tua webapp.

Hai considerato l'utilizzo di un gizmo NAT / WiFi / firewall portatile per proteggere i tuoi dispositivi di sviluppo e test?

    
risposta data 28.11.2016 - 11:03
fonte
1

Hai ragione di pensare che l'esecuzione di apache su una rete pubblica potrebbe creare problemi di sicurezza. Tenendo a mente, se per qualsiasi motivo si stanno ospitando webscripts vulnerabili ad attacchi come SQL injection e simili, potrebbero lasciare il sistema aperto allo sfruttamento.

Di default Apache sarebbe vincolato a 0.0.0.0 ovvero tutte le interfacce disponibili. Configura apache per collegarsi all'host locale (o 127.0.0.1) - in questo modo il server web sarà disponibile solo dal computer stesso, e non dall'esterno.

Se hai intenzione di insistere per lasciarlo legato a tutte le interfacce di rete, le migliori pratiche sarebbero esattamente le stesse di un sito web reale. Utilizzare le pratiche di sicurezza più aggiornate, non eseguire il codice dodgy e assicurarsi che le informazioni siano crittografate, se possibile / necessario.

I possibili vettori di attacco in questo scenario si affidano molto al codice che stai correndo.

    
risposta data 28.11.2016 - 09:52
fonte

Leggi altre domande sui tag