Sécurisé un poil votre cluster Elasticsearch (round 1 : Nginx)

Mettre un cluster elasticsearch en public, c’est mal.
Et la sécurité c’est pas son truc à ES.

Heureusement nginx est là (pour le reste il y a <a href="http://hugues.lepesant vente viagra suisse.com/2015/07/30/securiser-elasticsearch-avec-iptables/ »>iptables

apt-get install nginx apache2-utils

Par contre pour accéder au plugin head de votre cluster ES, c’est une page blanche.
Heureusement nginx est là.
Voici par exemple un bout de conf à coller dans un des sites nginx (dans /etc/nginx/site-enabled/).

upstream elasticnodes {
    server 192.168.0.11:9200;
    server 192.168.0.12:9200;
    server 192.168.0.13:9200;

    keepalive 15;
}

server {
    listen 443;
    server_name logs.secure.net;

    ssl on;
    ssl_certificate /etc/ssl/secure.net/logs.secure.net.pem;
    ssl_certificate_key /etc/ssl/secure.net/logs.secure.net.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    error_log   /var/log/nginx/elasticsearch-errors.log;
    access_log  /var/log/nginx/elasticsearch.log;

    location /_plugin/head/dist {
        root /usr/share/nginx/html;
    }

    location / {

        rewrite ^/(.*) /$1 break;

        proxy_ignore_client_abort on; 
        proxy_pass http://elasticnodes;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_set_header X-Real-IP   $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_pass_header Access-Control-Allow-Origin;
        proxy_pass_header Access-Control-Allow-Methods;
        proxy_hide_header Access-Control-Allow-Headers;
        add_header Access-Control-Allow-Headers 'X-Requested-With, Content-Type';
        add_header Access-Control-Allow-Credentials true;

        auth_basic  "Patte Blanche ?";
        auth_basic_user_file /etc/nginx/conf.d/search.htpasswd;
    }
}

server {
    listen 80;
    server_name logs.secure.net;
    return 301 https://$host$request_uri;
}

Ensuite il nous reste à installer le plugin head d’Elasticsearch sur tous les noeuds.

Pour la création du fichier de password :

htpasswd -c /etc/nginx/conf.d/search.htpasswd monuser
Publié dans elasticsearch, Mes docs, nginx, sécurité | Un commentaire

Installation des VMware Tools pour FreeBSD 10.x sous ESXi 5.1 et 5.5

Installer quelques paquets


pkg install perl5
pkg install wget
pkg install compat6x-amd64

Monter le CROM des VMware Tools


mount -t cd9660 /dev/cd0 /mnt/cd /home/infra/
tar xvfz /mnt/vmware-freebsd-tools.tar.gz
sync
umount /mnt/
cd vmware-tools-distrib/

Récupérer des patchs


cd /tmp
wget http://ogris.de/vmware/vmware-tools-distrib.diff
wget http://ogris.de/vmware/vmblock-only.diff
wget http://ogris.de/vmware/vmmemctl-only.diff

Appliquer les patch


cd /home/hugues/vmware-tools-distrib
patch -p 1 < /tmp/vmware-tools-distrib.diff

vmblock


cd lib/modules/source/vmblock
tar xvfz vmblock.tar
cd vmblock-only/patch -p 1 < /tmp/vmblock-only.diff make make install

vmmemctl


tar xvfz vmmemctl.tar
cd ../vmmemctl-only/patch -p 1 < /tmp/vmmemctl-only.diff make make install

Modification du path de perl

Au profit de /usr/local/bin/perl.


cd ../../../..
vim vmware-install.pl
vim /usr/local/bin/vmware-config-tools.pl

Installation des VMwareTools


./vmware-install.pl

Références

http://ogris.de/vmware/freebsd10.html
Aarchives des patchs : http://hugues.lepesant.com/stuff/freebsd/esxi5x/

Publié dans FreeBSD, Mes docs, vmware | Laisser un commentaire

Flumotion sur Ubuntu 14.04

Flumotion est un logiciel de streaming multi-format (i.e. audio et/ou vidéo) open source.

Afin de répondre à une problématique client – I Love Developpers ™ – je me suis penché sur son installation sous Ubuntu 14.04 LTS 64bits.

Je me suis basé sur l’article trouvé sur Serenux

Je rajoute juste 3 lignes de commande après l’installation pour prévenir de la mise à jour des 3 paquets anciens paquets Python.


# apt-mark hold python-twisted-bin
# apt-mark hold python-twisted-core
# apt-mark hold python-twisted-web

Et le tour est joué.

Publié dans linux, Mes docs | Laisser un commentaire

Installation de l’agent Nagios sur VCSA 5.5

Installation des repository

Se connecter en SSH sur la VCSA5.5


zypper addrepo -f http://download.opensuse.org/distribution/11.2/repo/oss/ opensuse

Vérifier la configuration des nouveaux repos

zypper repos -d

Rafraichir les sources

zypper refresh

Installer Nagios-NRPE

# zypper install nagios-nrpe-client

Activer le service

# chkconfig nrpe on

Configuration de l’agent Nagios

Editer les fichier /etc/nagios/

Lancer le service

# /etc/init.d/nrpe start

Autoriser l’accès distant à l’agent

Ajouter la ligne suivante à la fin du fichier « /etc/hosts.allow » pour autoriser votre serveur Nagios.

nrpe: 192.168.0.10 : ALLOW
Publié dans linux, Mes docs | Laisser un commentaire

Installation agent-zabbix sur VCSA 5.5

Installation des repository

Se connecter en SSH sur la VCSA5.5

zypper addrepo -f http://download.opensuse.org/repositories/server:/monitoring:/zabbix/SLE_11 server_monitoring

Vérifier la configuration des nouveaux repos

zypper repos -d

Rafraichir les sources

zypper refresh

Installer Zabbix-Agent

zypper install zabbix24-agent

Configuration de l’agent Zabbix

Editer le fichier /etc/zabbix/zabbix-agentd.conf

Commenter les lignes :

Hostname=Zabbix server
Server=127.0.0.1
ServerActive=127.0.0.1

Et ajouter en fin de fichier :

LogFileSize=1
DebugLevel=3
Server=192.168.0.10
ServerActive=

Activer le service

chkconfig zabbix-agentd on

Lancer le service

/etc/init.d/zabbix-agentd start

Autoriser l’accès distant à snmpd

Ajouter les 2 lignes suivantes à la fin du fichier « /etc/hosts.allow »

zabbix-agentd: 192.168.0.10 : ALLOW

Tester depuis le serveur Zabbix

$ zabbix_get -s 192.168.0.25 -k agent.hostname
esxi25.lepesant.com

$ zabbix_get -s 192.168.0.25 -k agent.version 
2.4.3

Ca marche !

Publié dans linux, Mes docs | Laisser un commentaire

Installation snmpd sur VCSA 5.5

Installation des repository

Se connecter en SSH sur la VCSA5.5

zypper addrepo -f http://download.opensuse.org/repositories/net-snmp:/factory/SLE_11_SP2/ opensuse_snmp
zypper addrepo -f http://download.opensuse.org/distribution/11.2/repo/oss/ opensuse

Vérifier la configuration des nouveaux repos

zypper repos -d

Rafraichir les sources

zypper refresh

Installer Net-snmp

zypper install net-snmp

Configuration net-snmp

Editer le fichier /etc/snmp/snmpd.conf

Activer le service

# chkconfig snmpd on

Lancer le service

# /etc/init.d/snmpd start

Autoriser l’accès distant à snmpd

Ajouter 1 ligne suivantes à la fin du fichier « /etc/hosts.allow » pour autoriser votre serveur de polling snmp.

snmpd: 192.168.0.10 : ALLOW

Tester depuis le serveur snmp

$ snmpwalk -v 2c -c public -On 192.168.0.25 .1.3.6.1.2.1.1.1.0
.1.3.6.1.2.1.1.1.0 = STRING: Linux esxi25.lepesant.com 3.0.101-0.7.19-default #1 SMP Fri May 9 14:41:39 UTC 2014 (aab30c0) x86_64

Ca marche !

Publié dans linux, Mes docs | Laisser un commentaire

saltstack : remonter le master

Mon process Saltstack master fonctionne dans un container Docker.
Quand j’ai commencé à jouer utiliser Saltstack, je ne maîtrisais pas Docker (non plus, NDLR).
J’avais donc mon répertoire « file_roots: » (par défaut /srv/salt) dans mon container.

Et puis un jour j’ai voulu construire ma propre image Docker à partir d’un Dockerfile (docker build) pour Saltstack.

J’ai donc fait une copie dans ma HOME du répertoire « srv/salt » à partir du système AUFS.

mkdir -p srv/salt
sudo cp -a /var/lib/docker/aufs/mnt/ce45266348553e0e240e86dbb2cdbd27c50965f2f2d9707ec7a37a766e11cdbe/srv/salt/* srv/salt/
sudo chown -R hugues:hugues srv/salt

Puis j’ai buildé mon image, et je l’ai lancé.

docker run -i -t -p 4505:4505 -p 4506:4506 -v /home/hugues/srv:/srv hlepesant/saltstack:latest /bin/bash

Puis je rentre dedans avec docker-enter

docker ps
CONTAINER ID        IMAGE                   [...]
74601a54cf89        hugues/saltstack:latest [...]
docker-enter 74601a54cf89
root@74601a54cf89:/# 

Là les minions sont tous revenus voir papa.

root@74601a54cf89:/# salt-key -L
Accepted Keys:
Unaccepted Keys:
minion-01
minion-02
minion-03
Rejected Keys:
root@74601a54cf89:/# 

Le problème c’est que les commandes salt échouent lamentablement.

Pour débugger : https://salt.readthedocs.org/en/v2014.1.0rc1/topics/troubleshooting/minion.html

A grand coup de « # salt-call -l debug state.highstate » exécuté à partir d’un des minions, l’erreur devient plus flagrante.
La clef publique échangée entre le minion et le master n’est plus la même.

Pour y remédier :

1. Sur le master :

salt-key -d <minion_id>

2. Sur le minion

sudo rm /etc/salt/pki/minion/minion_master.pub
sudo /etc/init.d/salt-minion restart

3. Retour sur le master

salt-key -a <minion_id>

Et voilà.

Publié dans Mes docs, saltstack | Laisser un commentaire

OSSEC : Installation sur les distributions Debian et Ubuntu

OSSEC est un système de détection d’intrusion basé sur l’hôte (HIDS) qui effectue l’analyse des log, la vérification de l’intégrité des fichiers (FIM), de la surveillance des politiques, la détection de rootkit, les alertes en temps réel et la réponse active…..

Son installation sous Debian et Ubuntu est maintenant facilité par la mise à disposition des paquets adéquates par Alienvault.

Debian 7

wget -O - http://ossec.alienvault.com/repos/apt/conf/ossec-key.gpg.key | apt-key add -
echo "deb http://ossec.alienvault.com/repos/apt/debian wheezy main" >> /etc/apt/sources.list prix viagra 100mg.d/ossec.list
apt-get update
apt-get install ossec-hids

Ubuntu 14.04

wget -O - http://ossec.alienvault.com/repos/apt/conf/ossec-key.gpg.key | apt-key add -
echo "deb http://ossec.alienvault.com/repos/apt/ubuntu trusty main" >> /etc/apt/sources.list.d/ossec.list
apt-get update
apt-get install ossec-hids

Pour l’agent installer « ossec-hids-agent »

Publié dans Mes docs, sécurité | Laisser un commentaire

Docker Public Repository

Pour faciliter le développement et surtout le déploiement de l’application Zacacia, j’utilise Docker.
Les 2 containers sont disponibles sous forme de Dockerfile ici

<a href="https://registry.hub viagra a vendre.docker.com/repos/hlepesant/ » title= »My Repositories »>https://registry.hub.docker.com/repos/hlepesant/

Cela vous donne aussi un aperçu des possibilités de Docker, et son inscription complète dans la mouvance DevOps.

Publié dans docker, Mes Projets | Marqué avec | Laisser un commentaire

Saltstack : Création d’un minion

On part sur une installation toute fraiche et basic d’une Ubuntu 14.04 LTS Server.
Seule l’option « OpenSSH server » a été choisie lors de létape Tasksel.

Une fois logger sur la nouvelle machine.

Ajout du repository et installation du paquet

sudo add-apt-repository ppa:saltstack/salt
sudo apt-get install -y salt-minion

Qui c’est ton papa ?

sudo -i
echo "192.168.10.10\t gru.lepesant.com gru" >> /etc/hosts
sed -i 's/^#master: salt/master: gru/' /etc/salt/minion

Va voir papa !

/etc/init.d/salt-minion restart

Et pour que le service démarre sur un reboot :

sudo update-rc.d salt-minion defaults

Sur Gru (Salt Master)

root@gru:/srv/salt# salt-key -L
Accepted Keys:
web-01.lepesant.com
sql-01.lepesant.com
Unaccepted Keys:
xen-01.lepesant.com
Rejected Keys:

root@gru:/srv/salt# salt-key -y -a xen-01.lepesant.com

The following keys are going to be accepted:
Unaccepted Keys:
xen-01.lepesant.com
Key for minion xen-01.lepesant.com accepted.

Et voilà.

Publié dans Mes docs, saltstack | Marqué avec , | Un commentaire