Dovrai sicuramente occuparti di un intero carico di cose disordinate se vuoi davvero farlo. E se lo fai da solo, è molto più di quanto tu possa probabilmente gestire.
Supponiamo che ogni utente faccia del suo meglio per abusare del tuo server, attaccare altri server, estrarre criptovalute, inviare spam, ospitare porn e warez, rubare l'un l'altro le password. E avrai un piccolo esercito di utenti malintenzionati che lo fanno sempre.
In primo luogo, dovrai indurire il server come paranoico che puoi , dovrà essere a malapena utilizzabile per essere più difficile da abusare. Elenca tutti i programmi SUID che hai e determina se hanno tutti bisogno di SUID. Rimuovi il bit SUID da qualsiasi programma puoi vivere senza.
Iscriviti a tutte le liste di sicurezza che un amico Google può darti. E seguili. Devi essere sicuro di correggere qualsiasi bug sui programmi che hai appena sai che c'è un bug, perché i tuoi utenti sapranno prima di te e lo sfrutteranno. Avere una politica che consente di riavviare il server ogni volta che lo si desidera, senza preavviso, per qualsiasi motivo. Patch e riavvia.
Configurare correttamente SELinux o AppArmor sul server. Ti aiuteranno a tenere lontani i tuoi clienti e registreranno programmi o utenti malintenzionati. Utilizza i log per vietare gli utenti in seguito.
Dovrai configurare un firewall robusto, con entrambi i filtri di ingresso e di uscita per limitare il traffico a cattive note posizioni. Far cadere tutto il traffico Tor andrà bene. Definisci l'assestamento del traffico, l'allocazione della larghezza di banda e le quote per utente. E bandire UDP. E torrent, e DHT, e qualsiasi cosa liberamente collegata al P2P.
Metti un buon IPS / IDS sul server e sul gateway. Se qualcuno ottiene root sul tuo server, può mettere un rootkit sul server e mascherare le sue attività. Avere un IPS / IDS su un altro server ti aiuterà a rilevare le discrepanze. E assicurati che il gateway sia il meglio che puoi. Sarà probabilmente l'obiettivo principale per l'hacking.
Vorresti rimuovere i compilatori e molti interpreti dal server, in modo che gli utenti abbiano meno spazio per comportarsi male. E limita la quota del disco. E monta / tmp con il flag noexec
. E monta / home anche con noexec
. E dare la caccia a tutti i file / directory scrivibili di ogni mondo e cambiare i permessi. Le directory scrivibili in tutto il mondo sono facili da abusare.
E registra tutto . Due volte. Sul server locale e su un server remoto, un server hardened e difficile da accedere. Quando qualcuno del tuo server abusa di un'altra parte, potresti essere responsabile in una certa misura. Avere documentato tutti gli accessi ti aiuterà a indirizzare la colpa verso l'utente.
E usa un gestore di log (come Splunk). Non sarai in grado di leggere tutti i registri che genererai e analizzandoli a mano. Un gestore dei registri ti aiuterà a rilevare più rapidamente quando qualcuno abusa del server, e a calci il prima possibile.
Avere un draconian TOS, EULA, Service Agreement. Il più draconiano che il tuo avvocato draconiano è in grado di scrivere. E fai scrivere un avvocato , quindi sarà valido quando dovrai denunciare un utente che ha usato il tuo server per commettere frodi. Ed essere il BSfH (Bastard Sysadmin dall'inferno) quando si tratta di loro. Non lasciare che i tuoi utenti infrangi una regola due volte, buttali fuori dalla porta al primo reato.
E non pensare nemmeno di fornirlo gratuitamente. Devi avere un modo per punire i cattivi utenti, e farli pagare prima e usare in un secondo momento, e perdere l'accesso se abusano del tuo servizio può ridurre alcuni utenti cattivi. La ricarica di qualcuno a 500 USD per tassa di abuso (con tutta la documentazione di supporto) ti aiuterà.
E proteggere il tuo server non è un'attività, è una routine quotidiana. Ogni giorno dovrai indurire qualcosa.
E ti auguro buona fortuna.