Publié
Commentaires Aucun

HandBrake un transcodeur open source multiplate-formes.

video1.pnp

le problème que l’on rencontre avec les miniPC ou les tablettes, c’est la puissance disponible pour faire par exemple de la vidéo

Il n’est pas souvent possible de lire les vidéos réalisées avec les action cams en 4K ou 2.5K (image figée avec vlc ou mplayer ou n’importe quel autre logiciel)

Je me demandais alors, comment pouvoir en vacances visionner les vidéos réalisées la journée et je me demandais également comment réduire la taille des vidéos pour pouvoir les envoyer sur le web ou sur les périphériques Android ou Apple, sans passer par une usine à gaz

hard_work.png

Bien sur, il existe de nombreux outils sur le marché, mais soit il faut une machine puissante pour les utiliser et il est difficile d’automatiser la conversion de nombreux fichiers

J’ai donc décidé d’utiliser Handbrake (https://fr.wikipedia.org/wiki/HandBrake)

Il est possible de le télécharger en différentes versions graphiques:

Pour Windows et Linux

https://handbrake.fr/

et en version ligne de commande (sans interface)

https://handbrake.fr/downloads2.php

Nous allons ici traiter uniquement de l’utilisation en ligne de commande

Installation :

apt-get install handbrake-cli

Lister tous les modes disponibles

HandBrakeCLI --preset-list

Exemple d’utilisation pour convertir un fichier 4K vers HD

Linux

HandBrakeCLI -i /media/toto/mes_videos/YI080901.MP4 -o /media/toto/OS/mes_videos/YI080901a.MP4 --preset="H.264 MKV 1080p30"

Pour convertir automatiquement toutes les vidéos mp4 d’un répertoire vers le 1080p

#! /bin/bash
find $(pwd) -iname "*.mp4" -type f -maxdepth 1 -exec HandBrakeCLI -i {} -o {}_1080.mp4 --preset="Very Fast 1080p30" \;

Windows

Pour convertir automatiquement toutes les vidéos mp4 d’un répertoire vers le 1080p en powershell

Get-ChildItem -path *.mp4 | ForEach-Object{
$in = $_.DirectoryName + "\" + $_.Name
$out = $_.DirectoryName + "\1080_" + $_.Name
C:\utils\handbrake\HandBrakeCLI.exe  -i $in -o $out --preset="Very Fast 1080p30"
}

Vous noterez que dans l’article wikipedia, il est en autre indiqué que HandBrake propose des réglages préenregistrés pour faciliter son utilisation. Il en existe douze.

Appareils :

   Universel
    iPod
    iPhone & iPod touch
    iPad
    Apple TV
    Apple TV 2
    Apple TV 3
    Android
    Tablette Android
    Windows Phone 8

Régulier :

    Normal
    Profil haut (High Profile en anglais)

Et voila, une fois votre conversion effectuée, il est désormais possible de visualiser ces vidéos sur un PC peu puissant tout en ayant gardé une copie originale que l’on poura utiliser de retour à la maison

Auteur

Publié
Commentaires Aucun

Comment se protéger contre les attaques force brute sur les accès SSH

Si vous avez commencé à utiliser un serveur Linux, pour votre cloud personnel, votre serveur web, votre serveur de messagerie ou bien d’autres usages, vous avez logiquement besoin d’accéder à distance pour faire la maintenance de ce serveur.

hack

Pour avoir la main sur le serveur il est nécessaire de se connecter en ssh en autres.

Le problème, c’est que dès que votre serveur expose le port 22 sur internet, il devient immédiatement la cible des robots qui vont chercher à se connecter en root en essayant de nombreux mots de passe.

En général on appelle cela une attaque par force brute. Le serveur distant va essayer de nombreux mots de passe tirés de dictionnaires. Peut importe le temps qu’il faut, il y a une chance réelle qu’un des mots de passe essayé finisse par correspondre à celui du compte root.

Quelques fois également, ils vont essayer des comptes utilisés fréquemment
Ci dessous les logins le plus souvent testés :

  root (58%),test (1%),oracle (< 1%),admin,info,user,postgres,mysql,backup,guest,web,tomcat,michael,r00t,upload,alex,sales,linux,bin,ftp,support,temp,nagios,user1,www,test1,nobody

Nous allons voir ci dessous les quelques précautions de base à prendre

Utiliser un mot de passe complexe pour tous les comptes

password.jpg

Un utilitaire existe pour générer des mot de passe aléatoires, il s’agit de pwgen

sudo apt-get install pwgen

On lance ensuite l’utilitaire

joel@monserveur:~$ pwgen
aiRohJ8u Iuc1ohqu hoovei0S lah3Teey aepheiS6 Kaequ4ei See1eeSe utoad3Pe
OoTie2zu pohx0oDu Eeng0Ieh euSh3coh quiqu0At wa5Eim0k FooRoin4 ioPaeQu2
......
......
de2Voiqu nieHaiN1 thu1Sai8 Ac9aiFuc zee3Sa8n Ahh2nei1 GeaB5li1 ied6Pheh
roh4haeJ oha2Oexi eiDah6uj eT4die8r gaVoof3h Aiy8gohr ooj4Thei wahye3Mo

Il ne reste plus qu’a choisir

J’ai pour habitude d’assembler 2 ou 3 mots de passe pour avoir un mot de passe plutôt fort

ewioy9Iuaec6Ain6

Interdire la connexion avec le compte root depuis un accès externe

no root

La configuration ssh permet de bloquer un accès avec un accès distant et de n’autoriser la connexion root qu’avec une console locale (écran clavier souris)

Pour cela il suffit de modifier le fichier de configuration /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Modifier la ligne : PermitRootLogin yes
Remplacer par : PermitRootLogin no
Et relancer le service

service ssh restart

Attention Avant de procéder à cette manipulation, vous devez avoir la possibilité de vous connecter en console ou bien vous devez avoir un compte personnel sur la machine avec les droits root. En effet à partir du moment ou vous appliquez cette modification, il n’est plus possible d’ouvrir une session root en ssh à distance

Modifier le port d’écoute

ecoute.jpg

Si vous pouvez accéder à votre serveur sur n’importe quel port, alors vous pouvez changer le port d’écoute du serveur ssh
Les robots ne chercherons pas à parcourir tous les ports du serveurs pour deviner quel port supporte le ssh

Attention si vous êtes derrière un pare-feu, il faut vérifier que le port choisi est bien autorisé

Il suffit de modifier le fichier de configuration /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Modifier la ligne suivante :
Port 22
avec par exemple
port 5687

Relancer le service

service ssh restart

Maintenant pour accéder à votre machine toto.com en ssh avec le compte marcel il faut entrer la commande

ssh -p 5687 marcel@toto.com 

Bloquer les accès réseau des indésirables

lock.jpg

Malgré toutes ces précautions, les robots vont quand même attaquer votre serveur

Mar 18 10:18:48 toto.com kernel: [141894.007510] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:3e:b1:40:00:2f:06:9b:03 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=16049 DF PROTO=TCP SPT=62572 D$
Mar 18 10:18:51 toto.com kernel: [141897.013287] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:3e:b3:40:00:2f:06:9b:01 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=16051 DF PROTO=TCP SPT=62572 D$
Mar 18 10:19:17 toto.com kernel: [141923.716181] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:8a:55:40:00:2f:06:4f:5f SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=35413 DF PROTO=TCP SPT=62402 D$
Mar 18 10:19:19 toto.com kernel: [141925.719974] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:8a:56:40:00:2f:06:4f:5e SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=35414 DF PROTO=TCP SPT=62402 D$
Mar 18 10:19:24 toto.com kernel: [141930.724185] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:a5:73:40:00:2f:06:34:41 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=42355 DF PROTO=TCP SPT=45927 D$
Mar 18 10:19:26 toto.com kernel: [141932.725306] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:26:34:40:00:2f:06:b3:80 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=9780 DF PROTO=TCP SPT=30034 DP$
Mar 18 10:19:27 toto.com kernel: [141933.724528] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:26:35:40:00:2f:06:b3:7f SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=9781 DF PROTO=TCP SPT=30034 DP$

On va donc utiliser iptables comme firewall et commencer par bloquer toute tentative de connexion en ssh qui se répète plus de 5 fois en 5 minutes

Si vous vous connectez à votre serveur vous avez donc droit à 5 tentatives par tranches de 5 minutes(réussies ou ratées)

A partir de la 6eme tentative chacune de vos connexions sera rejetée et il faut attendre 5 minutes avant que le compteur repasse à zéro

On ajoute les règles dans iptables et on ajoute une règle de log qui permettra de surveiller les rejets

iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --set
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 5 -j LOG --log-prefix "Anti SSH-Bruteforce : "
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 5 -j DROP

—seconds 300 —hitcount 5
Pour 300 secondes et 5 tentatives, vous pouvez adapter ces valeurs pour vos besoins

Maintenant on va compter quelles sont les adresses IP source qui tentent d’accéder à votre serveur et on va les bloquer définitivement.

On recherche dans les logs les lignes qui contiennent le motif que l’on a défini (Anti SSH-Bruteforce : ), et on compte le nombre de tentatives
On va donc rapidement identifier les adresses des robots

cat /var/log/syslog | grep "SSH-Bruteforce" | awk '{ print  $13 }' | awk -F "=" '{ print  $2 }' | sort | uniq -c |less

123.183.209.137 2092
123.31.34.44 1
193.201.224.199 30
58.218.199.145 1033
85.105.15.13 7

On cherche maintenant à qui appartient l’adresse 58.218.199.145 qui à été bannie 1033 fois en 2 heures

whois 58.218.199.145
% [whois.apnic.net]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

% Information related to '58.208.0.0 - 58.223.255.255'

inetnum:        58.208.0.0 - 58.223.255.255
netname:        CHINANET-JS
descr:          CHINANET jiangsu province network

Je n’utilise pas d’adresses venant de chine pour me connecter à mon serveur, donc j’enlève tout le range d’adresses

iptables -A INPUT -i eth0  --source 58.208.0.0/16 -j DROP

le script final

### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Configuration Iptables
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

#!/bin/sh
# /etc/init.d/firewall
# chkconfig: 3 21 91
# description: Firewall

IPT=/sbin/iptables

case "$1" in
start)
$IPT -N LOGGING
$IPT -A INPUT -j LOGGING

