Custom Python Server - come proteggerlo?

1

Comprerò presto il mio servizio server dedicato e eseguirò solo alcuni script di python server.

In primo luogo, lascia che ti dica che sono totalmente noobista quando si tratta di sicurezza Internet e non sono riuscito a trovare risposte alle mie domande usando google.

Voglio avere pochi server Python, ascoltare su porte diverse e fornirmi servizi diversi. Ad esempio, uno di questi eseguirà il polling su alcuni siti Web per ottenere il loro contenuto e aggiornare i dati sul server. Poi mi collegherò ad esso e prenderò i dati più recenti. Le comunicazioni tra server e client saranno in formato JSON. Vorrei anche abilitare il download di file. Probabilmente utilizzando SFTP per proteggere l'intero processo.

Quindi le mie domande sono:

  1. Come posso implementare una connessione sicura tra il client e il mio server python? Suppongo che potrei usare SSH o SSL, ma quale sarà più adatto per il lavoro? E se scelgo SSH, non interferirebbe con il servizio di accesso SSH che utilizzo per gestire il mio server (intero)?

  2. L'apertura di più porte è molto insicura? Che tipo di attacchi potrebbe portare su di me? Come posso prevenirli?

  3. Hai altri suggerimenti sull'implementazione del proprio server?

Dato che sono totalmente nuovo a questa roba, ti prego di dirmi se vedi qualche lacuna nella mia logica:)

    
posta k_R 26.03.2013 - 00:04
fonte

1 risposta

3

How can I implement secure connection between client and my python server? I guess I could use SSH or SSL, but which one will be better suited for the job? And If I choose SSH then wouldn't it interfere with SSH login service I use to manage my (whole) server?

Se solo tu ti connetteresti al server, proteggerei l'intero processo utilizzando una VPN .

Is opening multiple ports very insecure? What kind of attacks could it bring on me? How can I prevent them?

Le porte sono sicure solo quanto i servizi che ascoltano su di loro. L'apertura di più porte non necessarie serve ad aumentare la superficie di attacco del tuo server, poiché ci sono molti più punti di errore possibili. Disabilita tutti i servizi inutilizzati sul tuo server.

Do you have any other tips regarding own server implementation?

Mantieni aggiornato il tuo server. Ciò implica l'esecuzione di un comando come sudo apt-get update && sudo apt-get dist-upgrade su distro di Ubuntu o yum update su distribuzioni basate su RHEL.

Sono state configurate regole iptable corrette. Vedi questo link per una buona base di riferimento. Configura se necessario.

Configura ssh per utilizzare l'autenticazione basata su chiave anziché le password. Questo aiuta ad aumentare la difficoltà degli attacchi bruteforce contro il servizio ssh. Disabilitare il login di root usando ssh.

    
risposta data 26.03.2013 - 03:32
fonte

Leggi altre domande sui tag