Télécharger des vidéos et sons avec Youtube-dl (multi sites)

Télécharger des vidéos et sons avec Youtube-dl (multi sites)Télécharger des vidéos ou bandes sons

Youtube-dl permet de télécharger des vidéos, ou uniquement la bande son, ou encore la vidéo sans le son (en fonction des plates-formes). Contrairement à son nom, il ne s’arrête pas à youtube, il est multi-sites (youtube, Dailymotion, Vimeo, Wat-TV, Arte…) alors pourquoi un tel nom? Il s’agit certainement d’un projet qui à l’origine visait youtube mais comme beaucoup d’applications libres, les contributeurs l’ont fait évoluer… La magie du logiciel libre!

Pourquoi utiliser une telle application? Si vous avez un débit trop bas et qu’il vous est impossible de regarder le moindre clip en streaming, même en basse qualité, cela peut être une solution pour vous… Votre beau-frère a fait une vidéo de votre anniversaire avec un fond musical que vous n’appréciez pas et vous souhaitez récupérer que la vidéo sans le son, il a aussi fait un discours et vous souhaitez récupérer la bande son sans la vidéo…

Bref! plein de possibilités (en fonction des plates-formes).

ATTENTION: ici, pas question de faire l’apologie du “piratage”, il s’agit de palier aux problèmes de basse connexion que peuvent rencontrer certains ainsi qu’aux problèmes de conception des plates-formes vidéos et leurs lecteurs flash.

