Italian community of Lazarus and Free Pascal
Programmazione => Generale => Topic aperto da: nomorelogic - Gennaio 21, 2014, 07:26:22 pm
-
Volevo una vostra opinione sulla protezione che adottereste voi.
Sto realizzando un programmino per la sincronizzazione via ftp ed è arrivato il momento di capire come cifrare la password del sito ftp verso il quale si farà la replicazione. La password è memorizzata in un file di configurazione e non la vorrei lasciare in chiaro.
Tenete presente che si tratta di un tool che sarà open source... le magie "spaghettifere" per nascondere la key non servono a nulla.
Ora. Si tratta di un algoritmo con chiave simmetrica (BlowFish) e quindi con la stessa key ci cripto e decripto.
Le domande sono:
Una stessa key universale per tutte le installazioni o una key diversa per ogni installazione?
Dove memorizzare la key visto che il mio tool dovrà essere schedulato ed avrà bisogno di usare la key?
Come posso evitare che, se un hacker entra in un sistema e si scarica il mio file di configurazioni (occhio ancora, il programma è open source), possa decifrare le password del sito ftp?
Lo so bene che la maggiore ed unica sicurezza è che il file di configurazione sia visualizzabile solo da root (o Administrator in windows). La realtà è che in giro ci sono molti sistemi dove si fa con leggerezza un "chmod 777" di troppo o si danno i permessi completi a "everyone".
Far trovare le password non mi va proprio.
Come fate o fareste voi?
-
In genere la chiava la metto in chiaro nel codice.
Poi passo a fare la cifratura della pwd su file di testo.
Visto che vuoi farla un attimino più seria la cosa ... da riga di comando.
tanto con gli schedulatori puoi anche passare i parametri.
In ogni caso con ps -a la trovi ..
Magari fai una cosa "rudimentale" la prima versione.
Poi fai la parte security strong in seconda battuta.
Cose semplici.
;)
Stilgar
-
Eventualmente puoi salvare le key in un file dentro la home dell'utente...
root/scheduler/user
poi sono affari loro a tenersela buona buona. ;)
Stilgar
-
In realtà volevo eliminare il parametro per il passaggio della password da linea di comando e costringere all'uso di un file per memorizzarla. Però mi sembra un po' drastica, probabilmente lascerò tutti e 2 i modi consigliando il file.
E' che se metto la chiave in chiaro nel codice, basta scaricarsi il file di configurazione e ti trovi tranquillamente la pass dell'ftp.
In effetti l'idea di mettere la pass dentro l'home dell'utente, in un file separato da quello di configurazione mi piace un bel po'. Così basta mettere al sicuro quel file. In generale è ok, mi preoccupano ancora gli utenti windows ma è anche ora che crescano :D :D :D
-
Diciamo che l'ftp che può fare un utente è virtualmente meno importante di uno che fa il sistema schedultato.
Poi dipende se sono flussi bancari spostati a mano :D
Stilgar