#blocage
# China Telecom
$IPT -A INPUT -i eth0  --source 123.180.0.0/16 -j DROP
$IPT -A INPUT -i eth0  --source 123.183.0.0/16 -j DROP

$IPT -A INPUT -i eth0  --source 116.31.116.47 -j DROP
$IPT -A INPUT -i eth0  --source 146.148.51.164 -j DROP
$IPT -A INPUT -i eth0  --source 163.172.119.99 -j DROP

# blocage si plus de 4 connections en 5 minutes
$IPT -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --set
$IPT -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 4 -j LOG --log-prefix "Anti SSH-Bruteforce : "
$IPT -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 4 -j DROP
#$IPT -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4

exit 0
;;

stop)
$IPT -F
$IPT --table nat --flush
i="LOGGING";
$IPT -F $i && $IPT -Z $i && $IPT -X $i

exit 0
;;

*)
echo "Usage: /etc/init.d/firewall {start|stop}"
exit 1
;;
esac

exit 0

### END INIT INFO

Pour que le script se lance automatiquement à chaque démarrage, il faut l’enregistrer dans /etc/init.d/
et il faut le rendre exécutable

chmod 700 /etc/init.d/firewall

et l’ajouter en lancement automatique au démarrage ou au reboot

update-rc.d firewall defaults

