Domanda:
Quali sono i pericoli di pubblicizzare il mio sito amatoriale basato su MySQL?
Carcigenicate
2016-02-15 02:45:50 UTC
view on stackexchange narkive permalink

Di recente ho iniziato la programmazione lato server e ho scritto una pagina contenente un'area disegnabile che consente agli utenti di disegnare e salvare pubblicamente un'immagine e di sovrascrivere le immagini fatte da altri.

Per i calci, ho pensato di pubblicizzare il link sui social media per vedere cosa succede. Preferisco non mettere il mio computer in pericolo anche se solo per calci.

Le mie preoccupazioni principali sono che qualcuno possa accedere al resto del mio sistema o essere in grado di eliminare file dal sito.

Uno di questi è un problema?

Informazioni rapide sulla configurazione:

  • Sto usando XAMPP 7.0.1 su Windows 10 Home . Oltre a inserire una password sul mio server MySQL, non ho fatto nulla di orientato alla sicurezza, quindi potrebbe essere considerato in uno stato "out-of-the-box" per quanto riguarda la sicurezza.

  • Utilizza un database MySQL e la libreria MySQLi di PHP, ma come accennato in precedenza, l'ho protetto da password e ho avuto cura di impedire l'iniezione.

Cinque risposte:
schroeder
2016-02-15 02:51:52 UTC
view on stackexchange narkive permalink

Oh mio. SÌ! Tutte queste cose preoccupano. Esponi pubblicamente il tuo server solo se sei pronto a far sì che quel server venga rilevato da un malintenzionato.

Tutto quello che devi fare è trovare una configurazione errata o una falla nella sicurezza e loro possono possedere il tuo personal computer che usi per fare cose come accedere agli account personali (e-mail, banche, ecc.).

I server pubblici devono essere bloccati, con solo le informazioni necessarie per fornire un servizio. Il caso migliore è avere quel server di backup e usa e getta nel caso sia compromesso. Se succede qualcosa di brutto, lo soffi via e lo ripristini dai backup.

Non esporre il tuo personal computer al pubblico in questo modo, soprattutto quando esponi codice personalizzato e non capisci quanto sia sfruttabile è.

Quindi, questo è qualcosa che dovrebbe essere lasciato solo alle persone che sanno cosa stanno facendo? È un peccato. Ero curioso di sapere che tipo di traffico avrei ricevuto, ma non vale la pena esporre il mio computer a rischi del genere.
@Carcigenicate È possibile configurare server cloud per pochi centesimi. Ad esempio Amazon EC2. Chiunque si iscriva riceve 750 ore al mese di utilizzo gratuito di t2.micro. È 1 GB di RAM e un piccolo HDD, ma è perfetto per testare i server. È anche facile creare profili di sicurezza per ciascuno dei server che stai testando. Se hai bisogno di qualcosa di un po 'più potente, anche l'utilizzo di richieste spot per ottenere un server migliore è molto conveniente.
Grazie @cremafraiche. Questo è puramente per il mio divertimento, quindi probabilmente è un modo prima che valga la pena esaminare l'hosting esterno, anche se è economico.
@cremefraiche Grazie. Forse lo esaminerò se è semplice.
@Carcigenicate Coloro che sanno cosa stanno facendo non lo faranno (mettere un sistema con informazioni private dove è esposto ad attacchi in questo modo).
Come consiglio, usa KeePass o simili per generare le password che usi su questi sistemi. Praticamente la cosa peggiore possibile per te sarebbe configurare un server, avere accidentalmente un buco, l'attaccante quindi ottiene la tua password che usi ovunque, e ora vorresti essere morto. Oppure lo erano. Indipendentemente da ciò, utilizza qualcosa per generare e salvare password complesse e univoche per tutti gli account che utilizzi in relazione a questo progetto.
@Carcigenicate Se stai solo facendo un progetto secondario, ti incoraggerei a semplificare lasciando che un sistema collaudato assorba le tue difficoltà iniziali di infrastruttura. Servizi come OpenShift ti consentono di trascinare e rilasciare i moduli nel tuo nodo, essendo di nuovo gratuiti per un utilizzo ridotto, e puoi concentrarti sul contenuto e sulla logica invece che sull'idraulica ...
+1 per i server ospitati gratuitamente. MS fa anche un buon pacchetto di base con Azure che ti dà ciò che equivale a un server gratuito a bassa potenza, perfetto per un semplice web hosting.
cremefraiche
2016-02-15 02:58:42 UTC
view on stackexchange narkive permalink

Le mie preoccupazioni principali sono che qualcuno possa accedere al resto del mio sistema o essere in grado di eliminare file dal sito.

Uno di questi è un problema?

Sì e sì.

Perché?

Sono alcuni dei motivi mi viene in mente.

Philipp
2016-02-15 03:58:10 UTC
view on stackexchange narkive permalink

