CTO & Co-Founder SYNHACK
ET SI ON PARLAIT DE VOTRE SÉCURITÉ ?
SYNHACK est une start-up Normande spécialisée dans la sécurité numérique.
Basée à Seine Innopolis (Petit-Quevilly),
notre société est composée d'experts pluridisciplinaires dans les domaines
de la sécurité numérique.
VÉRIFIONS VOTRE NIVEAU DE SÉCURITÉ
NOS AUDITS DE SÉCURITÉ :
- Tests d'intrusion
- Audits de configuration
- Audits de vulnérabilités
- Audits d'infrastructures
NOS CERTIFICATIONS :
- EC-Council CEH
- Cisco CCNP Security
FORMER VOS SALARIÉS C'EST VOUS PROTÉGER
PARCOURS DE FORMATION :
- Formation et sensibilisation des
collaborateurs de l'entreprise
- Formation et accompagnement
de l'équipe IT de l'entreprise
Centre de formation agréé par
la DIRECCTE de Haute-Normandie.
LAISSEZ NOS EXPERTS VOUS AIDER
NOS OFFRES :
- Diagnostic Interne : Un expert se déplace au sein de votre entreprise afin de comprendre vos enjeux métiers et d'évaluer l'état de votre sécurité.
- SYNHACK @ Work : Un expert vous accompagne régulièrement à raison de 3 jours de prestation par mois.
C'est un assemblage de deux projets
C'est un projet qui a démarré en 1992
Développé à partir 1991 par Linus Torvalds
Aujourd'hui c'est 5000 développeurs
Ce sont 500 entreprises derrière le projet
Ce sont presque 20 millions de lignes de code
C'est libre et gratuit
C'est un projet initié en 1983 par Richard Stallman
C'est un système d'exploitation
Ce sont des commandes de bases
C'est libre et gratuit
Une distribution c'est un système GNU/Linux packagé
Ce sont des outils préinstallés
https://www.youtube.com/watch?v=JzsLkbwi1LA
Système d'exploitation libre et gratuit
Basé sur la distribution Debian
Développé par la société Canonical
Interface Unity
Méthode simple:
La logithèque Ubuntu
Méthode complexe:
La ligne de commande (et oui...)
Text
Text
apt-get update
apt-get upgrade
apt-cache search firefox
apt-get install firefox
apt-get autoremove firefox
- Télécharger l'ISO d'Ubuntu 15.10 sur le site ubuntu.com
- Télécharger et installer virtualbox 5.0
- Créer une machine virtuelle
- Installer Ubuntu
- Lancer la logithèque
- Installer le navigateur web chromium
- Lancer et utiliser chromium
- Lancer un terminal
- Mettre à jour le système
- Installer le logiciel filezilla
GNU/Linux respecte le Linux Hierarchy Standard (LHS)
C'est une organisation de fichier hiérarchique particulière
La racine est représentée par le dossier "/"
Représente la racine du système
Comparable au répertoire C:\ sous Windows
Dossier contenant les commandes essentielles du système
Contient les fichiers nécessaires au démarrage du système
Contient les fichiers liés aux périphériques du système
Contient les fichiers de configuration des services
Contient les dossiers personnels des utilisateurs du système
Contient les bibliothèques partagées du système
Points de montages des périphériques amovibles
Points de montage temporaires
Contient les applications installées manuellement
Contient des informations relatives au système
Dossier personnel de l'utilisateur root (administrateur)
Contient des informations du système depuis son démarrage
Contient les applications nécessitant des droits privilégiés
Contients les données des services (http, ftp, etc...)
Contient des données temporaires
Données en lecture seule sur le système
Contient des données variables
Cette commande permet d'afficher la documentation d'un logiciel
man = manual
man cd man firefox
Cette commande permet de changer de dossier courant.
cd = current directory
cd cd /tmp
cd ../scripts cd ~/downloads
Cette commande permet de connaître le répertoire courant
pwd = print working directory
pwd
Cette commande permet de lister le contenu d'un dossier
ls = list
ls ls /tmp ls ../scripts ls -al ../scripts
Cette commande permet d'afficher le contenu d'un fichier
cat /etc/passwd cat example.doc
Cette commande permet de créer un fichier vide
touch test.txt touch /tmp/test2.txt
Cette commande permet de créer un dossier vide
mkdir testdir mkdir /tmp/testdir2
Cette commande permet de créer ou modifier un fichier.
nano example.txt nano /etc/passwd
Cette commande permet de copier un fichier.
cp = copy
cp /tmp/test.txt ./ cp test.txt /tmp
Cette commande permet de déplacer/renommer un fichier.
mv = move
mv /tmp/test.txt ./ mv test.txt test2.txt
Cette commande permet d'effacer un fichier ou un dossier.
rm = remove
rm example.doc rm -rf /home/y0no/example_directory
Cette commande permet d'effacer un dossier vide.
rmdir = remove directory
rm /home/y0no/example_directory
Cette commande permet de changer d'utilisateur.
su = switch user
su root su y0no
Cette commande permet d'exécuter une commande en tant qu'un autre utilisateur
sudo = switch user and do
sudo apt-get install php5 sudo -u y0no nano test.php
- Créer un fichier vide nommé test.txt
- Le renommer en monFichier.txt
- Créer un dossier nommé TP
- Déplacer monFichier.txt dans le dossier TP
- Écrire "TP Linux" dans monFichier.txt
- Copier le dossier TP vers TP_copy
- Effacer le dossier TP
- Se loguer en tant qu'utilisateur root
- Créer un fichier test.txt dans le dossier /tmp
- Écrire du texte dans /tmp/test.txt
- Se déconnecter de l'utilisateur root
- Lire le fichier /tmp/test.txt, est-ce possible ?
- Ecrire dans le fichier /tmp/test.txt, est-ce possible ?
Les pipes permettent d'envoyer les résultats d'une commande en entrée d'une autre.
cat /etc/passwd | grep y0no ls | wc -l
L'opérateur AND permet de chaîner des commandes.
Ce chaînage s'arrête dès qu'une commande échoue ou en fin de ligne
apt-get update && apt-get upgrade mkdir test && echo 'Directory test created'
L'opérateur ";" permet de chaîner des commandes sans regarder le resultat des commandes. C'est à dire que si une commande échoue, le chaînage continuera.
apt-get update ; apt-get upgrade
Cette opérateur permet d'exécuter une commande si la première échoue.
mkdir test || echo 'Unable to create test'
Cette opérateur permet de créer/modifier un fichier avec une entrée STDIN
echo 'hello' > test.txt
Cette opérateur permet d'ajouter une entrée STDIN à un fichier
echo 'hello' > test.txt echo 'ligne 2' >> test.txt
Cette commande permet de filtrer une entrée STDIN
cat /etc/passwd | grep y0no
Les scripts sont des fichiers texte permettant d'effectuer plusieurs actions sur le système. Ils sont comparables à des scripts batch.
echo 'debut du script'
mkdir test
cd test && touch fichier.txt
echo 'fin du script'
Les tâches CRON permettent d'exécuter des tâches à intervale régulier.
En résumé, ce sont des tâches planifiées.
Configuration dans /etc/cron
# m h j m js cmd log
30 23 * * * df >>/tmp/log_df.txt
En une commande:
- Demander au système de rafraîchir son cache apt
- Demander au système de se mettre à jour
- Demander au système d'installer une application
- Écrire dans le terminal "Everything is ok" si tout va bien
- Écrire dans le terminal "Epic fail" si la commande plante
En une commande:
- Demander au système de pinger google.com
- En cas de réussite, afficher "Everything is ok"
- En cas d'échec, afficher "Google seems down"
Dans un script:
- Afficher à l'utilisateur "Système de notation v1.0"
- Demander à l'utilisateur d'entrer une note dans la console
- Enregistrer cette note dans une variable
- Afficher un texte en fonction de la note:
- insuffisant, assez bien, bien, très bien et excellent
Dans un script:
- Permettre à l'utilisateur d'ajouter des contacts dans un fichier (nom, prénom, numéro de téléphone)
- Permettre à l'utilisateur de supprimer des contacts
- Permettre à l'utilisateur de lister les contacts
GNU/ Linux permet de créer autant d'utilisateurs que l'on veut.
Un utilisateur peut appartenir à un ou plusieurs groupes
La liste des utilisateurs est présente dans /etc/passwd
La liste des groupes utilisateurs est dans /etc/group
Cette commande permet d'ajouter un utilisateur au système
useradd usertp
Cette commande permet de modifier un utilisateur existant
usermod -a -G sudo testtp
Cette commande permet de supprimer un utilisateur
userdel usertp
Gestion des droits de type UGO
Permissions liées à un utilisateur et un groupe
Permissions RWX
Cette commande permet de modifier les droits d'un fichier ou d'un dossier.
chmod = change mode
chmod 755 example.doc chmod -r 755 ~/ chmod u+x example.doc
chmod ug+rwx example.doc
Cette commande permet de modifier le propriétaire d'un fichier ou d'un dossier.
chown: change owner
chown y0no example.doc chown -r y0no ~/ chown y0no:users example.doc
Cette commande permet de modifier le groupe d'un fichier ou d'un dossier.
chgrp = change group
chgrp nom_groupe nom_fichier
- Demander à votre terminal d'afficher votre nom d'utilisateur
- Déterminer à quel groupe appartient votre utilisateur actuel
- Créer un nouveau groupe nommé TP
- Ajouter un nouvel utilisateur 'userTP' qui appartient au groupe TP
- Ajouter votre utilisateur actuel au groupe TP
- Créer un fichier nommé "test_permission"
- Ouvrir un terminal en tant qu'utilisateur "userTP"
- Essayer de modifier le fichier "test_permission" avec "userTP"
- Donner les droits d'écriture à l'utilisateur actuel et à userTP
- Réessayer de modifier le fichier "test_permission" avec "userTP"
- Créer les utilisateurs Bob et Alice
- Permettre à Bob et Alice (et seulement eux) d'écrire dans /home/tp/
Les ACL, ou Access Control Lists, permettent une gestion plus fine des permissions sous GNU/Linux.
Elles ne remplacent pas les permissions de bases mais les complètent.
Cette commande permet d'obtenir les ACL définies sur le fichier.
getfacl fichierTest
Cette commande permet de définir une ACL sur un fichier.
setfacl -m u:bobi:rwx fichierTest setfacl -x g:staff fichierTest
- Créer un fichier testACL
- Afficher les ACL du fichier testACL
- Créer un utilisateur bobi
- Permettre à bobi d'éditer le fichier testACL en utilisant les ACLs
- Afficher les ACL du fichier testACL
Une partition est une zone logique située sur un disque dur. Elles permettent d'isoler des données sur un même disque dur.
Les partitions permettent d'utiliser plusieurs systèmes de fichiers (FS) sur un même disque dur.
Sous GNU/Linux, les partitions se situent dans /dev et respectent une convention de nommage particulière.
Le format sera toujours /dev/XXYZ
où XX est le type de périphérique de stockage
Y l'emplacement du stockage
et Z le numéro de partition
/dev/sda1
/dev/hdb3
Cette commande permet de lister ou créer une partition
fdisk -l # Liste les partitions fdisk /dev/sdb # Lance fdisk sur /dev/sdb
Cette commande permet de formater une partition
mkfs.ext4 /dev/sda1 mkfs.ntfs /dev/sda2
Cette commande permet de formater une partition en tant que swap.
mkswap /dev/sda1 swapon /dev/sda1
- Créer un nouveau disque dur sous virtualbox
- Ajouter-le disque à la machine virtuelle (Ubuntu ou autre)
- Lister les disques sur le système
- Créer une partition sur le nouveau
- Formater la partition en ext4
- Monter la partition sur le système et écrire dedans
- Monter la partition au boot à l'emplacement /home/partages
LVM est un système permettant de gérer facilement les partitions sous GNU/Linux à l'aide de volumes logiques
Cette méthode permet de redimensionner facilement des partitions sans craindre des pertes de données.
Néanmoins le système peut s'avérer dangereux.
PV: Physical volume
VG: Volume group
LV: Logical volume
- Définir les deux nouveaux disques en tant que PV ;
- Définir un VG "MyData" contenant les deux PV ;
- Créer trois LV "Videos", "Musique" et "Images" d'une taille de 5Go chacun
- Formater les partitions en ext4
- Monter automatiquement les partitions dans le répertoire /mnt (vidéos, musiques et images)
- Créer des liens symboliques entre chaque point de montage des LV ainsi que votre /home/$user
- Gérer les droits d'accès intelligemment ;-)