SlideShare une entreprise Scribd logo
1  sur  24
LINUX BEST-PRACTICES
standards/normes et optimisations
best-practices?! what?!
“Bonnes pratiques”
• pas forcémment les vrais
standards/normes
• imposer des standards à partir des
meilleurs pratiques
• les règles de l'art
LINUX best-practices
Catégories:
• Standards et normes
• Administration du système
• Sécurité
• Shell
• Scripting
Standards/ normes
STANDARDS / NORMES
• LSB (Linux Standard Bases)
- spécifications POSIX vs. SUS
- inter-compatibilité version/distro
- norme ISO
• FHS (File Hierarchy Standard)
- organisation du systèmes de fichiers
Admin système
admin système
+ ne pas se logguer en tant que ROOT
- ubuntu: sudo
- debian: su
+ les partitions à séparer
/home
/boot (boot loader, GRUB)
admin système
# scalabilité
horizontale/verticale, autoscaling
admin système
# scalabilité de stockage, utiliser LVM
admin système
Conventions des nommages des fichiers
RQ: linux, tout est fichier
- caractères alpha-numeriques ab1dC
- pas de majuscules/chiffres au début
- “point” pour les extensions foo.txt
- pas d'espace, - ou _ à la place my_file
- date: format AAAA-MM-JJ 2018-11-25
- évitez accent/ caractères spéciaux
- suffixe ~ pour un backup .vimrc~
# Gestion des paquets
- installer à partir du gestionnaire de paquets
- sources officielles
+ Nombre de paquets restreints
+ Supprimez les conf inutilisés “rc”
#dpkg -l | grep ^rc | awk '{print $2}'
#dpkg -l | grep ^rc | awk '{print $2}' | xargs dpkg -P
Admin système
# SCREEN
- persistance de session
- multiplicateur de terminal
Créer session $screen -S session
Détacher session CTRL+a d
Rattacher session $screen -r session
Partager session $screen -x session
Multiplier session CTRL+a |
Changer de zone CTRL+a TAB
Créer un terminal CTRL+a c
= termux
Sécurité
sécurité
“Think like the hacker”
# SSH
- port 22 --> /path/to/sshd_config
- compte “root” (PermitRootLogin no)
- nb d'éssai
- auth par mot de passe / clé
- users authorisés seulement “AllowUsers X
Y Z”
sécurité
# Tentative de pénétration
bloquer les tentatives de connexion “auth.log”
• Fail2ban
surcharge de login, brute-force, bannir IP
• SSHGuard
#iptables -N sshguard
#iptables -A INPUT -j sshguard
#iptables -A INPUT -m multiport -p tcp --destination-
ports 21,22,110,143 -j sshguard
sécurité
• Éviter le FTP, plutôt du SFTP
• Limiter les services en écoute
Shell
shell
# Thèmes et personnalisation
• Bash-it
• oh-my-zsh
• fzf
• fish
Scripting
scripting
# shebang
#!/usr/bin/env bash vs #!/bin/bash
set -o errexit
set -o pipefail
set -o nounset
set -o xtrace
# commentaires
# identations
scripting
# répertoires en variables
DIR=”/home/user/directory”
# chemin complet des éxecutables
/bin/ls vs ls
Merci.
Nos questions
• Pourquoi vous avez décidez d'utiliser
linux?
• Quelles sont vos difficultés sur Linux?
• Qu'est-ce qui vous empêche de n'utiliser
que linux?
• Recommendriez-vous linux à vos
proches?
qui je suis?
• Niaina Lens
– Ingénieur IT Infra, Cloud Computing
– Linux Enthousiast
• [fb] Mada Linux Community
• [fb] Gasy Tia Linux
• ENI 2017

Contenu connexe

Tendances

Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101 Kais Baccour
 
02 03 récupération du système
02 03 récupération du système02 03 récupération du système
02 03 récupération du systèmeNoël
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dnsNoël
 
07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dns07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dnsNoël
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linuxKhalid ALLILI
 
08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2Noël
 
Gestion des disques et des permission sous Linux
Gestion des disques et des permission sous LinuxGestion des disques et des permission sous Linux
Gestion des disques et des permission sous LinuxOussama Bessrour
 
08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec sslNoël
 
Nouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP OpenskaNouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP OpenskaOpenska
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linuxEmmanuel Florac
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieAlexandru Radovici
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoPASCAL Jean Marie
 
Guide pratique openssl sous debian
Guide pratique openssl sous debianGuide pratique openssl sous debian
Guide pratique openssl sous debianyahyaf10
 

Tendances (20)

Formation Linux lpi 101
Formation Linux lpi 101 Formation Linux lpi 101
Formation Linux lpi 101
 
Atelier ssh
Atelier sshAtelier ssh
Atelier ssh
 
