:::: MENU ::::

Monthly Archives / June 2016

  • Jun 09 / 2016
  • 0
Linux, Python

openssl/pyOpenSSL – “SSL23_GET_SERVER_HELLO:tlsv1 alert internal error”openssl/pyOpenSSL – “SSL23_GET_SERVER_HELLO:tlsv1 alert internal error”

You’re getting this annoying error message again and again when trying to fetch certificate and/or establish a connection to your website using openssl:

This issue is well known in several openssl versions, and a bug has been addressed for Ubuntu repositories:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1475228

For now, there’s a simple workaround that works to quickly fix it!

For openssl

If you’re facing it while using openssl directly, you can fix it by specifying the servername on command-line:

For pyOpenSSL

If you’re having this issue while using pyOpenSSL (python wrapper for OpenSSL), it can also be fixed with a quick workaround by adding the option set_tlsext_host_name() to specify the server name in your “Connection” object.
You will get something like this:

Vous avez ce message ennuyeux encore et encore lorsque vous essayer de récupérer le certificat ou tout simplement en essayant d’établir une connexion à votre site web en utilisant openssl :

Ce problème est bien connu sur de nombreuses versions d’openssl, et un bug a même été remonté pour les dépôts Ubuntu :
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/1475228

Pour le moment, il y a un moyen simple de rapidement contourner le problème !

Pour openssl

Si vous rencontrez le problème lorsque vous utilisez openssl directement, vous pouvez corriger le souci en spécifiant l’option servername sur la ligne de commande :

Pour pyOpenSSL

Si vous avez le problème en utilisant pyOpenSSL (un wrapper python pour OpenSSL), il est également possible de contourner le problème en ajoutant l’option set_tlsext_host_name() pour spécifier le nom du serveur dans votre objet “Connection” :
Vous aurez alors quelque chose comme :

  • Jun 02 / 2016
  • 0
Linux

Configure VLan interface (with alias)Configurer une interface sur un VLan (avec un alias)

If you want to isolate multiple networks, you can use VLAN (Virtual LAN). On most of the switches, you can configure VLAN to handle tagged packets and be able to send them to a specific port by isolating it. A VLAN is assigned a specific id that can be any number between 1 and 4096.

Most of the Linux distributions can handle tagged packets and VLAN usage, but this feature is not mandatory enabled by default. For the example, I’ll present here how you can enable and configure VLAN on Ubuntu Server 14.04.

First, you need to install the vlan package:

Temporary configuration

Then, you should load the 8021q module into the kernel (guessing you’re using a recent and not customized kernel):

As it’s not possible to create a VLAN on virtual interface, you will have to use physical interface and alias to make it work. You can create additional interface with:

Then, you can assign an address to this interface:

And finally make the interface up:

Permanent configuration

You have to load the module automatically and permanently:

Finally, set the configuration in /etc/network/interfaces in order to make it loaded on startup:

Si vous souhaitez isoler plusieurs réseaux, vous pouvez utiliser les VLAN (LAN virtuel). Sur la plupart des switchs, vous pouvez configurer les VLAN pour gérer les paquets tagués et être capable de les envoyer vers un port spécifique en les isolant. Un VLAN nécessite d’avoir un id assigné qui peut être n’importe quel nombre entre 1 et 4096.

La plupart des distributions Linux peuvent gérer les paquets tagués et l’usage des VLANs, mais cette fonctionnalité n’est pas forcément activée par défaut. Pour l’exemple, je présenterai ici comment activer et configurer les VLANs sur Ubuntu Server 14.04.

En premier lieu, il faut installer le package vlan :

Configuration temporaire

Ensuite, vous devriez charger le module 8021q dans le kernel (en imaginant que vous utilisez une version récente de kernel et non personnalisée) :

Comme il n’est pas possible de créer un VLAN sur une interface virtuelle, vous devrez utiliser une interface physique et les mécanismes d’alias pour le faire fonctionner. Vous pouvez créer une interface additionnelle avec la commande :

Ensuite, vous pouvez assigner une adresse à cette interface :

Et finalement activer l’interface :

Configuration permanente

Vous devez charger le module automatiquement et de manière permanente :

Finalement, éditez la configuration réseau dans /etc/network/interfaces afin qu’elle soit chargée au démarrage :

Question ? Contact