Torna indietro   Hardware Upgrade Forum > Altre Discussioni > Amministrazione e Configurazione Server

Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-03-2015, 14:41   #1
nanotek
Senior Member
 
Iscritto dal: Sep 2007
Messaggi: 315
Webserver hardening - come migliorare la sicurezza ?

Aprire un webserver all'esterno è sempre un rischio (piccolo ma concreto), ora vista chè è arrivata in zona la fibra potrei farci un pensierino...
Quello che mi dà da pensare è però la sicurezza.
I servizi da esporre all'esterno sarebbero una comune cartella ftp e un'applicazione su webserver apache/php.
Prima cosa da fare è naturalmente controllare che l'applicazione php non sia un colabrodo in fatto di sicurezza (quindi un sistema di login sicuro).
Seconda cosa è difendersi da piccoli attacchi che possono buttare giù il server o fare tentativi di login massivi. Per questo scopo pare che il gold standard sia fail2ban. Non ho però capito come può funzionare.
Richiede iptable, giusto ? (Sul sito dice che è facoltativo ma non capisco come...)
Come rileva dal log di apache che è fallito un tentativo di login nell'applicazione php ?
nanotek è offline   Rispondi citando il messaggio o parte di esso
Old 30-03-2015, 23:04   #2
Tasslehoff
Senior Member
 
L'Avatar di Tasslehoff
 
Iscritto dal: Nov 2001
Città: Kendermore
Messaggi: 6678
Mai usato fail2ban, però imho la questione va ben al di la di un semplice servizio da installare o far girare sul server.

Anzitutto usare il protocollo ftp (liscio e in chiaro) è già di per se una possibile fonte di problemi, esistono alternative ben più comode e sicure (es webdav via https o sftp).

Per sistema di login sicuro cosa intendi?
L'uso del protocollo https è scontato (anche con certificato self signed o CA trustata) ma ciò non significa che sia sicura.
Dato che la action della form andrà necessariamente a interagire con il repository degli utenti va da se che è un punto molto delicato, occorre quindi essere certi che i campi passati dalla form siano correttamente validati per evitare attacchi sql injection.

La rilevazione di un fallito login dipende da come è fatta l'autenticazione.
Se si tratta di basic authentication allora ti basta cercare http response 403 nei log del webserver.
Se invece si tratta di una form applicativa la cosa va gestita a livello di codice, puoi redirigere l'utente ad una pagina in caso di errore e controllare le get http a quella pagina, oppure fare un modo che ad esempio ti invii una notifica.

Di certo una buona misura di sicurezza è cercare di mascherare il più possibile il prodotto che intendi usare (specialmente se si tratta di uno dei soliti cms php), tenerlo sempre aggiornato e limitare l'accesso alle pagine critiche.
Ad esempio puoi fare in modo che l'accesso alla form di login del backoffice venga permesso solo da determinati ip, oppure stabilendo un percorso di navigazione non standard e controllando la referer url.
__________________
https://tasslehoff.burrfoot.it | Cloud? Enough is enough! | SPID… grazie ma no grazie
"Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say."
Tasslehoff è offline   Rispondi citando il messaggio o parte di esso
Old 31-03-2015, 10:54   #3
nanotek
Senior Member
 
Iscritto dal: Sep 2007
Messaggi: 315
Il backoffice non può essere bloccato su certi ip.. gli ip di provenienza esterna sono dinamici..

Quote:
Dato che la action della form andrà necessariamente a interagire con il repository degli utenti va da se che è un punto molto delicato, occorre quindi essere certi che i campi passati dalla form siano correttamente validati per evitare attacchi sql injection.
Questo è sicuramente da controllare..

Il mio dubbio è che un piccolo webserver è facile da "buttare giù".. basta fare un 100 - 200 connessioni ravvicinate/contemporanee.. e ha già mangiato il gigabyte di ram a disposizione e probabilmente va in crash.. inoltre è meglio bloccare tentativi continui fatti per provare login e password... per questo stavo valutando di mettere fail2ban.. ma effettivamente pare inutile/poco utile perchè rileva i tentativi di login falliti dal log di apache quindi solo se è un'autenticazione base di apache che non è il caso di un'applicazione php.
nanotek è offline   Rispondi citando il messaggio o parte di esso
Old 31-03-2015, 11:29   #4
Dane
Senior Member
 
L'Avatar di Dane
 
Iscritto dal: Jun 2001
Città: Gorizia/Trieste/Slovenia
Messaggi: 4338
prima di tutto dovresti decidere da cosa proteggerti.

ddos, soluzioni quick&dirty...
sul firewall puoi limitare il numero delle connessioni in base all'IP sorgente. Se blocchi un po' di IP asiatici magari riduci un po' il problema dei ddos amatoriali.