02 03 récupération du système
02 03 récupération du système02 03 récupération du système
02 03 récupération du système
 
07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns07 01 configuration élémentaire d'un dns
07 01 configuration élémentaire d'un dns
 
07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dns07 02 création et maintenance de zones dns
07 02 création et maintenance de zones dns
 
Mysql Apche PHP sous linux
Mysql Apche PHP sous linuxMysql Apche PHP sous linux
Mysql Apche PHP sous linux
 
Serveur Web (1)
Serveur Web (1)Serveur Web (1)
Serveur Web (1)
 
08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2
 
Initiation Linux
Initiation LinuxInitiation Linux
Initiation Linux
 
Gestion des disques et des permission sous Linux
Gestion des disques et des permission sous LinuxGestion des disques et des permission sous Linux
Gestion des disques et des permission sous Linux
 
08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl
 
Nouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP OpenskaNouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP Openska
 
Présentation unix linux
Présentation unix linuxPrésentation unix linux
Présentation unix linux
 
Presentation drush
Presentation drushPresentation drush
Presentation drush
 
SdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortieSdE TP 3 - Fonctions d'entrée et sortie
SdE TP 3 - Fonctions d'entrée et sortie
 
Linux commandes
Linux commandesLinux commandes
Linux commandes
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
Implémentation d'openvpn
Implémentation d'openvpnImplémentation d'openvpn
Implémentation d'openvpn
 
Genma - Vulgarisons le DNS
Genma - Vulgarisons le DNSGenma - Vulgarisons le DNS
Genma - Vulgarisons le DNS
 
Guide pratique openssl sous debian
Guide pratique openssl sous debianGuide pratique openssl sous debian
Guide pratique openssl sous debian
 

Similaire à Linux_best_practices

LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeNoël
 
cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfSouha Bennani
 
Découverte d'UNIX - ISIMA
Découverte d'UNIX - ISIMADécouverte d'UNIX - ISIMA
Découverte d'UNIX - ISIMALoic Yon
 
0079-cours-linux-base.ppt
0079-cours-linux-base.ppt0079-cours-linux-base.ppt
0079-cours-linux-base.pptAugustoMoundoh1
 
0079-cours-linux-base.ppt
0079-cours-linux-base.ppt0079-cours-linux-base.ppt
0079-cours-linux-base.pptMahdiHERMASSI1
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegardeNoël
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichierNoël
 
SSH - Secure Shell
SSH - Secure ShellSSH - Secure Shell
SSH - Secure ShellSouhaib El
 
0240-formation-ssh-secure-shell.pdf
0240-formation-ssh-secure-shell.pdf0240-formation-ssh-secure-shell.pdf
0240-formation-ssh-secure-shell.pdfBellaj Badr
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssdAnthony Le Goff
 
09 01 configuration du serveur samba
09 01 configuration du serveur samba09 01 configuration du serveur samba
09 01 configuration du serveur sambaNoël
 
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfsNoël
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de coursISIG
 
10 02 authentification PAM
10 02 authentification PAM10 02 authentification PAM
10 02 authentification PAMNoël
 
Lin10 formation-linux-red-hat-administration
Lin10 formation-linux-red-hat-administrationLin10 formation-linux-red-hat-administration
Lin10 formation-linux-red-hat-administrationCERTyou Formation
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére filsSelman Dridi
 

Similaire à Linux_best_practices (20)

LPIC1 11 02 sécurité système
LPIC1 11 02 sécurité systèmeLPIC1 11 02 sécurité système
LPIC1 11 02 sécurité système
 
cours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdfcours-gratuit.com--id-3443.pdf
cours-gratuit.com--id-3443.pdf
 
Découverte d'UNIX - ISIMA
Découverte d'UNIX - ISIMADécouverte d'UNIX - ISIMA
Découverte d'UNIX - ISIMA
 
0079-cours-linux-base.ppt
0079-cours-linux-base.ppt0079-cours-linux-base.ppt
0079-cours-linux-base.ppt
 
0079-cours-linux-base.ppt
0079-cours-linux-base.ppt0079-cours-linux-base.ppt
0079-cours-linux-base.ppt
 
06 02 opérations de sauvegarde
06 02 opérations de sauvegarde06 02 opérations de sauvegarde
06 02 opérations de sauvegarde
 
03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier03 01 intervention sur le système de fichier
03 01 intervention sur le système de fichier
 
SSH - Secure Shell
SSH - Secure ShellSSH - Secure Shell
SSH - Secure Shell
 
0240-formation-ssh-secure-shell.pdf
0240-formation-ssh-secure-shell.pdf0240-formation-ssh-secure-shell.pdf
0240-formation-ssh-secure-shell.pdf
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssd
 
09 01 configuration du serveur samba
09 01 configuration du serveur samba09 01 configuration du serveur samba
09 01 configuration du serveur samba
 