Installation (je suis Ubuntu, un simple…

sudo apt-get install youtube-dl

Ou si vous souhaitez la dernière version:

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install youtube-dl

Les exemples ci-dessous ne laissent pas préjuger de mes goûts, j’ai pris les liens au hasard, juste à titre d’exemple.

Utilisation rapide youtube-dl:
– Il suffit de coller l’url de la vidéo juste après youtube-dl en laissant un espace pour télécharger une vidéo.

$ youtube-dl https://www.youtube.com/watch?v=e-ORhEE9VVg

– pour la bande son, mettre l’option « -x »

$ youtube-dl -x https://www.youtube.com/watch?v=e-ORhEE9VVg

Dans ces deux exemples on ne choisit pas la qualité téléchargée souvent la plus basse par défaut.
En fin de cet article solution pour Dedian Jessie

Utilisation pour les plus exigeants:

– Youtube: Voir les qualités proposées pour une vidéo donnée, utiliser l’option « -F » (en majuscule)

$ youtube-dl -F https://www.youtube.com/watch?v=e-ORhEE9VVg
#----Ci-dessous le résultat de la commade----
#----Ca vaut pour les exemples plus bas----
[youtube] e-ORhEE9VVg: Downloading webpage
[youtube] e-ORhEE9VVg: Extracting video information
[youtube] e-ORhEE9VVg: Downloading js player en_US-vflsXGZP2
[youtube] e-ORhEE9VVg: Downloading DASH manifest
[info] Available formats for e-ORhEE9VVg:
format code extension resolution note
171         webm      audio only  DASH audio , audio@128k (worst)
140         m4a       audio only  DASH audio , audio@128k
139         m4a       audio only  DASH audio   49k , audio@ 48k (22050Hz), 1.57MiB
140         m4a       audio only  DASH audio  129k , audio@128k (44100Hz), 4.17MiB
171         webm      audio only  DASH audio  136k , audio@128k (44100Hz), 3.95MiB
172         webm      audio only  DASH audio  208k , audio@256k (44100Hz), 5.94MiB
141         m4a       audio only  DASH audio  255k , audio@256k (44100Hz), 8.28MiB
160         mp4       144p        DASH video , video only
278         webm      256x144     DASH video  108k , webm container, VP9, 12fps, video only, 2.41MiB
160         mp4       256x144     DASH video  121k , 12fps, video only, 3.38MiB
242         webm      240p        DASH video , video only
133         mp4       240p        DASH video , video only
242         webm      426x240     DASH video  234k , 24fps, video only, 4.37MiB
133         mp4       426x240     DASH video  256k , 24fps, video only, 7.63MiB
243         webm      360p        DASH video , video only
134         mp4       360p        DASH video , video only
243         webm      640x360     DASH video  409k , 24fps, video only, 7.80MiB
134         mp4       640x360     DASH video  381k , 24fps, video only, 7.82MiB
244         webm      480p        DASH video , video only
135         mp4       480p        DASH video , video only\r\n244  webm  854x480  DASH video  640k , 24fps, video only, 12.30MiB
135         mp4       854x480     DASH video  742k , 24fps, video only, 15.84MiB
247         webm      720p        DASH video , video only
136         mp4       720p        DASH video , video only
247         webm      1280x720    DASH video 1148k , 24fps, video only, 22.81MiB
136         mp4       1280x720    DASH video 1299k , 24fps, video only, 30.59MiB
248         webm      1080p       DASH video , video only
137         mp4       1080p       DASH video , video only
248         webm      1920x1080   DASH video 2271k , 24fps, video only, 40.15MiB
137         mp4       1920x1080   DASH video 2593k , 24fps, video only, 58.56MiB
17          3gp       176x144
36          3gp       320x240
5           flv       400x240
43          webm      640x360
18          mp4       640x360
22          mp4       1280x720    (best)

Téléchager la qualité qui vous intéresse avec l’option « -f » (en minuxcule).
Imaginons que vous souhaitez que la bande son échantillée à 255k vous utilisirez l’option « -f 141 »
Vous ne souhaitez que la vidéo sans le son avec au format 1920×1080 « -f 248 »
Vous souhaitez la vidéo avec le son à la meilleur qualité proposée « -f 22 »
Exemple :

$ youtube-dl -f 22 https://www.youtube.com/watch?v=e-ORhEE9VVg

– Pour Dailymotion, c’est le même principe

$ youtube-dl -F http://www.dailymotion.com/video/x20w1rz_iggy-azalea-black-widow-ft-rita-ora-official-video_music
[dailymotion] x20w1rz: Downloading webpage
[dailymotion] x20w1rz: Extracting information
[dailymotion] x20w1rz: Downloading embed page
[info] Available formats for x20w1rz:
format code extension resolution  note 
ld          mp4       320x240     (worst)
standard    mp4       512x384     
hq          mp4       848x480     
hd          mp4       1280x720    
hd180       mp4       1920x1080   (best)

Si par exemple on souhaite la meilleure version :

$ youtube-dl -f hd180 http://www.dailymotion.com/video/x20w1rz_iggy-azalea-black-widow-ft-rita-ora-official-video_music

– Sur Vimeo

$ youtube-dl -F http://vimeo.com/1084537
[vimeo] 1084537: Downloading webpage
[vimeo] 1084537: Extracting information
[vimeo] 1084537: Downloading webpage
[info] Available formats for 1084537:
format code extension resolution  note 
h264-mobile mp4       480x272     (worst)
vp6-sd      flv       504x284     
vp6-hd      flv       1280x720    
vp8-hd      flv       1280x720    (best)

$ youtube-dl -f vp8-hd youtube-dl -F http://vimeo.com/1084537

– Pour Wat-TV

$ youtube-dl -F http://www.wat.tv/video/votez-pour-faire-briller-talents-74vt3_74crj_.html
[wat.tv] votez-pour-faire-briller-talents: Downloading webpage
[wat.tv] 11985159: Downloading JSON metadata
[wat.tv] 11985159: Downloading server time
[wat.tv] 11985159: Downloding SD video URL
[wat.tv] 11985159: Downloading server time
[wat.tv] 11985159: Downloding HD video URL
[info] Available formats for 11985159:
format code extension resolution  note 
Mobile      mp4       unknown     (worst)
SD          mp4       unknown     
HD          mp4       unknown     (best)

$ youtube-dl -f [code (ici Mobile, SD ou HD)] [url]

– Et il en va de même pour Arte (si vous avez la rediffusion sur votre box, c’est mieux et moins long de visionner ce que vous souhaitez).

$ youtube-dl -F http://www.arte.tv/guide/fr/043395-000/tom-sawyer
[arte.tv:+7] 043395-000: Downloading webpage
[arte.tv:+7] 043395-000: Downloading JSON metadata
[info] Available formats for 043395-000_PLUS7-F:
format code   extension resolution  note 
HLS_SQ_2      m3u8      640x360     VOA, Version allemande 2200k  (worst)
HLS_SQ_1      m3u8      640x360     VF-STF, VF 2200k 
HLS_SQ_4      m3u8      640x360     VFAUD, Audiodesc. 2200K
RTMP_LQ_2     flv       320x200     VOA, Version allemande  300k 
RTMP_MQ_2     flv       720x406     VOA, Version allemande  800k
RTMP_EQ_2     flv       720x406     VOA, Version allemande 1500k 
RTMP_SQ_2     flv       1280x720    VOA, Version allemande 2200k
RTMP_LQ_1     flv       320x200     VF-STF, VF  300k 
RTMP_LQ_4     flv       320x200     VFAUD, Audiodesc.  300k 
RTMP_MQ_1     flv       720x406     VF-STF, VF  800k 
RTMP_MQ_4     flv       720x406     VFAUD, Audiodesc.  800K
RTMP_EQ_1     flv       720x406     VF-STF, VF 1500k
RTMP_EQ_4     flv       720x406     VFAUD, Audiodesc. 1500K
RTMP_SQ_1     flv       1280x720    VF-STF, VF 2200k
RTMP_SQ_4     flv       1280x720    VFAUD, Audiodesc. 2200k 
HTTP_MP4_MQ_2 mp4       720x406     VOA, Version allemande  800k
HTTP_MP4_EQ_2 mp4       720x406     VOA, Version allemande 1500k 
HTTP_MP4_SQ_2 mp4       1280x720    VOA, Version allemande 2200k 
HTTP_MP4_MQ_1 mp4       720x406     VF-STF, VF  800k 
HTTP_MP4_MQ_4 mp4       720x406     VFAUD, Audiodesc.  800k 
HTTP_MP4_EQ_1 mp4       720x406     VF-STF, VF 1500k 
HTTP_MP4_EQ_4 mp4       720x406     VFAUD, Audiodesc. 1500K
HTTP_MP4_SQ_1 mp4       1280x720    VF-STF, VF 2200k
HTTP_MP4_SQ_4 mp4       1280x720    VFAUD, Audiodesc. 2200k  (best)

$ youtube-dl -f HTTP_MP4_SQ_4  http://www.arte.tv/guide/fr/043395-000/tom-sawyer

Un ami Jld m’a rapporté un soucis sous Debian Jessie, avec le message d’erreur suivant:

youtube-dl https://www.youtube.com/watch?v=e-ORhEE9VVg
[youtube] Setting langage
[youtube] e-ORhEE9VVg: Downloading webpage
[youtube] e-ORhEE9VVg: Downloading video info webpage
[youtube] e-ORhEE9VVg: Extracting video information
[youtube] e-ORhEE9VVg: Encrypted signatures detected.
[youtube] e-ORhEE9VVg: Downloading js player vflw4H1P-
ERROR: Signature extraction failed: Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/youtube_dl/extractor/youtube.py", line 479, in _decrypt_signature
(…)

Sa solution :
Téléchargé la version 2014.12.01-1 disponible sur le dépôt de la version instable (Sid) et installé par

# dpkg -i youtube-dl_2014.12.01-1_all.deb

Pour en savoir plus:

$ man youtube-dl

Changer son adresse MAC sous linux

changer son adresse MAC sous linux avec MacChangerTesté sur ubuntu 14.04

C’est quoi une adresse MAC ?

L’adresse MAC (Media Access Control address) est un identifiant, codé sur 6 octets en hexadécimales (base16). Cette adresse est censée être unique et propre à chaque carte ou périphérique réseau. Exemple d’adresse MAC : 00:1a:92:a8:55:ff

Pour en savoir plus sur ce qu’est une adresse MAC.

Pourquoi changer son adresse MAC ?

Si par exemple un serveur ou hotspots fait du filtrage MAC et vous vous êtes fait blacklister de façon incompréhensible et vous souhaitez vous reconnecter… Changer l’adresse MAC peut être une solution… C’est aussi une solution à d’autres obstacles.

Plusieurs façons de changer votre adresse MAC.

Une façon simple est de le faire à la main :

# ifconfig eth1 hw ether 00:0c:bc:b5:68:6e

Mais avec macchanger on peut faire plus…
Pour modifier l’adresse MAC nous allons faire appel au programme macchanger.
S’il n’est pas installé : apt-get install macchanger

Une fois installé, voyons les options

$ macchanger -h
GNU MAC Changer
Usage: macchanger [options] device
  -h,  --help                   Print this help
  -V,  --version                Print version and exit
  -s,  --show                   Print the MAC address and exit
  -e,  --ending                 Don't change the vendor bytes
  -a,  --another                Set random vendor MAC of the same kind
  -A                            Set random vendor MAC of any kind
  -p,  --permanent              Reset to original, permanent hardware MAC
  -r,  --random                 Set fully random MAC
  -l,  --list[=keyword]         Print known vendors
  -m,  --mac=XX:XX:XX:XX:XX:XX
       --mac XX:XX:XX:XX:XX:XX  Set the MAC XX:XX:XX:XX:XX:XX

Avant de détailler les options… de quelle interface réseau souhaitez-vous modifier l’adresses MAC ?

– Listez avec « ifconfig » vous verrez (ethX pour les filaires, wlanX pour les wifi) et leur adresse MAC se trouve après Hwaddr.
Pour l’exemple nous allons utiliser eth1.

– Connaître l’adresse MAC permanente et courante de eth1 ainsi que le fabriquant.

$ macchanger -s eth1
Current MAC:   00:0c:bc:b5:68:6e (Iscutum)
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)

