L'URL dispari visualizzato nel mio stream pubsub, dovrei essere preoccupato?

2

Contesto: ieri ho iniziato a lavorare su un semplice pannello di controllo delle metriche. Ho un VBScript sulla mia rete interna che interroga un database su una VPN dal nostro fornitore. Quindi faccio un semplice post HTTP su un server node.js in ascolto sulla porta 8000. Non ho sicurezza. Tutto il mio script invia è un URL formattato come http://myserver.com:8000/name1,value2 . Il server quindi li acquisisce e crea una nuova sequenza temporale basata sul primo valore, se non esiste, e traccia un punto in base al secondo valore. Ho spinto questo al mio server pubblico ieri alle 2:00 PM.

Questa mattina, quando sono entrato, c'era una nuova serie temporale con il seguente URL come nome: http://testp2.czar.bielawa.pl/testproxy.php

Ovviamente ho bisogno di fare una sorta di convalida che i dati provengano dalla mia rete, ma dovrei preoccuparmi di questo in generale? Quali altri passi dovrei prendere? Il server node.js analizza solo l'URL. Non tenta nemmeno di elaborare un carico utile. Questi dati non sono sensibili, sono solo numeri di transazioni per i nostri clienti e nomi dei clienti (che sono pubblicamente disponibili).

    
posta Scott Beeson 01.10.2015 - 15:04
fonte

2 risposte

3

L'URL richiesto ha spiegato tutto. Il tuo server Node.js è aperto a Internet, ascolta una porta comunemente utilizzata dai proxy HTTP e un servizio che esegue la scansione di Internet per i proxy è incappato in esso e ha deciso di testarlo richiedendo un URL e verificando se il tuo Node.js restituirebbe il contenuto di quell'URL (se lo fa, allora è un proxy aperto e verrebbe elencato come tale nel loro database).

Questo particolare tentativo non sembra dannoso. Certo, se scoprono che stai utilizzando un proxy aperto, molto probabilmente lo useranno per scopi dannosi (spamming, ecc.) Ma la loro scansione richiede semplicemente un URL e non sta tentando di sfruttare un bug o DoS sul tuo server. Ciò non significa che qualcun altro non provi ad attaccare e compromettere il tuo server, esegua la tua app compilando il suo DB con dati inutili o esaurendo la larghezza di banda del server in modo che le richieste HTTP legittime non la raggiungano più.

Ora, dovresti ancora pensare alla sicurezza e se hai effettivamente bisogno che questo server Node sia raggiungibile da Internet ... dici che i dati che ti interessano provengono dalla tua rete interna, quindi perché non li metti? il server Node sulla stessa rete? In tal modo si evitano inutilmente perdite di dati su Internet e il firewall di bordo della rete aziendale proteggerà l'utente dai tentativi di scansione poiché non vi è alcun motivo valido per rendere accessibile quel server Node da Internet e non si è più vulnerabili agli attacchi DoS dal tutta Internet.

Se non è possibile inserire il server Node sulla rete privata, considera la necessità di richiedere certificati client TLS per autenticare l'origine dati legittima in modo che un client abbia bisogno di avere un certificato valido prima di essere in grado di stabilire il tunnel TLS e rilasciare HTTP richieste. Assicurati inoltre di seguire le best practice sulla sicurezza come firewalling, hardening SSH (solo autenticazione della chiave e modifica della porta per evitare che gli scanner riempiano i tuoi registri), ecc. Per il server stesso. L'app Node potrebbe essere l'app più sicura al mondo, ma non sarà di aiuto se qualcuno può diventare root tramite SSH con una password bruta o sfruttando altre app in esecuzione come root.

    
risposta data 03.10.2015 - 08:38
fonte
0

La maggior parte delle probabilità è che il nuovo server abbia ricevuto un IP appartenente a quell'host, che ha un altro sistema (watchdog o un client) che ricorda il vecchio IP che una volta corrispondeva al record DNS.

La mia ipotesi è che testp2.czar.bielawa.pl non sia il nome host del tuo server, poiché è accessibile e mostra il tuo indirizzo IP in risposta. Ciò rafforza la teoria secondo cui il suo record DNS è stato aggiornato con un nuovo IP.

Poiché i tuoi registri mostrano testp2.czar.bielawa.pl come host, significa che una macchina ha utilizzato questo host nel relativo URL, ma ha invece risolto il tuo IP. Se fosse davvero una cosa malevola, vedresti il tuo indirizzo IP al posto di un nome host o il tuo vero nome host.

È piuttosto comune con gli IP elastici di AWS, ad esempio.

    
risposta data 02.10.2015 - 20:17
fonte

Leggi altre domande sui tag