Si vous voulez l’effacer du démarrage automatique

update-rc.d -f firewall remove
 

Auteur

Publié
Commentaires Aucun

Enregistrer et historiser le flux vidéo de sa camera de surveillance IP

Il est très facile et courant de s’équiper d’une camera de surveillance aujourd’hui.
De nombreux appareils sont disponibles sur le marché, pour l’intérieur et pour l’extérieur
Cela va de la camera IP premier prix jusqu’à des appareils pilotables avec d’excellentes définitions d’image

mesure.jpg

La sécurité est bien souvent avancée comme argument, mais on s’aperçoit rapidement que cela se limite à l’envoi d’un e mail lors de la détection de mouvement dans l’image.

Et justement le mouvement dans l’image est bien souvent un arbre qui bouge avec le vent ou un pigeon qui passe

Quelques cameras sont équipée d’une carte SD pour l’enregistrement, mais bien souvent le format est propriétaire,il est peu aisé de récupérer les fichier ainsi stockés.
D’autre part il est facile de vandaliser la camera si elle est placée à l’extérieur de la maison et donc de casser la caméra ou/et dérober les vidéos (SD) qui pourraient identifier les malfrats

Dans le cas d’une camera IP, il est généralement facile de récupérer la vidéo en live en écoutant le flux IP