La première ligne est l’adresse que j’ai mis plus haut, la deuxième est celle d’origine.

Les commandes suivantes doivent être lancées avec les droits « root » (sauf l’option -l). Soit vous optez pour « sudo » ou « sudo -s« 

Changer l’adresse MAC sans changer le fabricant. En effet les trois premiers octets de l’adresse MAC identifient le fabricant (pas tout à fait, je vous laisse lire wikipédia, si le sujet vous intéresse)
Avant il faut désactiver la carte par « ifconfig down » eth1 et la réactiver ensuite avec l’option « up »

# ifconfig eth1 down
# macchanger -e eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:1a:92:ad:83:0c (Asustek Computer Inc.)
# ifconfig eth1 up

– Revenir à l’adresse MAC d’origine, l’option -p

# ifconfig eth1 down
# macchanger -p eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:ad:83:0c (Asustek Computer Inc.)
New       MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
# ifconfig eth1 up

– Obtenir une adresse MAC aléatoire d’un fabricant et du même genre, l’option -a

# ifconfig eth1 down
# macchanger -a eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:13:1c:c9:cc:1a (Litetouch, Inc.)
# ifconfig eth1 up

– Obtenir une adresse MAC aléatoire d’un fabricant et de n’importe quel genre, l’option -A

# ifconfig eth1 down
# macchanger -A eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:0c:bc:b5:68:6e (Iscutum)
# ifconfig eth1 up

