Stunnel: SSL-à-SSL? (Pour smtp / imap)

Comment puis-je configurer Stunnel pour accéder aux connexions SSL d'accpet, puis me connecter à un port SSL sur un autre serveur?

Voici ma configuration:

Le serveur de notre ISP, «Serveur de messagerie», supporte smtp / imap sur SSL. (Pas de démarrage. Un peu plus de ssl.)

Mais, j'ai un tas de machines clientes qui ne font que faire confiance à un certificat racine spécifique, interne. Ainsi, ils ne peuvent pas se connecter à "Mail Server".

Pour ces machines clients, j'aimerais faire un hôte dédié "Mail Tunnel" qui utilise Stunnel pour écouter avec un certificat SSL signé et simplement transférer les données vers "Mail Server" en utilisant une 2ème connexion SSL.

Est-ce possible?

Quelles seraient les étapes spécifiques pour Ubuntu Server 10.10? (Je ne connais pas trop la configuration persistante du service.)

Je vous remercie

One Solution collect form web for “Stunnel: SSL-à-SSL? (Pour smtp / imap)”

Je ne connais pas les détails de 10.10, mais je vais supposer qu'il soit très proche de Debian.

Une chose que vous pourriez faire, est essentiellement configurée pour séparer les configurations stunnel. Sur cela, il accepte SSL et l'achemine vers un port local, et un autre qui écoute sur ce port local, puis crée des connexions SSL à l'hôte externe. Ces deux ne peuvent être liés à l'interface de bouclage que si les données non chiffrées ne traversent pas le réseau. Il suffit de garder à l'esprit que vous faites essentiellement une attaque MITM contre vous-même. J'ai utilisé une configuration comme celle-ci pendant que j'étais en train de diagnostiquer certains problèmes avec un service Web qu'un gars se développait.

La version emballée de stunnel dans Debian / Ubuntu devrait rendre cela facile. Les scripts de démarrage commenceront fondamentalement une instance de stunnel pour chaque fichier de configuration (* .conf) trouvé dans / etc / stunnel4. Vous pouvez donc mettre les deux configurations distinctes dans / etc / stunnel4, générer vos clés, redémarrer le stunnel et fonctionner.

Voici donc la première configuration qui accepte le SSL

; /etc/stunnel/ssl_in.conf ; Certificate/key is needed in server mode and optional in client mode cert = /etc/stunnel/srv1.keys ; Some security enhancements for UNIX systems - comment them out on Win32 chroot = /var/lib/stunnel4/ setuid = stunnel4 setgid = stunnel4 ; PID is created inside chroot jail pid = /srv1.pid debug = 4 output = /var/log/stunnel4/ssl_in.log ; Some performance tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 [ssl_in_imap] accept = 993 connect = localhost:10993 [ssl_in_smtp] accept = 587 connect = localhost:10587 

Votre deuxième instance crée des connexions sortantes.

 ; /etc/stunnel/ssl_out.conf ; Some security enhancements for UNIX systems - comment them out on Win32 chroot = /var/lib/stunnel4/ setuid = stunnel4 setgid = stunnel4 ; PID is created inside chroot jail pid = /clt1.pid ; Some performance tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 client=yes CAfile = clt1.ca verify = 0 [ssl_out_imap] accept = 10993 connect = remote_server:993 [ssl_out_smtp] accept = 10587 connect = remote_server:10587 

Pour générer le nom du fichier.keys pour le serveur.

 # Create a new key and preparte a CSR openssl req -new -keyout filename.pem -out filename.csr # Remove the passphrase from the key openssl rsa -in filename.pem -out filename.key # Self sign openssl x509 -in filename.csr -out filename.cert -req -signkey filename.key -days 720 # combine files to get the keys file stunnel needs. cat filename.key filename.cert > filename.keys 

Votre fichier ressemblera à ceci.

 -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQDkwzyKrPRXGyvEgITm/7oC9fDU4Y7L9mtMXmcIR98cp0g1ndcz ... qhP3y97k67EVdSC+92pIGrAL7kBWckpJ2HP1El4KeZg= -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIICHzCCAYgCCQDq/33qh7Dq5TANBgkqhkiG9w0BAQUFADBUMQswCQYDVQQGEwJV ... ebbhvhYLx1KkhD8/dXEbU0+kNg== -----END CERTIFICATE----- 
  • installation d'un script en tant que service de démarrage dans ubuntu
  • L'échec du pxe échoue avec le message: aucune directive de configuration par défaut ou UI n'a trouvé
  • Crazy VM Clock drift
  • Configuration de memcached / memcache avec Php sur Ubuntu 10.10
  • Obtenir Xvfb pour démarrer lors du système de démarrage dans Ubuntu Maverick
  • Comment puis-je installer MySQL avec un moteur de stockage fédéré sur Ubuntu
  • Le dossier de données MySQL dans la partition Windows monté sous Ubuntu n'est pas accepté par MySQL
  • Copier le file du server distant vers mon bureau ubuntu
  • Passer de Vagrant en développement à chef-solo en production et get un "FATAL: NoMethodError: méthode non définie" effacer "pour l'erreur # <Chef :: Role"
  • Ajouter htaccess pour phpMyAdmin installé dans / usr / share /?
  • Configuration de StrongSwan ipsec, quelques questions
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.