Support TLS 1.3 pour nginx sous Debian 9

TLS 1.3 pour nginx sous Debian 9

Salut à tous, aujourd’hui on va prendre 15 minutes pour ajouter le support de TLS 1.3 pour nginx sous Debian 9 pour geekeries.org. En effet, la nouvelle version de TLS sortie en sortie en aout 2018 commence à faire son chemin et ajouter son support à geekeries.org est parfaitement inutile, pour l’instant, il est donc totalement indispensable de le faire.

TLS1.3 pourquoi ?

TLS1.3 est une nouvelle version du protocole de chiffrement des communications HTTPS. Il s’agit du dernier rejeton de la famille SSLv2, SSLv3, TLS 1.0, TLS 1.1, TLS 1.2 et TLS 1.3 (par ordre d’apparition). Comme toute nouvelle version d’un logiciel, TLS1.3 apporte des gains de performances, de sécurité et de fonctionnalité (plus de détails ici).

TLS1.3 et nginx

Alors la bonne nouvelle c’est que nginx supporte TLS1.3 depuis sa version 1.13. Il nous suffit donc, en théorie, de rajouter la directive ci-dessous dans le fichier de configuration /etc/nginx/nginx.conf, si vous avez une version ultérieure (et de mettre à jour sinon) :

ssl_protocols TLSv1.3 TLSv1.2;

Pourtant, quand je test cette configuration chez Qualys, on s’aperçoit que le support de TLS 1.3 n’est pas actif. Mais pourquoi donc me direz-vous ?

Simplement parce que nginx n’implémente … Lire la suite

Fail2ban, xmlrpc et nginx – Créer sa règle fail2ban maison

Fail2ban xmlrpc et nginx

Salut à tous, je vous propose un nouveau TP sur fail2ban, xmlrpc & nginx. Ceux qui n’ont pas suivi ou qui débutent avec fail2ban sur WordPress devraient commencer par lire cet article qui fait parfaitement le boulot contre 99% des attaques. Néanmoins, ma supervision Splunk m’a permis de repérer une IP qui arrivait à contourner mes protections en créant des codes d’erreurs 499 sur le serveur web via des requêtes foireuses.

Vu que la fonctionnalité XMLRPC est désactivée sur le site, il y a peu de chance que celui-ci arrive à faire quoi que ce soit. Ce n’est pas une raison pour le laisser faire en saturant le serveur de requêtes inutiles…

Pour ceux qui ont lu mon article sur Splunk et Nginx, la requête Splunk qui m’a permis de générer le graphique pour cet article est la suivante :

index=nginx xmlrpc  | timechart count by src

Fail2ban, xmlrpc et nginx

Pour votre culture, les protections en place ne fonctionnaient pas puisque la requête HTTP en code 499 n’arrivait jamais jusqu’à WordPress qui n’avait donc pas la chance d’écrire une ligne de log sur le sujet. Seul le serveur Web traitait la requête, pour rien donc.

Alors j’aurai pu … Lire la suite

USB Phoning Home : la clé USB qui vole les données

Attaques par clés USB

Salut à tous, bon cela fait un moment que je suis sur ce sujet. Aujourd’hui on va travailler avec l’USBArmory pour créer une clé USB qui vole les données que l’on place dessus à un serveur externe. Bref, une clé USB qui vole vos données. Ce TP illustre bien qu’il est risqué de connecter des clés USB non contrôlées sur un SI d’entreprise, a fortiori, si celui ci est sensible… Ça devrait vous donner des idées sur comment on peut pourrir un SI en piégeant du matériel et contourner une bonne partie des mécanismes de sécurité du réseau au passage.

Il n’existe pas de périphériques “inoffensifs”, et c’est d’autant plus d’actualités avec les Raspberry Pi et les PC USB.

Dans ce TP je vais vous montrer comment implémenter l’USB Devices Phoning home proposé par Willnix en 2016 (papier que je vous recommande le lire avant d’attaquer ce TP). Cette technique est un peu surclassée depuis par le PoisonTap mais elle reste intéressante à réaliser comme TP hardware piégé.

USB Phoning Home : la clé USB qui vole les données que l'on place dessus

Principe

Le principe est celui d’une “attaque hardware” ou un méchant laisse traîner une clé USB(Armory) sur le parking ou bien distribue des clé USB vérolées lors d’une conférence ou d’un … Lire la suite

Installer un serveur VNC sous linux Debian 7

HeaderVNC

Salut à tous,Aujourd’hui un TP rapide sur comment Installer un serveur VNC (un accès VNC en fait) sur une Debian.

VNC quoi ?

VNC pour Virtual Network Computing c’est simplement l’équivalent du protocole RDP de Microsoft mais en open-source. Ça fonctionne en mode client/serveur, et cela permet au logiciel client de transmettre les informations de saisie du clavier et de la souris à l’ordinateur distant en récupérant un retour graphique.

Déploiement de VNC sur le serveur

Installer un serveur VNC

Sur votre Debian 7, en tant que root, Installer VNC4Server :

apt-get install vnc4server

Configurer un accès

Si nécessaire, ajouter le compte utilisateur devant accéder à distance; puis, en tant que cet utilisateur,  configurer son accès (ici je suis en tant que vncuser) :

> vncserver
You will require a password to access your desktops.
Password:
Verify:
xauth: file /home/vncuser/.Xauthority does not exist
New 'debian:1 (vncuser)' desktop is debian:1

Et si besoin ultérieur pour réinitialiser le mot de passe, l’utilisateur peut simplement taper :

> vncpasswd

On va maintenant stopper le processus VNC le temps de finir la conf :

> vncserver -kill :1

Revenir en tant que root, éditer le fichier suivant pour lancer automatiquement le serveur VNC pour … Lire la suite