– Obtenir une adresse totalement aléatoire, option -r

# ifconfig eth1 down
# macchanger -r eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 5c:96:67:da:37:81 (unknown)
# ifconfig eth1 up

– Attribuer une adresse MAC manuellement, option –mac
on va attribuer l’adresse : 00:0c:bc:b5:68:6e
Cette méthode correspond à la façon de faire à la main dit en début de billet.

# ifconfig eth1 down
# macchanger --mac=00:0c:bc:b5:68:6e eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:0c:bc:b5:68:6e (Iscutum)
# ifconfig eth1 up

– Pour lister les vendeurs, option –list
ex. : listons les adresse mac de  Asustek

# macchanger --list=Asustek
Misc MACs:
Num    MAC        Vendor
---    ---        ------
3148 - 00:0c:6e - Asustek Computer Inc.
3716 - 00:0e:a6 - Asustek Computer Inc.
4364 - 00:11:2f - Asustek Computer Inc.
4533 - 00:11:d8 - Asustek Computer Inc.
5041 - 00:13:d4 - Asustek Computer Inc.
5583 - 00:15:f2 - Asustek Computer Inc.
5902 - 00:17:31 - Asustek Computer Inc.
(...)

Script pour changer d’adresse à chaque démarrage

– Changer son adresse MAC à chaque démarrage.
Choisissez votre carte dont vous souhaitez modifier l’adresse MAC ainsi que l’option.
Dans cet exemple on continue avec la carte eth1 et on va choisir l’option -r pour avoir une nouvelle adresse MAC aléatoire à chaque démarrage.
Bien-sûr, vous pouvez modifier plusieurs cartes dans ce même script, je le montre en commentaire #
Facile, on va créer un script avec les commandes qu’on a vu ci-dessus.
Dans votre éditeur de texte favori écrivez :

#!/bin/bash
# Désactiver la/les interface(s) réseaux
# ifconfig eth0 down
ifconfig eth1 down
# ifconfig wlan0 down
# ifconfig wlan1 down
# Générer une adresse MAC aléatoire pour le/les interface(s) réseaux
# /usr/bin/macchanger -r eth0
/usr/bin/macchanger -r eth1
# /usr/bin/macchanger -r wlan0
# /usr/bin/macchanger -r wlan1
# Réactiver la/les interface(s) réseaux
# ifconfig eth0 up
ifconfig eth1 up
# ifconfig wlan0 up
# ifconfig wlan1 up

– Enregistrez sous… par exemple monmacchanger.sh
– placez-le dans /etc/init.d/
– Placez-vous sur /etc/init.d/
– Rendez-le exécutable

# chmod +x monmacchanger.sh

Autoriser le script à chaque démarrage

# update-rc.d monmacchanger.sh defaults 15

C’est fini, maintenant à chaque démarrage la/les interface(s) réseau(x) aura/auront une nouvelle adresse MAC.

Smartphone et vie privee.

Do not Track SmartphoneDo Not Track – Smartphone et vie privée.

Vidéo ludique et pédagogique. Voir plus bas