Comme les micro-PC comme le Raspberry ainsi que les supports de stockage sont facilement disponibles et pour des sommes assez dérisoires, nous allons voir ci-dessous comment facilement installer un serveur de vidéo qui va enregistrer les flux de cameras IP en continu avec plusieurs jours d’historique, et les rendre disponibles sur le réseau de la maison.

De quoi allons nous avoir besoin ?

  • Un serveur (comme on parle souvent de Raspberry pourquoi ne pas l’utiliser)
  • un support de stockage (clé USB, carte SD avec adaptateur, disque dur USB, etc.)
  • Une caméra IP

Comment fait on ?

code.jpg

Dans la suite de l’article, on considère que vous avez un serveur de type raspberry avec une version linux comme système d’exploitation. Les explications sont basées sur cet équipement

IP du Raspberry 192.168.1.10
IP de la caméra 192.168.1.250

Pour monter se serveur d’enregistrement vidéo, nous allons commencer par installer les différents packages qui vont nous servir

code.jpg

  • installation de VLC pour enregistrer
sudo apt-get install vlc 

Test d’enregistrement

  • on teste maintenant l’enregistrement du flux vidéo de la caméra. Vous noterez qu’il n’est pas nécessaire d’avoir un système Linux avec interface graphique ouverte
cvlc rtsp://utilisateur:mot de passe@192.168.1.250:8001 --no-sout-audio --start-time=00 --run-time=300 --sout file/ts:/home/utilisateur/test.ts

cvlc lance vlc en mode console
rtsp://utilisateur:mot de passe@192.168.1.250:8001 Rtsp est le protocole, suivi du nom d’utilisateur et du mot de passe pour accéder à la caméra, puis l’adresse IP et le port utilisés par la camera
—no-sout-audio Peu de caméras sont équipées de son, donc on ne l’ajoute pas dans l’enregistrement
—start-time=00 On démarre immédiatement (00)
—run-time=300 On enregistre pendant 5 min (300 secondes)
—sout file/ts:/home/utilisateur/test.ts On sauvegarde le fichier vidéo

Installation et partage du stockage

  • On branche le périphérique de stockage dans un port USB
  • On crée la table de partition avec cfdisk ou fdisk
  • On formate. Pour des raisons d’efficacité, je formate en ext4 et partage en NFS, mais vous pouvez formater en vfat et partager en CIFS pour exploiter avec un client Windows
mkfs.ext4 /dev/sda1
  • On crée un point de montage pour ce périphérique
mkdir /dev/sda1 /mnt/cam-usb/
  • On modifie le fichier fstab pour que le périphérique soit automatiquement monté au démarrage du serveur en ajoutant cette commande à la fin du fichier :
/dev/sda1 /mnt/usb1/            ext4    defaults,noatime  0       0
  • On relance
mount -a 
  • installation du package nfs-serveur qui va permettre aux clients de monter le répertoire des vidéos
apt-get install nfs-kernel-server
  • Éventuellement
apt-get install rpcbind
  • Ajouter la ligne suivante dans /etc/exports

/mnt/usb1/ 192.168.1.0/24(rw,all_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)

  • puis
service restart nfs-kernel-server
  • relancer :
exportfs ra
  • Verifier que le partage nfs existe
showmount -e
Export list for rpi:
/mnt/usb1 192.168.1.0/24

  • On peut maintenant monter le partage sur le client (votre PC) :

sudo mount 192.168.1.10:/mnt/cam-usb/ /mnt/tmp/

Il est aussi possible de monter son partage en CIFS pour pouvoir facilement y accéder avec une machine Windows

Pour cela éditer le fichier /etc/samba/smb.conf et ajoutez y les lignes suivantes

[Camera]
comment = Partage Samba sur Raspberry Pi
path = /mnt/usb1/
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777
share modes = yes

