Gestisco un server virtuale privato su Ubuntu 14.04 e utilizzo Nginx come server http e / o proxy inverso. Eseguo più webapp su questo server, la maggior parte di questi sono nuovi progetti open source.
UPDATE: Il server è un VPS che affido a una società di hosting. L'installazione sarà un sottodominio per app.
Mi sto chiedendo quali sono le varie possibilità di proteggere nginx in un ambiente semplice. Per ora questo server è usato solo per uso dev / private. Mi piacerebbe raggiungere i seguenti:
- Utilizza un'autenticazione per le app che non hanno le proprie. Altrimenti chiunque può usarlo.
-
Limita l'accesso a determinate macchine. So che Nginx può negare l'accesso in base all'indirizzo IP, mi chiedevo se avrei potuto ottenere questo utilizzando altre variabili come ad esempio l'indirizzo mac?
-
Impedisci ai motori di ricerca di indicizzare cosa c'è sul mio server. Ho letto che potrei usare un .htaccess di Apache, ma posso farlo con nginx? Qual è la differenza con i file robots.txt?
- Come si isolerebbero le webapp? Mi chiedevo se potevo eseguire ogni app come utenti separati al fine di rafforzare la sicurezza. In caso contrario (qualcuno mi dica se ho torto) una violazione della sicurezza in uno di essi (e ciò potrebbe accadere spesso con progetti giovani) potrebbe consentire a un utente malintenzionato di accedere a tutti i file utente di www-data. Riguardo a questo thread non so se io deve indagare in pool php5-fpm o solo nginx o entrambi.
Grazie!
Aggiorna
Letture interessanti su Docker e Sandstorm
Di solito imposto le cartelle a 755 e i file a 644. (Alcune app consigliano 777 su intere cartelle: 0) Per un server preferisco rimanere su ubuntu per ora (più semplice) nonostante mi sia divertito davvero scoprire Arch pochi mesi fa. Tuttavia ho visto questo . Dovrei essere in grado di impostare SE linux.
Io uso sempre https. Nginx sta solo ascoltando su ssl port. Il "problema" è che uso un certificato autofirmato ( forse non per molto tempo ) e non so molto sui cyphers, quindi io Prima di fare alcune domande, indagherò su ssl. Questa mattina ho appena saputo che potrei usare TLS in nginx config ^^
Non capisco davvero cos'è il hash. Né dove usarlo (intendo nella configurazione "server / nginx"). Non riesco ancora a capire dove usare hash ad eccezione di ssl config. - > Potrei usare l'hash come password?
Attualmente utilizzo Mitro . Ma inutile su Android (hijack degli appunti)
Uso anche alcune opzioni di base di rkhunter e fail2ban.