A quel point sommes-nous pistés? Cela peut aller au-delà de l’imagination!
J’ai un smartphone (malheureusement toujours sous androïde), ceci dit, je prends quelques précautions:
Le wifi, la géolocalisation, la connexion de données, sont toujours désactivés.
J’active l’un des services qu’en cas de besoin et, que le temps nécessaire à ce besoin (j’ai besoin d’aller sur internet et je sais qu’il y a un wifi disponible, je dois synchroniser mon agenda et pas de wifi de disponible, j’active la connexion de données, je suis perdu dans une ville, besoin de mon gps…).

Le fait d’activer qu’occasionnellement ces services économisent ma batterie et limite le pistage… Limite seulement, car il est allumé, et borne sur les antennes de mon fournisseur au fur et à mesure de mes déplacements, mais de façon moins précise qu’une géolocalisation.

Par ailleurs, je ne mets aucune application intrusive (en dehors de celles installées par défaut sur mon smartphone et que je ne peux désinstaller).

Tracking, cookies, publicités ciblées, mobile, big data, etc. à travers quelques clics, vous êtes une cible vulnérable au coeur d’enjeux dont vous n’avez pas conscience.
Le 14 avril Arte a proposé une web série pédagogique innovante et interactive.

Regardez cet épisode!

A lire aussi:
Plein de renseignements en suivant les tags « téléphonie » du blog Zenzla« 
Do Not track vu par rue89
Do not Track par Wikipédia

Terminal linux – Trucs et astuces

méliorer terminal linux - Trucs et astucesAméliorer votre Terminal et le bon usage de l’historique « history« 

L’idée de ce modeste tuto m’est venu alors que je recherchai une commande que j’avais tapée.

En remontant les commandes avec la flèche « haut » , je ne la trouvais pas, tant de commandes et ma précipitation faisaient que je devais la passer sans m’en rendre compte.

[Ctrl]+r me renvoyait des commandes semblables que j’avais tapé, mais pas celle que je cherchais.

Avec un « find » dans l’historique ou « history |grep ma_recherche » je l’ai retrouvé, mais je me suis dit qu’il doit y avoir plus simple.

Amélioration du Shell.

Il suffit de modifier deux fichiers cachés ~/.inputrc et ~/.bashrc (dans mon cas j’ai dû créer le fichier .inputrc qui n’existait pas).

– Dans ~/.inputrc rajoutez:

"\e[A": history-search-backward
"\e[B": history-search-forward

Dans ~/.bashrc vérifiez que  » shopt -s histappend  » est bien dé-commenté et ajoutez en dessous:

PROMPT_COMMAND='history -a'

– Redémarrez votre session.

Vous n’aurez plus qu’à taper un début de commande déjà utilisée et de vous servir des flèches [haut] et [bas] pour naviguer dans l’historique correspondant.

– Meilleure gestion de l’historique Bash – history

$ echo $HISTSIZE
1000

Le nombre maximum de commandes retrouvé lors de l’appel de la commande history, ici la valeur par défaut est 1000.

$ echo $HISTFILESIZE
2000

Le nombre maximum de lignes contenu dans le fichier d’historique, ici la valeur par défaut est 2000.

– On peut modifier ces valeurs toujours dans le fichier ~/.bashrc

$ vi /home/pedro/.bashrc
(…)
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
(…)

Voyons maintenant la commande history qui doit remonter les X dernières commande :

$ history
(…)
62  sudo mount /dev/mapper/test /test
63  touch /test/fichier_vide
64  sudo touch /test/fichier_vide
65  ls
66  ls /test/
67  sudo umount /test
68  sudo cryptsetup remove test
69  sudo cryptsetup --cipher=aes-xts-plain64 -s 512 create test /test/sdb3
70  sudo fdisk -l
(…)

– Si je souhaite relancer la commande 70

$ !70

– Relancer la dernière commande:

$ !!

– Pour vider l’historique:

$ history -c

Sécuriser un accès ssh sur un serveur

Sécurisé un accès ssh sur un serveurCréer un double accès ssh

L’idée de départ était de modifier le port d’écoute du ssh (Secure SHell) « port 22 » pour mettre, par exemple, 6721 et interdire la connexion en « root », soit:

vi /etc/ssh/sshd_config

Et modifier les 2 linges suivantes « Port 22 » et « PermitRootLogin yes » comme suit:

Port 6721
PermitRootLogin no

Vous pouvez vérifier avec la commande suivante:

grep Port /etc/ssh/sshd_config
#Port 22
Port 6721

Un ami, Emile C., pour ne pas le nommé m’a dit:

puisque tu te connectes toujours du même pc local et du même pc distant, pourquoi ne ferais-tu pas un double ssh avec restriction sur ip?