en considérant que votre point de montage pour votre disque dur soit : /mnt/usb1/

Puis en lançant :

service smbd restart

Vous trouverez sur internet de nombreux tutoriels pour installer et utiliser samba
Par exemple : https://constantsandvariables.space/linux/configurer-un-partage-samba-sur-ubuntu-14/

Automatisation de l’enregistrement automat.jpg

Maintenant que tout est installé, on va créer un script qui va enregistrer toutes les heures pour une durée d’une heure, et qui va maintenir un historique de 48 heures

nano /home/cajj/reccam.sh

Pour ma part le format de la caméra est 1280×720 et l’enregistrement sur 2 jours, donne une taille occupée de 25G sur le périphérique

Copiez le texte ci-dessous dans l’éditeur nano en l’adaptant avec vos paramètres (IP, port, répertoires, etc.)

# cajj.co (2016) enregistrement du flux vidéo de la caméra par cycle d'une heure

#!/bin/bash

#initialisation
marque=$(date +%Y%m%d-%H%M)

#purge des fichiers vidéos plus vieux que 48 heures
find /mnt/usb1/ -name "*video*"  -ctime +1 | xargs rm -rf

cvlc rtsp://root:toto@192.168.1.250:8001  --start-time=00 --run-time=3600 --no-sout-audio --sout file/ts:/mnt/usb1/video-${marque}.ts vlc://quit

  • On programme maintenant une tache crontab pour que le script soit lancé toutes les heures

crontab -e
0 */1 * * * /home/cajj/reccam.sh

et Voila

On peut maintenant lire les vidéos d’une heure sur 2 jours

ls /mnt/usb1/
video-20161014-1600.ts  video-20161014-2000.ts  video-20161015-0000.ts  video-20161015-0400.ts  video-20161015-0800.ts  video-20161015-1200.ts  video-20161015-1600.ts  video-20161015-2000.ts  video-20161016-0000.ts  video-20161016-0400.ts  video-$
video-20161014-1300.ts  video-20161014-1700.ts  video-20161014-2100.ts  video-20161015-0100.ts  video-20161015-0500.ts  video-20161015-0900.ts  video-20161015-1300.ts  video-20161015-1700.ts  video-20161015-2100.ts  video-20161016-0100.ts  video-20161016-0500.ts  video-$
video-20161014-1400.ts  video-20161014-1800.ts  video-20161014-2200.ts  video-20161015-0200.ts  video-20161015-0600.ts  video-20161015-1000.ts  video-20161015-1400.ts  video-20161015-1800.ts  video-20161015-2200.ts  video-20161016-0200.ts  video-20161016-0600.ts  video-$
video-20161014-1500.ts  video-20161014-1900.ts  video-20161014-2300.ts  video-20161015-0300.ts  video-20161015-0700.ts  video-20161015-1100.ts  video-20161015-1500.ts  video-20161015-1900.ts  video-20161015-2300.ts  video-20161016-0300.ts  video-20161016-0700.ts  video-$

Et la place occupée

df -h /dev/sda1
Sys. fich.     Taille Util. Dispo Uti% Monté sur
/dev/sda1         55G   27G   26G  51% /mnt/usb1

stockage.jpg

Auteur

Publié
Commentaires Aucun

Comment superviser l’activité de ma machine sous Linux ?

Pour vérifier l’activité de sa machine, le premier réflexe est souvent de lancer la commande TOP qui va permettre de vérifier quel est le process qui occupe le CPU, quel est le niveau de mémoire utilisé, etc.

mesure.jpg

Sur le même principe, il existe d’autres outils en ligne de commande, que l’on peut mettre à profil pour évaluer la consommation sur les différentes ressources de la machine

Nous allons les lister ci dessous

Vous trouverez plus d’outils de supervision ici



atop




atop est un moniteur système interactif. Il peut affiche les informations d’entrée/Sortie sur les disques et aussi l’activité réseau, CPU, mémoire et utilisation du swap

Pour connaitre toutes les options disponibles, appuyer sur h pendant l’exécution

atop.png



Htop




