Procédure pour générer des OTP avec Hashicorp Vault pour les connexions SSH
Petit procédure pour générer une clé GPG avec Keybase sur MacOS et l'utiliser pour signer ses commits GitHub
Une nouvelle vulnérabilité a été découverte dans runc qui permet aux containers Docker qui tournent en tant que root de devenir root sure le système hôte.
Il faut mettre à jour Docker (dernière version: 18.09.02).
Il est également recommandé de ne jamais faire tourner de containers en tant que root et de contrôler les images Docker qui tournent en production.
EDIT: voire également la communication côté K8S (https://kubernetes.io/blog/2019/02/11/runc-and-cve-2019-5736/) et AWS (https://aws.amazon.com/security/security-bulletins/AWS-2019-002/)
L'auteur propose de se passer de bastion pour accéder aux resources dans le cloud en ouvrant le port SSH uniquement lorsque l'on a besoin de se connecter à une instance grace à un script qui génère dynamiquement des Security Groups.
La démarche est interessante mais n'apporte pas de solutions pour les instances situés dans des subnets privés et ne disposant pas d'IP publiques.
Le SSH ForwardAgent
est déconseillé car il peut potentiellement exposer les clés SSH (cf. https://julien.mailleret.fr/links/?QRAuyw). Il est désormais recommender d'utiliser ProxyJump
sur les versions d'OpenSSH > 7.3 qui remplace ProxyCommand
.
Voir également: https://heipei.io/2015/02/26/SSH-Agent-Forwarding-considered-harmful/
QuickLook stocke en clair une miniature de chaque fichier visualisé.
qlmanage -r cache # supprime les miniatures actuelles
qlmanage -r disablecache # désactive la mise en cache de ces miniatures
Quelques bonnes pratiques pour sécuriser MacOS.
Procédure pour utiliser le MFA avec la cli AWS
AWS propose désormais un gestionaire de secrets intégré avec KMS
Pour chiffrer les password dans les settings maven:
$ mvn --encrypt-master-password
Password:
{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}
$ cat << EOF >> ~/.m2/settings-security.xml
<settingsSecurity>
<master>{jSMOWnoPFgsHVpMvz5VrIt5kRbzGpI8u+9EF1iFQyJQ=}</master>
</settingsSecurity>
EOF
$ mvn --encrypt-password
Password:
{COQLCE6DU6GtcS5P=}
$ cat << EOF >> ~/.m2/settings.xml
<settings>
...
<servers>
...
<server>
<id>my.server</id>
<username>foo</username>
<password>{COQLCE6DU6GtcS5P=}</password>
</server>
...
</servers>
...
</settings>
EOF
3 méthodes différentes permettant de prendre le contrôle d'un cluster kubernetes à partir d'un pod avec une installation de kops par défaut et comment les sécuriser. Il faudrait vérifier si ces failles existent également par défaut avec les autres outils de provisioning kubernetes (kubespray...).
# create encrypted file container
dd if=/dev/zero bs=1M count=1000 of=./container.img
sudo cryptsetup luksFormat ./container.img
sudo cryptsetup luksOpen ./container.img container
sudo mkfs.ext4 /dev/mapper/container
sudo mount /dev/mapper/container /mnt/
# open encrypted file container
sudo cryptsetup luksOpen ./container.img container
sudo mount /dev/mapper/container /mnt/
# close encrypted file container
sudo umount /mnt
sudo cryptsetup luksClose container
Amazon GuardDuty analyse plusieurs sources de données AWS (Logs Cloudtrail, VPC Flow & DNS) et détecte les comportements suspects (instances EC2 se connectant à un domaine lié aux bitcoins ou prenant part à une attaque brute force par ex...).
Comment installer debian avec des disques chiffrés sur un serveur dédié Online
Des bonnes pratiques sécurités pour sysadmin présentées par Aeris:
- choisir un OS stable (Debian, FreeBSD, CentOS ou RedHat par ex)
- Reinstaller soit même l'OS quand on est chez un hébergeur (OVH, Online, ...)
- N'installer que le script nécessaire
- Chiffrer le disque sur un desktop/laptop, pas nécessaire sur un serveur
- Suiver les alertes de sécurité et les appliquer
- Filtrer le traffic avec Iptables, y compris à l'intérieur du réseau local (exemples de conf)
- Sécuriser SSH (exemples de conf)
- Activer 2FA (Yubico est recommandé)
- Installer Fail2Ban
- Automatiser les mises à jours de sécurité
- Sécuriser la pile réseau avec sysctl (exemples de conf)
- Sécuriser DNS, Apache/Nginx et smtP/IMAPS/Submission
- Préférer l'isolation avec LXC plutôt que Docker et attention aux nouvelles techno en vogue qui ne sont pas pensé sécurité.
- Utiliser HPKP & Dane/TLSA pour palier les problèmes de sécurité des autorités de certifications
La version audio de la conférence (3H12) est ici: https://confs.imirhil.fr/20170513_root66_securite-admin-sys.ogg
Un scanner de sécurité pour OwnCloud et Nextcloud
EFF is publishing a guide to protect your data from controls at US border when travelling to US.
Des nouvelles listes de mots créées par l'EFF pour remplacer la liste Diceware (cf https://julien.mailleret.fr/links/?eepA7w)
Un guide très complet pour monter une archi HAproxy en HA derrière un ELB avec la terminaison SSL au niveau du HAproxy (utile pour avoir plusieurs certificats SSL sur le même HAproxy par exemple).
Parmi les points importants:
- utiliser le mode TCP au niveau de l'ELB pour laisser HAproxy gérer la terminaison SSL
- activer le Proxy Protocol au niveau ELB (
ProxyProtocolPolicyType
) et HAproxy (accept-proxy
) pour récupérer les IP sources dans les logs HAproxy - créer un frontend sans le Proxy Protocol sur le HAproxy dédié au Healthcheck ELB (les healthcheck ELB ne supportent pas encore le ProxyProtocol)
Également pas mal d'autres astuces pour ajouter des fonctions de sécurité basiques au niveau HAproxy (URL filtering, Rate limiting, DDOS protection...)
Quelques astuces pour se protéger des attaques DDOS au niveau du HAproxy
- Pour limiter les attaques DDOS de type TCP Syn Flood au niveau de l'HAproxy, modifier les parmètre suivant dans
sysctl
:net.ipv4.tcp_syncookies = 1 net.ipv4.conf.all.rp_filter = 1 net.ipv4.tcp_max_syn_backlog = 1024
- Pour limiter les attaques de type Slowloris, ajouter le paramètre
timeout http-request 5s
dans le fichier de configuration HAproxy
Egalement d'autres astuces, pour:
- paramétrer des limites max de connexions différentes pour le contenu static et dynamique (en utilisant 2 backends différents)
- limiter le nombre de connexions par user
- limiter le nombre de connexions par secondes par user
- limiter le nombre de requêtes par secondes
- détecter et bloquer les scans de vulnerabilités