C’est donc parti pour un double ssh.

– On va créer un lien symbolique appelé « sshd_exterieur »
– Créer un fichier de configuration appelé « sshd_config_exterieur »
– Modifier ce fichier de configuration.

ln -s /usr/sbin/sshd /usr/sbin/sshd_exterieur
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_exterieur
vi /etc/ssh/sshd_config_exterieur

Mettre le port à 6722 et « UsePAM no »
Voyons les différences entre les deux fichiers:

sdiff -s sshd_config sshd_config_exterieur
Port 6721 | Port 6722
UsePAM yes | UsePAM no

pour un démarrage lors du boot! Dans /etc/rc.local ajouter ceci :

/usr/sbin/sshd_exterieur -f /etc/ssh/sshd_config_exterieur 2>&1

Modifiez votre iptables pour accepter les deux connexions.

 

-A INPUT -p tcp -m state --state NEW -m tcp --dport 6721 --source 192.168.1.21 -j ACCEPT #adaptez avec votre ip locale
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6722 --source 88.224.XXX.XX -j ACCEPT #adaptez avec votre ip distante

– Ajouter un service sshd_exterieur surveillé par logwatch tous les jours :

 

 

/usr/share/logwatch/default.conf/services/sshd_exterieur.conf
/usr/share/logwatch/scripts/services/sshd_exterieur

– Rebootez votre serveur et vérifier avec la commande suivante:

 

 

ps -ef | grep sshd | grep -v grep

Pensez aussi à modifier votre routeur! 🙂
Merci Emile C.!

 

Fail2ban – Bloquer les requetes phpmyAdmin w00tw00t et dos avec mod_evasive

Fail2Ban bloquer les requêtesFail2ban ou comment bloquer les requêtes phpmyAdmin w00tw00t et dos avec mod_evasive

Élément essentiel pour sécuriser son serveur, Fail2ban permet d’éviter des intrusions via force-brute. Il se charge d’analyser les logs des services installés et bannit automatiquement et pour une durée déterminée un hôte via iptables en cas d’échecs de connexion après X tentatives.

Installer Fail2ban:

sudo apt-get install fail2ban

Par défaut, Fail2ban propose déjà plusieurs filtres pré-configurés. On retrouve les filtres dans « /etc/fail2ban/filter.d/ ».
Le fichier de configuration où l’on peut spécifier pour chaque filtre le nombre d’essai avant le bannissement et le temps de bannissement, est: /etc/fail2ban/jail.conf

En plus des filtres existants, on peut ajouter des filtres pour se protéger des requêtes excessives sur phpmyadmin ainsi que bloquer les attaques w00tw00t (fruit d’un logiciel de scanning « DFind » utilisé par des kiddies) et DOS et autres, ici, nous verrons les 3 que je viens de citer.

1 – Fail2ban contre les attaques sur phpmyadmin
Créez un nouveau filtre dans « /etc/fail2ban/filter.d »

sudo nano /etc/fail2ban/filter.d/apache-phpmyadmin.conf

et copiez:

[Definition]
docroot = /var/www
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2|administrator|d$
failregex = [[]client <HOST>[]] File does not exist: %(docroot)s/(?:%(badadmin)s)
ignoreregex =

Et enregistrez.
Dans le fichier /etc/fail2ban/jail.conf ajoutez à la fin:

[apache-phpmyadmin]
enabled = true
port = http,https
filter = apache-phpmyadmin
logpath = /var/log/apache*/*error.log
maxretry = 3

2 – Fail2ban et protection contre les requêtes w00tw00t

 

sudo nano /etc/fail2ban/filter.d/apache-w00tw00t.conf

Copiez:

 

 

[Definition]
failregex = ^<HOST> -.*"GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*".*
ignoreregex =

Dans /etc/fail2ban/jail.conf copiez:

 

 

[apache-w00tw00t]
enabled = true
port = 80,443
action = %(action_mwl)s
filter = apache-w00tw00t
logpath = /var/log/apache*/*error.log
maxretry = 1

3 – Fail2ban contre les DOS avec mod_evasive (source Linux magazine, hors-série N°66)
Installation mod_evasive

 

 

sudo apt-get install libapache2-mod-evasive

Créer un répertoire pour stocker les informations liées aux attaques et préciser les propriétés du répertoire.

 

 

sudo mkdir /var/log/apache2/mod_evasive
sudo chown www-data.www-data /var/log/apache2/mod_evasive

Configurer apache

 

 

sudo nano /etc/apache2/conf.d/evasive

et collez:

 

 

