Les "Stats" pour les Nuls : Netdata

Rédigé par citizenz - - 1 commentaire

​Afficher les stats d'un serveur, cela peut être bien utile : vérifier la charge processeur, la RAM utilisée, la "santé" de sa base de données SQL, etc.
Jusqu'à maintenant, j'avais l'habitude d'installer Munin qui nous propose de jolis graphiques. Mais, à mon goût, l'un des inconvénients de Munin, c'est que, outre l'aspect esthétique graphique un peu répétitif, ça devient vite "assez lourd" sur des petits systèmes (sur un petit VPS avec un proc et 2 GO de RAM, vous êtes vite dépassé niveau charge avec des crêtes d'utilisation assez élevées...).

Et puis je suis tombé sur Netdata. Un site proposait d'aller "voir" ses stats en ligne : ahurissant !
Netdata, c'est du "live", "temps réel", "en direct", blablabla, ... et vous avez beau descendre dans la page de stats, vous en avez toujours, encore et encore.
C'est ULTRA complet, esthétiquement à des années lumières de Munin. Ca flash !

C'est quoi Netdata ?
Netdata est un outil de supervision en temps réel pour les systèmes Linux qui va nous permettre de visualiser les éléments importants d'un système (processeur, mémoire, débit du disque dur, traffic réseau, application, etc.).
C'est assez exhaustif et vous serez surpris du nombres d'éléments visualisables ! 

Comment on installe Netdata ?
Bon : on va l'installer sur notre serveur Debian. Mais avant cela, on va installer quelques éléments indispensables :

$sudo apt install zlib1g-dev gcc make git autoconf autogen automake pkg-config

J'ai l'habitude d'installer mes sites web dans /var/www/monsite.com/web.
Je pars du postulat que Nginx (version stable depuis le dépot officiel), php5 ou php7 sont installés.
N'oubliez pas de changer monsite.com avec vos propres infos.

Pour plus d'aisance, on passe directement en root :

$sudo -s

Puis on crée le répertoire web qui va accueillir les fichiers netdata :

#mkdir /var/www/netdata.mondomaine.com

Si vous n'avez jamais encore configuré de site dans ce répertoire, entrez plutôt la commande suivante : 

#mkdir -p /var/www/netdata.mondomaine.com

On se place dans le répertoire web qu'on vient de créer :

#cd /var/www/netdata.mondomaine.com

La ligne suivante est facultative (mais ça me permet de placer les logs du site afin de les consulter facilement, notamment en cas de soucis...)

#mkdir logs

On va maintenant cloner le repertoire git du projet Netdata :

#git clone https://github.com/firehol/netdata.git netdata --depth=1

L'étape suivante est facultative. Je renomme le répertoire netdata pour coller avec ma config et mon "organisation" :

#mv netdata/ web/

On se place dans le répertopire web/ :

#cd web/

... et on installe Netdata :

#./netdata-installer.sh

... et c'est tout !

Configuration Nginx
Il reste quand même à configurer Nginx :

#cd /etc/nginx/conf.d
#vim netdata.mondomaine.com.conf

Cerise sur le gateau, nous allons configurer le vhost Nginx avec HTTPS Let's Encrypt :
- netdata écoute, par défaut, sur le port 19999
- IPV6 ready
- tous les accès sur le port 80 sont "automagiquement" renvoyer sur le port 443 (HTTPS)
- on ne log pas les accès sur le port 80
- on ajoute plusieurs options SSL "qui vont bien" ...
- nous configurerons Let's Encrypt juste après cette partie

Voici le fichier :

#/etc/nginx/conf.d/netdata.mondomaine.com.conf
upstream backend {
    server 127.0.0.1:19999;
    keepalive 64;
}
server {
    listen 80;
    listen [::]:80;
    server_name netdata.mondomaine.com;
    return 301 https://$server_name$request_uri;
    access_log /dev/null;
    error_log /dev/null;
}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name netdata.mondomaine.com;
    charset utf-8;
    access_log /var/www/netdata.mondomaine.com/logs/netdata.access.log combined;
    error_log /var/www/netdata.mondomaine.com/logs/netdata.error.log error;
    ssl_certificate /etc/letsencrypt/live/netdata.mondomaine.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/netdata.mondomaine.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/netdata.mondomaine.com/chain.pem;
    ssl_protocols TLSv1.2;
    ssl_ecdh_curve prime256v1;
    ssl_ciphers EECDH+AESGCM:EECDH+AES;
    ssl_prefer_server_ciphers on;
    resolver 80.67.169.12 80.67.169.40 valid=300s;
    resolver_timeout 5s;
    ssl_session_cache shared:SSL:10m;
    add_header Strict-Transport-Security "max-age=15768000";
    add_header Referrer-Policy "strict-origin-when-cross-origin";
    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Et voila. Vous enregistrez ce fichier après avoir adapté les passages avec netdata.mondomaine.com.

Configuration de Let's Encrypt
On passe à la config Let's Encrypt. On installe d'abord les backports Debian (à moins que cela ne soit déjà fait ...) :

#echo "deb http://httpredir.debian.org/debian jessie-backports main" >> /etc/apt/sources.list

On met à jour : 

#apt update && apt full-upgrade -y

On installe Let's Encrypt :

#apt install -t jessie-backports letsencrypt

Pour obtenir un certificat Let's Encrypt, il faut arrêter Nginx (port 80) :

#service nginx stop