Per farla più cattiva puoi giocare con il tcp tarpit (così all'attaccante passa la voglia di prendersela con te usando metodi barbari).

bruteforcing: per bannare ip che tentano accessi puoi usare fail2ban.

protezione dell'applicazione: autentica a livello di webserver (dato che le applicazioni non sempre vengono mantenute...)


Come sempre: dipende cosa devi fare...
__________________
Dio ha fatto il cavo, il diavolo il wireless.

"CCIE-level challenges should stay in CCIE labs." (cit I.Pepelnjak)
Dane è offline   Rispondi citando il messaggio o parte di esso
Old 31-03-2015, 12:26   #5
nanotek
Senior Member
 
Iscritto dal: Sep 2007
Messaggi: 315
Direi che per ora la protezione si può limitare a bruteforcing e ddos.

Il problema nell'usare fail2ban è che l'applicazione PHP non notifica ad apache che il tentativo di login è fallito. Se un login fallisce non c'è traccia di ciò nei log di apache.
nanotek è offline   Rispondi citando il messaggio o parte di esso
Old 31-03-2015, 22:51   #6
Tasslehoff
Senior Member
 
L'Avatar di Tasslehoff
 
Iscritto dal: Nov 2001
Città: Kendermore
Messaggi: 6678
Quote:
Originariamente inviato da nanotek Guarda i messaggi
Il backoffice non può essere bloccato su certi ip.. gli ip di provenienza esterna sono dinamici..
Appunto, se è così puoi fare come ho suggerito, ovvero inserisci una semplice regola di rewrite nel virtualhost (o in un file .htaccess se preferisci e se li hai abilitati) dove controlli il referer url.
Stabilisci una pagina di accesso (es http://www.domain.tld/passaprimadaqui.html) e crea una regola di rewrite dove neghi l'accesso alla form di login (e alla action) se il client non ha la variabile HTTP_REFERER valorizzata con la url che hai deciso di utilizzare.
Come misura preventiva puoi anche bloccare le POST dirette senza referer, però questa è una misura che devi valutare in base al sito.

La totalità dei tentativi di bruteforce avviene facendo una post diretta alla action delle form di login, non certo navigandosi i siti per benino come farebbe un utente normale.
In questo modo le blocchi sul nascere, anzi nella regola di rewrite puoi scatenare degli http reponse code compatibili con fail2ban (es Forbidden).
__________________
https://tasslehoff.burrfoot.it | Cloud? Enough is enough! | SPID… grazie ma no grazie
"Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say."
Tasslehoff è offline   Rispondi citando il messaggio o parte di esso
Old 31-03-2015, 23:15   #7
nanotek
Senior Member
 
Iscritto dal: Sep 2007
Messaggi: 315
Adesso ho capito cosa intendevi
L'applicazione però non ha nessuna pagina pubblica (accessibile senza login). Sarebbe da aggiungere.. e sarebbe l'unica.. quindi si perderebbe l'efficacia di questa tecnica che però è molto interessante per la gestione di un normale sito.
nanotek è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2015, 22:32   #8
Tasslehoff
Senior Member
 
L'Avatar di Tasslehoff
 
Iscritto dal: Nov 2001
Città: Kendermore
Messaggi: 6678
Quote:
Originariamente inviato da nanotek Guarda i messaggi
Adesso ho capito cosa intendevi
L'applicazione però non ha nessuna pagina pubblica (accessibile senza login). Sarebbe da aggiungere.. e sarebbe l'unica.. quindi si perderebbe l'efficacia di questa tecnica che però è molto interessante per la gestione di un normale sito.
Giusto per capirci, l'applicazione è pubblica (=esposta a web), solo non ha pagine ad accesso anonimo, intendevi questo?
Anche in questo caso cmq la soluzione che ti ho suggerito è fattibilissima, già solo bloccare le POST che non hanno HTTP_REFERER proveniente dal vostro sito bloccherebbe la stragrande maggioranza dei tentativi di bruteforce (nel senso che quelli andrebbero diretti a fare una post sulla action della form di login senza alcuna referer url).

Cmq se anche esponessi una pagina statica non succederebbe nulla, un bot che cerca di fare bruteforcing non si metterebbe certo a fare get http a casaccio componendo url casuali, non avrebbe alcun senso (infatti di solito seguono schemi predefiniti con url corrispondenti alle pagine critiche dei soliti cms, piuttosto che altri pattern riconducibili a vulnerabilità grossolane e superate).

Va da se poi che il webserver deve girare con utenze non amministrative, non deve avere accesso a file critici del sistema operativo e idealmente dovrebbe essere chrootato (anche se oggettivamente quasi nessuno lo fa).
__________________
https://tasslehoff.burrfoot.it | Cloud? Enough is enough! | SPID… grazie ma no grazie
"Arguing that you don't care about the right to privacy because you have nothing to hide is no different than saying you don't care about free speech because you have nothing to say."

Ultima modifica di Tasslehoff : 01-04-2015 alle 22:34.
Tasslehoff è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2015, 09:24   #9
nanotek
Senior Member
 
Iscritto dal: Sep 2007
Messaggi: 315
Esatto, l'applicazione richiede il login per qualsiasi cosa. L'unica pagina a cui si accede senza il login è la pagina che richiede il login.

Non è basata su alcun cms.. è totalmente fatta da zero. In realtà poi consta di poche decine di script php. Fa' caricare dei file, fa' partire l'elaborazione degli stessi, visualizza la percentuale di elaborazione, quando finito fa' scaricare il file elaborato e produce un mini-report sul lavoro svolto e i tempi richiesti.

Documentandomi un po', leggevo che la tecnica di bloccare i POST senza referer del sito è poco usata perchè tipicamente i bot inviano come referer la pagina stessa del login. Però sarebbe comunque una sicurezza in più.

Il webserver come al solito gira con utente www-data del gruppo www-data che non è amministratore.
nanotek è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
Funzionalità top a un prezzo acce...
Lo strumento per gli aggiornamenti autom...
Imperdibile sconto sul roborock Saros Z7...
Google Pixel 10, altri 100€ di sconto su...
Chip sotto i 2 nanometri, l'Europa alza ...
La smart meno smart di tutte: #6 in azio...
Red Hat Enterprise Linux sbarca su AWS E...
Addio alle migliaia di cicli e anni di t...
Colpo di STMicroelectronics, un'intesa d...
La Ferrari elettrica si chiama Luce: ecc...
Proseguono le riparazioni in vista del l...
Cinema domestico low cost: proiettore Fu...
Sharp porta a ISE 2026 i nuovi display i...
Casa più sicura senza lavori: Arl...
Batterie esauste, l'Italia raccoglie sol...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 02:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v