DOSHashTableSize 3097
# pas plus de 5 pages toutes les 2 secondes
DOSPageCount 5
DOSPageInterval 2
# Pas plus de 100 requête par seconde (image, CSS…)
DOSSiteCount 100
DOSSiteInterval 1
# Bloquer le client pendant 10 secondes
DOSBlockingPeriod 10
# Dossier contenantles IP blacklistées
DOSLogDir "/var/log/apache2/mod_evasive"

Puis recharger la configuration

 

 

sudo service apache2 reload

Créez le filtre

 

 

sudo nano /etc/fail2ban/filter.d/apache-modevasive.conf

copiez:

 

 

[Definition]
failregex = ^\[[^\]]*\]\s+\[error\]\s+\[client <HOST>\] client denied by server configuration:\s
ignoreregex =

Dans /etc/fail2ban/jail.conf copiez:

 

 

[apache-modevasive]
enabled = true
filter&nbsp; = apache-modevasive
action = iptables-allports[name=apache-modevasive]
logpath = /var/log/apache*/*error.log
bantime = 60
bantime = 3600
maxretry = 10

FIN.
Si vous avez d’autres suggestions ou améliorations, je suis preneur…

 

Vie privée – mot de passe – justice

Doit-on donner notre mot de passeDoit-on donner notre mot de passe?

 

Pour préserver votre vie intime (vie privée) et par mesure de sécurité (en cas de vol de votre ordinateur et évité une usurpation d’identité ou autres) peut-être utilisez-vous un disque dur chiffré, un conteneur « TrueType » « VeraCrypt », des fichiers chiffrés sous « GnuPG », etc.

 

A ceux qui disent… (je l’ai trop souvent entendu):

  • « Pourquoi tout ça? Je n’ai rien à cacher!« . Donnez votre disque dur à quelqu’un de mal intentionné, il vous démontrera l’inverse!
  • « Je n’ai rien à cacher, donc rien à me reprocher! » Or l’un n’a rien à voir avec l’autre. Vous ne souhaitez pas divulguer, les photos de famille en maillot de bain sur la plage, le premier bain de votre enfant, des copies de vos courriers avec votre dulcinée, des papiers bancaires, etc. sans avoir pour autant quoi que se soit à vous reprocher!

Et si c’est la police qui vous demande de donner votre mot de passe, qu’en est-il?

« Je ne suis ni juriste ni avocat, donc pas compétant pour vous conseiller. Je donne juste des pistes, mais aussi pose une interrogation. »

Le code pénal dit que vous devez le donner : Article 434-15-2
Est puni de trois ans d’emprisonnement et de 45 000 euros d’amende le fait, pour quiconque ayant connaissance de la convention secrète de déchiffrement d’un moyen de cryptologie susceptible d’avoir été utilisé pour préparer, faciliter ou commettre un crime ou un délit, de refuser de remettre ladite convention aux autorités judiciaires ou de la mettre en oeuvre, sur les réquisitions de ces autorités délivrées en application des titres II et III du livre Ier du code de procédure pénale.
Si le refus est opposé alors que la remise ou la mise en oeuvre de la convention aurait permis d’éviter la commission d’un crime ou d’un délit ou d’en limiter les effets, la peine est portée à cinq ans d’emprisonnement et à 75 000 euros d’amende

Droit au silence :
En lisant un article sur le site Rue89 je découvre que La Cour européenne des droits de l’homme reconnaît à toute personne le droit de ne pas participer à sa propre incrimination.

Le code pénal pose tout de même un problème…

Par exemple, j’ai un disque dur qui me sert qu’à faire des tests de tous genres, un billet sur mon blog sur comment récupérer des fichiers involontairement effacés (finalement, j’avais un souci de docking j’ai fait ce billet en utilisant une carte SD « Récupérer des images effacées sur carte SD« ), tester des distributions…. Il y a quelques mois, j’envisageais de faire un billet sur crypsetup en testant différents cyphers (j’ai abandonné l’idée du billet après en avoir lu d’autres très bien faits) ceci dit, mon disque dur reste dans l’état, chiffré, jusqu’au jour où j’en aurai un autre usage… Si on me demandait le mot de passe aujourd’hui, je serais bien embêté, je ne me souviens ni du dernier cypher utilisé ni du mot de passe… Et d’ailleurs, je m’en fiche complètement. Mais comment prouver sa bonne foi ?

https sur serveur unbuntu facile

https sur serveur unbuntu facileComment créer un accès https sur un serveur ubuntu 12.04.

Il s’agit d’un serveur LAMP (Linux, apache, Mysql, Php) ou autres…

Rapide, simple et efficace.

On active le module ssl, si ce n’est pas fait.

sudo a2enmod ssl

On redémarre apache:

sudo /etc/init.d/apache2 restart

ou

sudo service apache2 restart

Nous avons besoin de créer un nouveau répertoire dans lequel nous allons stocker la clé serveur et le certificat.
Créons un répertoire « ssl » sous /etc/
Puis un répertoire du nom de domaine, ex. « mon_serveur.fr » sous /etc/ssl/

sudo mkdir /etc/ssl
sudo mkdir /etc/ssl/mon_serveur.fr

Créez un certificat auto-signé « SSL »

Lorsque qu’on crée un nouveau certificat, nous pouvons spécifier combien de temps le certificat reste valide en mettant par exemple 365… Le certificat expire après un an… Ce qui semble logique 😉

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/mon_serveur.fr/mon_serveur.key -out /etc/ssl/mon_serveur.fr/mon_serveur.crt

Avec cette commande, nous allons à la fois créer un certificat SSL auto-signé ainsi que la clé sous le nouveau répertoire (/etc/ssl/mon_serveur.fr/).

Cette commande vous demandera un certain nombre de renseignements à remplir…

La ligne la plus importante est « Common Name (e.g. server FQDN or YOUR name) []: ». Entrez votre nom de domaine officiel ici ou, si vous n’en avez pas encore, l’adresse IP de votre site.

Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:IdF
Locality Name (eg, city) []:Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:mon_serveur
Organizational Unit Name (eg, section) []:mon_serveur
Common Name (e.g. server FQDN or YOUR name) []:mon_serveur.fr
Email Address []:votre_adresse@fai.fr

Maintenant, nous avons tous les éléments nécessaires pour terminer la prochaine étape est de mettre en place le serveur virtuel pour afficher le nouveau certificat.

Ouvrez le fichier de configuration de SSL:

sudo nano /etc/apache2/sites-available/default-ssl

Sur « ServerAdmin » mettez cotre mail
En dessous, rajouter la ligne:
« ServerName votre-serveur.fr:443« 
comme exemple ci-dessous

ServerAdmin votre_adresse@fai.fr
ServerName mon_serveur.fr:443

Rechercher les lignes ci-dessous et adaptez-les à votre configuration, dans notre exemple:

SSLEngine on
SSLCertificateFile /etc/ssl/mon_serveur.fr/mon_serveur.crt
SSLCertificateKeyFile /etc/ssl/mon_serveur.fr/mon_serveur.key

Sauvez et quittez.
Activez le nouveau site virtuel « Virtual host« 

sudo a2ensite default-ssl

Redémarrez le serveur:

sudo /etc/init.d/apache2 restart

ou

sudo service apache2 restart

Dans votre navigateur, tapez « https://votre-adresse » et vous serez en mesure de voir le nouveau certificat.

En cas de problème, on peut tester avec la commande suivante

curl -kv https://votreserveur.fr

Suivre son serveur avec Logwatch

regardez vos logs avec logwatchInstaller et configurer Logwatch

Pourquoi plutôt logwatch qu’une autre application de surveillance?

Je trouve logwatch très explicite, facile à configurer, simple et agréable à lire, il livre les logs bien structurés sous forme de chapitres, bref, pas besoin d’être un pro de la sécurité pour déchiffrer les logs… Qu’on peut recevoir par mail.

Logwatch sur ubuntu 14.04 server

Première chose à faire, vérifier que votre serveur peut vous envoyer un mail.

$ echo Contenu du message | mail -s "Sujet du mail" votremail@fai.fr

Supposons que vous avez bien reçu le mail… Tout va bien, on continue.

$ sudo apt-get install logwatch

Avant de configurer, faire une copie du fichier « logwatch.conf » dans /etc/logwatch/conf/

$ sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

Ensuite, ouvrez le fichier de configuration avec VIm, pour faire pro, ou comme moi avec « nano« 

$ sudo nano /etc/logwatch/conf/logwatch.conf

garder en mémoire la ligne 30 et modifier les lignes 35 (mettre « mail »), 44 (votre mail) et 77 (précision des informations traitées) comme suit :

29 # You can override the default temp directory (/tmp) here
30 TmpDir = /var/cache/logwatch
35 Output = "mail"
44 MailTo = votremail@fai.fr
77 Detail = 10

Vérifier que le dossier logwatch existe dans /var/ (vu ligne 30) sinon le créer.

$ sudo cd /var/cache/
$ ls
$ sudo mkdir logwatch

Faire un test avec la commande :

$ sudo logwatch –range=Today

Normalement, c’est fini et doit bien fonctionner !
N’hésitez pas à commenter pour apporter des précisions ou pour vos remarques.