09 02 configuration du serveur nfs
09 02 configuration du serveur nfs09 02 configuration du serveur nfs
09 02 configuration du serveur nfs
 
lpi 101 notes de cours
lpi 101 notes de courslpi 101 notes de cours
lpi 101 notes de cours
 
10 02 authentification PAM
10 02 authentification PAM10 02 authentification PAM
10 02 authentification PAM
 
Bash bonnes pratiques
Bash bonnes pratiquesBash bonnes pratiques
Bash bonnes pratiques
 
Lin10 formation-linux-red-hat-administration
Lin10 formation-linux-red-hat-administrationLin10 formation-linux-red-hat-administration
Lin10 formation-linux-red-hat-administration
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 
sshGate
sshGatesshGate
sshGate
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
 
Chiffrer et sécuriser MariaDB
Chiffrer et sécuriser MariaDBChiffrer et sécuriser MariaDB
Chiffrer et sécuriser MariaDB
 

Linux_best_practices

  • 2. best-practices?! what?! “Bonnes pratiques” • pas forcémment les vrais standards/normes • imposer des standards à partir des meilleurs pratiques • les règles de l'art
  • 3. LINUX best-practices Catégories: • Standards et normes • Administration du système • Sécurité • Shell • Scripting
  • 5. STANDARDS / NORMES • LSB (Linux Standard Bases) - spécifications POSIX vs. SUS - inter-compatibilité version/distro - norme ISO • FHS (File Hierarchy Standard) - organisation du systèmes de fichiers
  • 7. admin système + ne pas se logguer en tant que ROOT - ubuntu: sudo - debian: su + les partitions à séparer /home /boot (boot loader, GRUB)
  • 9. admin système # scalabilité de stockage, utiliser LVM
  • 10. admin système Conventions des nommages des fichiers RQ: linux, tout est fichier - caractères alpha-numeriques ab1dC - pas de majuscules/chiffres au début - “point” pour les extensions foo.txt - pas d'espace, - ou _ à la place my_file - date: format AAAA-MM-JJ 2018-11-25 - évitez accent/ caractères spéciaux - suffixe ~ pour un backup .vimrc~
  • 11. # Gestion des paquets - installer à partir du gestionnaire de paquets - sources officielles + Nombre de paquets restreints + Supprimez les conf inutilisés “rc” #dpkg -l | grep ^rc | awk '{print $2}' #dpkg -l | grep ^rc | awk '{print $2}' | xargs dpkg -P
  • 12. Admin système # SCREEN - persistance de session - multiplicateur de terminal Créer session $screen -S session Détacher session CTRL+a d Rattacher session $screen -r session Partager session $screen -x session Multiplier session CTRL+a | Changer de zone CTRL+a TAB Créer un terminal CTRL+a c = termux
  • 14. sécurité “Think like the hacker” # SSH - port 22 --> /path/to/sshd_config - compte “root” (PermitRootLogin no) - nb d'éssai - auth par mot de passe / clé - users authorisés seulement “AllowUsers X Y Z”
  • 15. sécurité # Tentative de pénétration bloquer les tentatives de connexion “auth.log” • Fail2ban surcharge de login, brute-force, bannir IP • SSHGuard #iptables -N sshguard #iptables -A INPUT -j sshguard #iptables -A INPUT -m multiport -p tcp --destination- ports 21,22,110,143 -j sshguard
  • 16. sécurité • Éviter le FTP, plutôt du SFTP • Limiter les services en écoute
  • 17. Shell
  • 18. shell # Thèmes et personnalisation • Bash-it • oh-my-zsh • fzf • fish
  • 20. scripting # shebang #!/usr/bin/env bash vs #!/bin/bash set -o errexit set -o pipefail set -o nounset set -o xtrace # commentaires # identations
  • 21. scripting # répertoires en variables DIR=”/home/user/directory” # chemin complet des éxecutables /bin/ls vs ls
  • 23. Nos questions • Pourquoi vous avez décidez d'utiliser linux? • Quelles sont vos difficultés sur Linux? • Qu'est-ce qui vous empêche de n'utiliser que linux? • Recommendriez-vous linux à vos proches?
  • 24. qui je suis? • Niaina Lens – Ingénieur IT Infra, Cloud Computing – Linux Enthousiast • [fb] Mada Linux Community • [fb] Gasy Tia Linux • ENI 2017

Notes de l'éditeur

  1. POSIX (Portable Operating System Interface) X=UNIX payant POSIX: normes techniques par l'Institute of Electrical and Electronics Engineers (IEEE) (désignée par IEEE 1003). --> standardisation des interfaces de programmation des logiciels destinés à fonctionner sur les variantes du système d'exploitation UNIX. --> par Richard Stallman