htop est un visualiseur avancé de process, écrit pour Linux
En fait c’est une version avancée de top, qu’il remplace avantageusement
Il affiche une liste rafraichie régulièrement des processus qui sont lancés sur la machine, habituellement triée par quantité de cpu utilisée.
La souris interagit avec la liste pour pouvoir choisir sur quelle colonne trier
A la différence de top, htop fourni une liste complète des des processus qui tournent sur la machine , plutôt que la liste des ressources les plus utilisée. Htop utilise des couleurs pour l’affichage

htop.png



Iftop




iftop supervise l’utilisation réseau, comme ce que fait top pour l’utilisation du CPU
Il écoute le trafic réseau et affiche une table d’utilisation de la bande passante par l’hote et les serveurs distants
Pendant son exécution, il est possible d’activer ou de désactiver des options
Par exemple si vous appuyez sur p vous pourrez voir en plus les ports utilisés
Pour une liste des options, appuyez sur h pendant l’exécution

iftop.png



Iotop




Linux a toujours été capable d’afficher combien d’I/O étaient en cours (les colonnes bi et bo de la commande vmstat ).
Iotop est un programme Python qui affiche à la mode top
“Iotop” permet de contrôler les programmes ou processus qui provoquent des accès disques, qu’ils soient en écriture ou en lecture (on parle d’ “I/O” “Input/Output”, ou E/S “Entrée/Sortie” ). Cela peut s’avérer très utile si votre système connaît des ralentissements inexplicables, alors que l’activité du processeur ou l’utilisation de la mémoire vive semblent normales.

iotop.png



Mytop




mytop is un outil en ligne de commande qui ^permet de surveiller l’activité du serveur de base de données mysql
Il affiche les performances et les thread, il s’exécute sur la plupart des systèmes unix/linux (Macosx inclus)
L’affichage de mytop est composé

  1. d’un entête qui affiche les informations relatives à votre serveur de base données dont :
    • le nom de l’hôte,
    • la version de mysql installée,
    • le temps depuis son démarrage,
    • le nbre moyen de requêtes par seconde (qps),
    • le qps courant,
    • le nombre de threads,
    • d’un tableau qui liste tous les threads leur requêtes en cours.

mytop.png



Mtop




mtop (MySQL top) supervise un serveur MySQL en montrant les requêtes qui ont pris le plus de temps à s’exécuter
Les fonctionnalités incluent une fonction zoom sur un process expliquant la façon d’optimiser

mtop.jpg

Télechargement et info ici



nmon




Nmon est relativement simple à utiliser tout en étant assez complet.
Il permet d’afficher de nombreuse informations systèmes comme :

  • les statistiques du CPU,
  • les statistiques de la mémoire,
  • les statistiques du swap
  • les statistiques du réseau,
  • des infos sur les utilisateurs, les groupes, les supports de stockages,
  • les statistiques sur l’utilisation du kernel, les processus les plus gourmands

Pendant l’utilisation de nmon, vous pouvez appuer sur h pour afficher les options disponibles

Nmon peut s’utiliser en tant qu’outil de monitoring historique

nmon.png

La page officielle : http://nmon.sourceforge.net/pmwiki.php

Auteur

Publié
Commentaires Aucun

Installez votre propre serveur de sondage et de planification de réunions

En général, quand on parle autour de soi de la possibilité d’héberger son propre serveur de sondage, la première réaction est : Mais pourquoi tu te fait chi.. alors qu’il y a Doodle sur internet et que ça ne coûte rien

evaluate.jpg

Ben oui finalement, pourquoi avoir son propre site de sondage ?
En vrac je dirais :

  • Pour le fun
  • Pour l’anonymat (pas de collecte d’adresses IP, d’email)
  • Pour pouvoir utiliser son site en https (ce qui n’est pas le cas de doodle dans sa version gratuite)
  • Pas de pub
  • Pour pouvoir visualiser les statistiques sous forme de graphes
  • En interne dans le cadre d’une entreprise
  • Dans le cadre d’une association

Nous allons voir une alternative libre que vous pouvez tester en ligne pour vous rendre compte du rendu final sur votre serveur : Framadate

De quoi allons nous avoir besoin ?

  • Un serveur (comme on parle souvent de raspberry pourquoi ne pas l’utiliser)
  • apache
  • php
  • Mysql-server (pas obligatoire mais je trouve que c’est plus confortable)
  • Phpmyadmin (si vous avez mysql-server, c’est plus facile que la ligne de commande)


