Come posso trovare le porte SSL o le istanze SSL su Linux RHEL 5.3

Sto cercando di eseguire una verifica di porte / servizi SSL abilitati nei server Linux RHEL 5.3. Sto cercando di trovare quali porte sui nostri server sono abilitati ssl. Non so come trovare questo. Ho bisogno di sapere come controllare quali porte stanno utilizzando i servizi abilitati ssl.

Ho eseguito i comandi sotto

lsof -i -n -P netstat -ntulp netstat -nap

ma dalle uscite di questi non sono sicuro di come determinare quali porte sono in esecuzione ssl.I non sono sicuro di cosa cercare

Qualsiasi aiuto per favore, sono a conoscenza di utilità SSLscan ma quando ho eseguito esso non ritorna alcun valore e sputa un errore … non potrebbe aprire una connessione a host 127.0.0.1 sulla port 443

SSLscan Sembra che funzioni nel nostro ambiente Windows senza alcuna differenza ma non Linux. Sono anche a conoscenza di nmap ma non posso utilizzarlo nel nostro ambiente per motivi di sicurezza

Aiuto per favore

  • OpenSSL mostra sempre "non supportto" per tutti i valori UTF8 "otherName" subjectAltName
  • openssl mantiene gli errori "sconosciuto"
  • come configurare apache per redirect HTTPS a HTTP
  • Crittografare la password temporanea usando il tasto public ssh
  • Imansible proteggere il dominio secondario con SSL
  • È ansible includere la chiave privata in una CSR generata da openssl?
  • Come aggiungere string di utilizzo chiave estesa quando genera un certificato auto-firmato utilizzando openssl
  • OpenSSL rilascia in Debian Wheezy
  • One Solution collect form web for “Come posso trovare le porte SSL o le istanze SSL su Linux RHEL 5.3”

    Non sono sicuro se esiste un modo automatico per farlo.

    In primo luogo, elenchii tutte le porte che ascoltano e corrispondono le porte al process / eseguibile (ad esempio, con netstat -t -l -p , come root per poter vedere l'ID di process (PID)).

    [EDIT]

    Riceverai voci come questa, where il PID è:

     tcp 0 0 *:https *:* LISTEN 5221/apache2 

    In questo modo viene indicato quale programma è in esecuzione nella port https . (Usa netstat -t -l -p -n se vuoi solo il numero della port, nel qual caso vedrai *:443 invece di *:https ). Ciò ti dice che c'è una socket che ascolta la port 443. Inoltre, qui, 5221 è il PID per apache2, in modo da indicare anche quale applicazione viene utilizzata. A volte, potrebbe non essere immediatamente visibile quale applicazione è in uso (puoi consultare il contenuto di /proc/5221/cmdline per vedere più dettagli ad esempio).

    Mi limiterei a concentrarmi solo sulle voci che sono associate a interfacce esterne (e ignorare le voci localhost ).

    Tipicamente, puoi vedere qualcosa che ascolta sulla port 22 (ssh), 80 (http), 443 (https), …

    Dovrai poi provare uno a uno a seconda del metodo descritto di seguito.

    Ad esempio echo "" | openssl s_client -connect your.host.name:80 echo "" | openssl s_client -connect your.host.name:80 dovrebbe mostrare un messaggio di errore poiché il tuo server web non (o non dovrebbe) ascoltare le richieste SSL / TLS su questa port, echo "" | openssl s_client -connect your.host.name:443 echo "" | openssl s_client -connect your.host.name:443 dovrebbe funzionare e mostrare alcune informazioni relative al certificato e alla connessione.

    [/ EDIT]

    Per SSL / TLS in primo piano , è ansible verificare se accetta un TLS ClientHello (cioè essere un server TLS dall'inizio della connessione), ma utilizzando echo "" | openssl s_client -connect hostname:port echo "" | openssl s_client -connect hostname:port ( echo "" | è opzionale, si arresterà appena openssl non appena stabilisce la connessione, perché probabilmente non si desidera submit niente di specifici).

    Per le connessioni SSL / TLS "aggiornate" , eseguite dopo un command al livello del protocollo dell'applicazione (ad esempio STARTTLS ), questo può essere più complicato.

    È ansible farlo per l'aggiunta di -starttls the_name_of_the_protocol a questo command openssl s_client . Secondo la documentazione OpenSSL, " Attualmente, i soli nomi protocolli supportti sono" smtp "," pop3 "," imap "e" ftp " ".

    Questo non ti aiuterà per LDAP (se configurato per utilizzare Start TLS e non TLS in su), MySQL, PostgreSQL, … Per questi, è sufficiente esaminare i rispettivi file di configuration. L'automatizzazione di questo process richiede uno strumento che possa comprendere tutti questi protocolli, che può essere molto difficile.

    Un paio di punti aggiuntivi, se si tratta di un audit di sicurezza più generale:

    • L'abilitazione di SSL / TLS è raramente sufficiente. Si desidera inoltre assicurarsi che sia configurato correttamente: certificato valido, SSLv2 disabilitato, tentativo di passare ai valori più alti di SSL / TLS (SSLv3, TLSv1.0, TLSv1.1 +) distriggersndo le versioni precedenti se la base utente è sufficientemente compatibile, inadeguata rinegoziazione disabilitata se ansible, suite di cifrature ragionevolmente forti.

    • Nonostante utilizzi la libreria OpenSSL, OpenSSH (e SSH in generale) non si basa su SSL / TLS. Potresti ancora desiderare di mantenere questo, anche se la tua politica è quella di utilizzare solo servizi SSL / TLS.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.