Per isolare il tuo progetto dal resto del tuo sistema, potresti configurare una macchina virtuale, installare una configurazione LAMP minima (Linux, Apache, MySQL, PHP) su di essa e installare lì la tua applicazione. Anche quando la tua macchina virtuale viene completamente sfruttata, la tua macchina normale sarà relativamente salva (solo "relativamente" perché c'erano alcune vulnerabilità note nel software VM che permettevano di sfuggire al sistema guest per influenzare il sistema host, ma queste sono relativamente oscure) . Quando la tua VM è stata trasformata in una macchina spam infestata da malware, puoi facilmente ripristinarla con una buona istantanea nota o interromperla completamente con un solo clic.

Anche la distribuzione del tuo progetto in una macchina virtuale è una buona cosa modo per imparare come configurare un server "reale" per il tuo progetto in seguito, se decidi di noleggiarne uno.

Un software gratuito (come la birra) che lo consente è Virtual Box, ad esempio.

Gli escape delle VM non sono l'unica considerazione. C'è anche la sicurezza della rete interna. Chiunque abbia preso il controllo di una VM in esecuzione su un PC desktop ha bypassato il firewall del router domestico, quindi devi preoccuparti di quali altre macchine sono collegate in rete alla VM e di quanto siano sicure.
jk - Reinstate Monica
2016-02-15 16:15:09 UTC
view on stackexchange narkive permalink

In effetti, non importa molto per un tipico aggressore se pubblicizzi o meno il tuo servizio. Gli aggressori tipici eseguono regolarmente la scansione di tutti i numeri IP disponibili per i server web e cercano di attaccarli non appena sono online.

L'unico effetto negativo della pubblicità può essere un sovraccarico di traffico e l'indisponibilità del tuo server per questo motivo.

È necessario considerare la sicurezza non appena si è online.

Anche gli scanner di porte / IP sono un vero problema nella mia rete. Il mio ISP non assegna nemmeno un IP statico e di solito finisco per avere diversi tentativi nel mio mysql (l'ho aperto a Internet pubblico per portare a termine parte del mio lavoro).
In realtà sto utilizzando una porta non standard, quindi è improbabile che venga trovata tramite la scansione.
La scansione di @Carcigenicate è esattamente questo ... Scansione per scoprire quali porte sono aperte. Il pensiero che sia improbabile che qualcuno trovi il tuo server è un brutto punto di partenza. Supponi che qualcuno lo trovi e poi faccia quello che devi fare per assicurarti che non abbia davvero importanza se lo fa.
@rooby So che è possibile, ma ho tenuto il mio server aperto per w mesi senza considerare la sicurezza (non è una buona idea, lo so) e non ho strani accessi ai miei log. So che è possibile, ma il "port-space" è piuttosto ampio, no? Come 65k?
@Carcigenicate nel grande schema delle cose 65k non è poi così tante. Non è sufficiente rendere la forza bruta una perdita di tempo (soprattutto se non c'è nessuno che monitora i tuoi log). È possibile che nessuno ti attaccherà, ma se presumi che possano farlo e prendi precauzioni potresti evitare un enorme mal di testa in futuro. In questo caso, se dovessi presumere che qualcuno malintenzionato possa accedere al tuo sito e se non fossi sicuro della sicurezza del tuo codice e / o della configurazione, forse deciderai che sarebbe meglio ospitare altrove.
TOOGAM
2016-02-16 13:43:21 UTC
view on stackexchange narkive permalink

Questo non deve essere motivo di preoccupazione. Oppure potrebbe essere una delle principali preoccupazioni.

Cos'altro c'è sulla tua macchina?

Se la risposta è "nient'altro che mi interessi; questa è una macchina su cui ho installato Windows la scorsa settimana e non ci sono dati sensibili su di esso e tutti i dati importanti sono stati sottoposti a backup tre minuti fa, e sono disposto a cancellare tutto nel caso in cui un utente malintenzionato faccia cose cattive al mio sistema e non ci sono altri computer sul rete che potrebbe essere attaccata da questa macchina fittizia ", quindi, con tutti i mezzi, vai avanti.

E solo così non pensi che sia ridicolmente sarcastico: ho due macchine del genere in casa mia adesso. Vengono avviati dai Live CD, con una sicurezza minima applicata (sono state appena cambiate due password predefinite), ma sono protetti da un firewall e il sistema operativo scomparirà di fatto una volta che spegnerò l'alimentazione più tardi questa settimana.

Le mie preoccupazioni principali sono che qualcuno possa accedere al resto del mio sistema o che sia in grado di eliminare file dal sito.

La tua sicurezza sembra piuttosto minima ed è solo ragionevole credere che potresti essere attaccato piuttosto rapidamente. O rendi le cose molto più sicure o fai in modo che non devi preoccuparti che gli aggressori distruggano il tuo sistema. Il tuo approccio più semplice potrebbe essere quello di spendere soldi per acquistare un altro computer (magari usato) che non ti interessa, in modo da non correre un mucchio di rischi inutili con cose a cui tieni di più.

A proposito, vorrei ribadire nuovamente l'idea dei backup. Pensa a quali dati sono importanti e assicurati che venga eseguito il backup di tutti i dati. In caso contrario, suggerisco di dare la priorità a quel progetto (di backup dei dati) rispetto alla sperimentazione con l'aggiunta di nuovi servizi.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...