Comment fait on ?

code.jpg

Dans la suite de l’article, on considère que vous avez un serveur web avec php myql-server installé

  • On se place dans le répertoire qui va héberger le code de framadate, disons /var/www/
  • on télécharge la dernière version des fichiers en se rendant ici : https://git.framasoft.org/framasoft/framadate/tags
  • On dézippe le fichier récupéré
  • On renomme le répertoire
mv framadate-0.9.6-276f732defd5ab01358a33f7a4e3013ae01673bd framadate-0.9.6
  • On change les droits sur le répertoire
 chown -R www-data:www-data /var/www/framadate-0.9.6
  • On se rend dans ce nouveau répertoire
cd  /var/www/framadate-0.9.6
  • On installe les bibliothèques nécessaires
php -r "readfile('https://getcomposer.org/installer');" | php
apt-get install php5-intl

  • On change d’utilisateur et on lance la mise à jour et l’installation de composer

su www-data -s /bin/bash 
./composer.phar update
./composer.phar install

  • Maintenant on se déconnecte du compte www-data et on ajoute les lignes suivantes dans la configuration du site web (/etc/apache2/site-available/default-ssh)

Alias /framadate "/var/www/framadate-0.9.6"
    <Directory "/var/www/framadate-0.9.6/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
       deny from all
       allow from 192.168.1.0/24
        allow from all
    </Directory>

192.168.1.0/24 est à remplacer par votre propre vlan

  • On recharge la configuration dans apache
service apache2 reload
  • Maintenant que vous avons installé les prérequis logiciels, il va falloir configurer la base de données
    Pour cela il faut vous rendre sur votre page phpmyadmin
    Dans la rubrique :
  • Privilèges
    Puis :
  • Ajouter un utilisateur
  • remplissez les champs avec localhost pour le serveur, et framadate pour nom d’utilisateur
  • Notez le mot de passe que vous choisissez pour l’utilisateur, toutes ces informations vous seront demandées lors de la configuration du site web
  • Cochez : Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base
  • Enfin cliquez sur créer un compte utilisateur

finale.png

Étape finale, on configure

  • Rendez vous sur la page de votre site :

http://votre_ip/framadate/admin/install.php
ou
https://votre_ip/framadate/admin/install.php si vous avez configuré avec un certificat

  • Vous remplissez le questionnaire avec les informations pour l’utilisation de la base de données et vous finissez en cliquant sur Installer

À l’installation, les tables de la base de données et le fichier app/inc/config.php sont créés. Le fichier app/inc/config.php contient d’autres paramètres de configuration facultatifs que vous pouvez modifier.

  • dans ce fichier vous modifiez cette variable
// Clean URLs, boolean
//const URL_PROPRE = true;
const URL_PROPRE = false;

  • Pour sécuriser le répertoire “admin” et donc restreindre l’accès à la page d’administration, Framasoft indique dans son guide

Framadate dispose d’un espace d’administration de l’ensemble des sondages dans le dossier /admin

Pour en restreindre l’accès, il faut ajouter au fichier de configuration Apache de votre site web (fichier /etc/apache2/sites-enabled/votre-domaine.vhost) ce bloc :

bc.. AuthType Basic AuthName “Administration” AuthUserFile “/var/www/framadate/admin/.htpasswd” Require valid-user Order allow,deny Allow from all

et créer le fichier .htpasswd contenant l’utilisateur et le mot de passe autorisé.

htpasswd -bc /var/www/framadate/admin/.htpasswd utilisateur mot-de-passe

(l’utilitaire htpasswd se trouve dans le paquet apache2-utils)

Pour protéger les fichiers .htaccess et .htpasswd, pensez à ajouter également ceci :

<FilesMatch "^\.ht.*">
deny from all
satisfy all
ErrorDocument 403 "Accès refusé."
</FilesMatch>

Et voila, normalement vous pouvez utiliser votre tout nouveau serveur de sondage

framadate

Vous pourrez trouver un tutoriel pour installer Framadate sur Ubuntu 14.04 de Patrick Harmel, sous licence GFDL

Auteur

← Plus anciens Plus récents →