Puis on génére le certifcat (à adapter pour netdata.mondomaine.com et l'adresse e-mail) :

#letsencrypt certonly -d netdata.mondomaine.com --agree-tos -m contact@mondomaine.com --rsa-key-size 4096 --standalone

Si vous voyez "Congratulations..." etc., c'est bon, votre certificat Let's Encrypt a été créé et installé dans /etc/letsencrypt/live/netdata.mondomaine.com/.
Vous y trouverez plusieurs fichiers : fullchain.pen, chain.pem, privkey.pem, ...

Redémarrez maintenant votre serveur Nginx :

#service nginx start

Si vous ne voyez pas d'erreur : VICTOIRE !

Vous pouvez aller voir vos superbes stats sur l'adresse https://netdata.mondomaine.com !
 

Installer facilement Pure-FTPd sur une Debian

Rédigé par citizenz - - Aucun commentaire
# On installe pure-ftpd
apt-get install pure-ftpd-common pure-ftpd

# On crée un nouveau groupe
groupadd ftpgroup

# On crée un nouvel utilisateur : ftpuser
# Pour des questions de sécurité, il n'a pas de /home, il n'a pas de shell
useradd -g ftpgroup -d /dev/null -s /bin/false ftpuser

# On crée un nouvel utilisateur "virtuel" de pure-ftpd pouvant se connecter en ftp
# il aura accès au répertoire /var/www
pure-pw useradd citizenz -u ftpuser -g ftpgroup -d /var/www

# On crée ou on met à jour la base de pure-ftpd : indispensable après
# chaque modification des utilisateurs
pure-pw mkdb

# Commande pour lister les utilisateurs
pure-pw list

# Commande pour modifier le mot de passe utilisateur
pure-pw passwd citizenz
pure-pw mkdb

# Pour activer l'authentification liée à Pure-FTP
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure

# Pour ne pas avoir une erreur 530 (connexion refusée) à la connexion du client FTP il faut créer le lien symbolique
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/75puredb

# Changer les droits pour faire cohabiter le serveur web et le serveur ftp
# Ainsi, on peut utiliser un client ftp pour mettre un site web à jour sans problème de droits
adduser ftpuser www-data
chmod -R g+rw /var/www/

serveur ftp : pure-ftpd et ports passifs

Rédigé par citizenz - - Aucun commentaire

Pour les utilisateurs qui sont derrière un pare-feu il pourrait être nécessaire que vous activiez FTP passif dans votre serveur FTP et le client.
Si permettre le mode FTP passif dans votre client FTP est simple, le faire dans votre FTP des fichiers de configuration du serveur peut être un peu délicat si vous ne savez pas comment procéder.

Petit exemple simple sous Debian ...

Créez un fichier /etc/pure-ftpd/conf/PassivePortRange, et dedans, inscrivez la plage de ports destinés à la connexion de pure-ftpd, séparés par un espace :

echo "29799 29899" > /etc/pure-ftpd/conf/PassivePortRange

(Exemple pour maximum 50 clients connectés ce qui est déjà énorme !)

pure-ftpd utilise des fichiers dans le répertoire de configuration (/conf) comme paramètres.
Attention aux ports que vous allez attribuer à pure-ftpd : ports "hauts" et non déjà pris par votre système :D

Le cas échéant, profitez-en dès maintenant pour ouvrir ces ports dans votre firewall. Exemple pour UFW :

ufw allow 29799:29899/tcp

Vous devez avoir 2 ports pour chaque client (max 100 clients, vous devez avoir 200 ports).

Vous pouvez également jouer sur le paramètre d'autorisation des clients. Pour 50 clients :

echo "50" > /etc/pure-ftpd/conf/MaxClientsNumber

Remplacez 50 par le nombre de clients que vous voulez autoriser...

Redémarrez pure-ftpd.

Plusieurs distributions Gnu/Linux affectées par un gros bug dans systemd ?

Rédigé par citizenz - - Aucun commentaire

Lu sur : https://linux.slashdot.org/story/16/10/01/2155209/multiple-linux-distributions-affected-by-crippling-bug-in-systemd?utm_source=rss1.0mainlinkanon&utm_medium=feed

Andrew Ayer, admin système, a découvert un "potentiel bug critique dans sytemd" qui peut faire tomber un serveur linux vulnérable en une seule commande... Une histoire de PID 1 qui freeze le système et on ne peut plus redémarrer ou arrêter les daemons. Les services de type inetd n'acceptent plus aucune connexion. Des distrib comme Debian, Ubuntu ou CentOS sont potentiellement vulnérables. Le bug semble exister depuis plus de 2 ans et ne demande absolument pas d'avoir les droits root... A SUIVRE.

Postfix - Installer Amavis, SpamAssassin et ClamAV

Rédigé par citizenz - - 1 commentaire

Excellent article sur http://www.tutodidacte.com sur l'art et la manière d'avoir un petit serveur de mail"aux petits oignons" à base de Postfix (SMTP), dovecot (Pop3 et Imap) avec la cerise sur le gâteau : Amavisd-new, Spamassassin (Spam) et ClamAv (antivirus) (le tout sous système Debian ou Debian-Like).

Au final on obtient un serveur de mail simple mais fonctionnel. Testé pour vous : ça fonctionne très bien !.

Ca se passe ici : http://www.tutodidacte.com/postfix-installer-amavis-spamassassin-et-clamav

Fil RSS des articles de ce mot clé