Al lavoro abbiamo cercato di spostare i nostri servizi rivolti all'esterno da una politica di inclusività (in cui abbiamo cercato di accogliere quante più persone possibile) in una configurazione più incentrata sulla sicurezza.
Il primo passo è stato il test delle penne di alcune delle nostre applicazioni web principali, dove l'attenzione tende a essere debole sul codice dell'applicazione, ma molto è stato detto delle suite e dei codici SSL / TLS. Dalla parte posteriore di questi risultati, sono riuscito ad ottenere almeno un numero sufficiente di persone interessate a raggiungere i "gradi" A-, A e A + nei test Qualys (gestione come gradi quantificabili - chi lo sapeva?!) .
Tuttavia, un altro componente chiave di alcuni dei nostri software è il caricamento / scaricamento di file in blocco tramite SFTP (ad esempio tramite SSH). Ho sempre cercato di applicare le buone pratiche che potevo determinare sui server SFTP, quindi utilizziamo abitualmente:
- autenticazione solo tramite chiave
- blacklist degli errori di autenticazione ripetuti
- Tasti da 2.048 bit
- disabilitazione di shell, exec e port forwarding
Ma devo ammettere che so ben poco delle implementazioni crittografiche, quindi le impostazioni predefinite sono state quasi sempre utilizzate. Tuttavia, presumo che, se un pen-tester contrassegna RC4, 3DES, MD5, et al. in una configurazione basata su TLS, avrebbero anche contrassegnato questi algoritmi in un server SFTP (erano inclusi nel loro ambito).
Principalmente sto lavorando su uno stack Windows e abbiamo utilizzato VanDyke VShell come server SFTP preferito da molti anni. Per impostazione predefinita, abilita tutte le opzioni di cifratura e MAC (ad eccezione di "Nessuna") e tutte le opzioni di scambio di chiavi ad eccezione di "Kerberos" e "Kerberos (Scambio di gruppo)".
Questo lascia i seguenti algoritmi, come indicato dall'applicazione VShell:
- Scambio di chiavi: diffie-hellman-group14, diffie-hellman, diffie-hellman-group
- Codice: AES-256-CTR, AES-192-CTR, AES-128-CTR, AES-256, AES-192, AES-128, Twofish, Blowfish, 3DES, RC4
- MAC: SHA1, SHA1-96, MD5, MD5-96, UMAC-64 (e, nelle versioni più recenti) SHA2-512, SHA2-256
Per quanto riguarda le domande:
- Dove sono i riferimenti migliori per me per determinare quali di questi sono ora considerati troppo deboli da usare?
- Come posso determinare al meglio se la disattivazione di una di queste funzioni possa influire negativamente sui miei utenti finali?
- Ci sono test di tipo Qualys che posso usare per valutare regolarmente questi server, preferibilmente con prove convincenti con cui battere la gestione in sottomissione?