User Tools

Site Tools


Sidebar

Sidebar

Accueil

Menu Linux

Menu Windows

Menu Android

I. Partie LINUX

  • Préliminaire

Introduction Linux

LiveCD Linux

  • Installation

LiveCD Ubuntu

Installation Ubuntu

Ubuntu sur Netbook

Installation sur support USB

Installation sans CD-ROM

Installations, mise à jour

Réinstallation/Migration version Ubuntu

Applications Ubuntu

Notes

Documentation-Aides

* Aller plus loin

Arborescence Ubuntu

Recherche Ubuntu

Edition Linux

Terminal & Super Utilisateur

Commandes Linux (1)

Commandes Linux (2)

Utilisateurs, groupes, droits

Matériel

Imprimante Linux

Compression-Archivage

Déplacer le /home

Bureau-Gnome

Environnement graphique

  • Réseau

Connexion Linux

Réseau Linux

Routeurs

Paramétrage routeur

Analyse Réseau - Gestion parc

Partages,Transferts

Disque-Réseau

Contrôle à distance

Contrôle à distance Linux

Teamviewer

Serveur

Serveur Linux

OpenVPN

Sécurité Linux

SSH

Authentification

Migration Linux Petite entreprise

  • Utiliser des applications Windows

Virtualisation

Wine: Applications Windows sous Linux

  • Téléphonie VOIP

Asterisk, TrixBox, Elastix

Routeur double Wan

  • Maintenance, dépannage

Sauvegarde

Sauvegarde Linux

Synchronisation Linux

Dépannage Ubuntu

Antivirus Linux

Grub

Grub2

Partitions Linux

Fichier fstab

Récupération de fichiers, partitions

  • BDD

BDD Linux

Access/MySQL

Talend Open Studio

II. Partie commune

Présentation

  • Internet

Navigation Internet

Thunderbird (1)

Thunderbird (2)

Thunderbird (3)

Courrier GMail

  • Création de site

Dokuwiki

Joomla

  • Bureautique

Open Office

  • Graphisme

Picasa

  • Photo

Photo: Théorie

Photo: Pratique

Diaporama, site photos

Retouche: Gimp

  • Téléphone

Téléphonie

  • Multimedia

YouTube

Musique

Télévision

  • BDD

Access/MySQL

III. Partie WINDOWS

  • Préliminaire

Logiciels Windows

Utilitaires Windows

  • Internet

Connexion Internet

Export OutlookExpress

Changement d'ordinateur

Agenda

Blog: Dotclear

Exploration/Dépannage Internet

  • Création de site

Joomla

Dreamweaver

  • Réseau

Partage Connexion

Partage Fichiers

Partage Imprimante

Transfert Fichiers

  • Dépannage

Prévention-dépannage Windows

  • Divers

Anti-virus

Gravure CD

Installation périphérique Windows

Partitions Windows

Organisation disque dur

Sauvegarde-Synchronisation Windows

Putty

Contrôle à distance

Bash Shell

IV. Partie Android

Sidebar

Smartphone

Messages pour le Web

securite-linux

Sécurité Linux

Les principales menaces effectives qui pèsent sur un ordinateur ou un réseau local sont les suivantes:

  • un utilisateur du système: l'énorme majorité des problèmes liés à la sécurité provient de l'utilisateur lui-même, insouciant ou négligent,
  • une personne mal intentionnée: quelqu'un parvient à s'introduire, et à accéder ensuite à des données ou à des programmes en utilisant par exemple des failles connues et non corrigées dans les logiciels,
  • un programme malveillant: un logiciel destiné à nuire ou à abuser des ressources du système est installé (par mégarde ou par malveillance) sur le système, ouvrant la porte à des intrusions ou modifiant les données ; des données personnelles peuvent être collectées à l'insu de l'utilisateur,
  • un sinistre (vol, incendie, dégât des eaux).

Heureusement, le monde Linux est relativement bien pourvu du nécessaire pour parer aux attaques.

Mises à jour

Sous Linux, comme sous Windows, il est essentiel d'avoir un système à jour. L'avantage de Linux est que ces mises à jour sont fréquentes et rapides à faire, il faut les prendre à chaque fois qu'elles sont proposées.

Clé Yubico

Les clés de sécurité USB YubiKey 5 CSPN éliminent les compromissions de compte et facilitent le déploiement d’une authentification forte et évolutive. Elles protègent par ailleurs les organisations contre l’impact d’attaques de phishing.

La YubiKey est considérée comme l'un des outils les plus sûrs pour l'authentification à deux facteurs. Le code d'accès peut être utilisé pour la connexion, le dépôt ou le retrait de fonds depuis son compte, ou bien comme Clé Maître.

Installation du programme Yubico Authenticator sur Ubuntu

Installation du dépôt yubico:

sudo add-apt-repository ppa:yubico/stable && sudo apt-get update

Installation du programme de Yubico. Lancer la commande suivante:

sudo apt-get install yubioath-desktop

Pour le lancer, entrer:

yubioath-desktop

Mots de passe

Il est important d'utiliser un bon mot de passe pour éviter qu'il ne soit découvert par des algorithmes conçus pour cet effet. Donc bannir tous les mots du dictionnaire, les noms ou prénoms à l'endroit ou à l'envers. Choisir un mot de 8 caractères constitué de lettres et de chiffres. Il est un peu illusoire d'ajouter des caractères spéciaux (+, (, #…) car il devient trop compliqué à retenir et on est tenté de le marquer quelque part.

  • Pour fabriquer ces mots de passe, on peut utiliser pwgen dont les options nombreuses permettent de l'adapter au but recherché. Faire un man pwgen pour les voir.
pwgen -s  # pour des mots de passe sécurisés, complètement aléatoires, mais difficiles à retenir
pwgen -B  # pour des mots de passe sans ambiguité, mais moins sécurisés
guy@xxxx:~$ pwgen -B
iez9ui9O Fahg4aip shei7Noh epah4Ing nuogei3I Ahneep4U Shitho3j jaim3koH
Quahz3ae vaodi9Te ooCh4joo Cee3eis7 wahz9Woh Eim4eth9 eegh9oY3 ius9aNg9
die7Ahp9 To9viewa Mie7bosh voNgaik9 ohJoht9w ri9waeH4 OoZiic7r Aiz9shuw
Ees4oxei Ohs3eum3 iePae7Ee due7ohRu ta3Oovuj sahhae3E muDe7aez aengiM3z
quoNgoh9 hooSahC3 ioy4Gaih rae3giM3 Tio3ieph rai9AhB9 Bi4Ahdoh oow4EiSe
ooYahph4 Etie4hic Ai9eiXa3 faz9neiG ahZ3zo7e Wei4ais4 eem7Ohsh ahz3Weef

  • Une bonne solution est aussi d'utiliser une phrase, au choix de l'utilisateur, dans laquelle on retire des lettres au choix, on introduit des majuscules et des chiffres. C'est le moyen le plus facile à retenir.
  • Pour tester les mots de passe d'une machine, installer le programme john et le lancer sur le fichier /etc/shallow.
apt-get install john
john /etc/shallow

Attention, il prend 100% de la puissance du processeur (préférer un PC avec processeur quatre-coeurs).

Keepass2

Keepass est un gestionnaire de mots de passe open source et gratuit. On peut également l'appeler un coffre-fort de mots de passe. Installation keepass2 par Synaptic.

LastPass

LastPass, célèbre gestionnaire de mots de passe, enregistre les mots de passe et offre un accès sécurisé depuis tout périphérique.

Un seul mot de passe à mémoriser, le mot de passe-maître. Mémoriser tous ses identifiants et mots de passe dans LastPass. Il va se loguer automatiquement sur tous les sites et synchroniser partout où cela est nécessaire.

Pour l'installer, aller sur lastpass.com. Les applications LastPass existent pour Firefox, Chrome, Safari , Opera et Edge.

Programme d'installation universel pour Linux lplinux.tar.bz2 sur https://lastpass.com/lplinux.php à lancer avec la commande:

tar xjvf lplinux.tar.bz2
 ./install_lastpass.sh

Ajouter une couche de sécurité supplémentaire avec une authentification multifacteur. Télécharger l'application LastPass authenticator pour iOS et Android.

pwgen

pwgen est un utilitaire pour créer des mots de passe aléatoires.

Check-up Mots de passe

Il existe également un moyen de vérifier ses mots de passe avec l'outil Check-up Mots de passe de Google, sous-ensemble de https://passwords.google.com/

fail2ban

fail2ban est une application qui analyse les logs de divers services (SSH, Apache, FTP…) en cherchant des correspondances entre des motifs définis dans ses filtres et les entrées des logs.

Après installation, lancer fail2ban et le démarrage automatique

systemctl start fail2ban
systemctl enable fail2ban

Paramétrage

Paramétrage par /etc/fail2ban/jail.conf, ajouter en finale

[sshd]
enabled = true
logpath = /var/log/auth.log
maxretry = 5

Vérification par

sudo systemctl restart fail2ban
sudo fail2ban-client status
Status
|- Number of jail:      3
`- Jail list:           apache, proftpd, sshd

Les prisons peuvent être contrôlées séparément avec les mots clés start, stop, status Par exemple :

sudo fail2ban-client stop sshd
Jail stopped

Contrôle bonne installation

systemctl status fail2ban

Si la réponse comporte du vert et les mots “active (running)” sur la ligne commençant par “Active :”, le service est installé et actif.

Logs

Les logs sont enregistrés dans /var/log/fail2ban.log. Pour les examiner

tail -f /var/log/fail2ban.log

Pare-feu

Le rôle du pare-feu est de mettre à l'abri le ou les ordinateurs en aval, vis à vis du monde extérieur de l'Internet. En fait, en Linux, on peut ne pas se compliquer la vie avec une bonne configuration des ordinateurs.

Netfilter est un module du noyau Linux qui offre, de base, la possibilité de contrôler, modifier et filtrer les paquets IP, et de suivre les connexions. Il fournit les fonctions de pare-feu, de partage de connexions internet et d'autorisation du trafic réseau. Iptables est l'interface “ligne de commande” permettant de configurer Netfilter.

Sous Ubuntu, il existe différents outils de pare-feu:

  • Firestarter qui est un “front-end” en mode graphique pour aider à configurer Netfilter,
  • Ufw maintenant incorporé depuis la version 8.04 ufw (uncomplicated fire-wall), mais à activer
  • Gufw en mode graphique
  • Nufw, autre dérivé d'Ufw.

Bien se méfier de ne pas se pénaliser soi-même avec les paramétrages. De base, tout ce qui sort est autorisé, tout ce qui entre est bloqué.

La documentaion Ubuntu est sur http://doc.ubuntu-fr.org/ufw, http://doc.ubuntu-fr.org/gufw, https://help.ubuntu.com/community/UFW, http://doc.ubuntu-fr.org/firestarter et sur http://doc.ubuntu-fr.org/iptables.

On peut aussi mentionner Shorewall. Voir http://forum.ubuntu-fr.org/viewtopic.php?id=234461

Blocage IP: IPtables

L'un des outils pour se protéger est d'utiliser iptables. Commandes principales:

  • -A –append : Ajoute la règle à la fin de la chaîne spécifiée. Exemple :
sudo iptables -A INPUT ...
  • -D –delete : Permet de supprimer une chaîne. On peut l'utiliser de 2 manières, soit en spécifiant le numéro de la chaîne a supprimer, soit en spécifiant la règle à retirer. Exemples :
sudo iptables -D INPUT --dport 80 -j DROP
# iptables -D INPUT 1
  • -R –replace : Permet de remplacer la chaîne spécifiée. Exemple :
sudo iptables -R INPUT 1 -s 192.168.0.1 -j DROP
  • -I –insert : Permet d'ajouter une chaîne dans un endroit spécifié de la chaîne. Exemple :
sudo iptables -I INPUT 1 --dport 80 -j ACCEPT

Si aucun chiffre n'est spécifié à la suite (#iptables -I INPUT –dport 80 -j ACCEPT), la règle est ajoutée au début de la chaîne spécifiée

  • -L –list : Permet d'afficher les règles. Exemples :
sudo iptables -L # Affiche toutes les règles des chaînes de FILTER
sudo iptables -L INPUT # Affiche toutes les règles de INPUT (FILTER)
  • -F –flush : Permet de vider toutes les règles d'une chaîne. Exemple :
sudo iptables -F INPUT
  • -N –new-chain : Permet de créer une nouvelle chaîne. Exemple :
sudo iptables -N LOG_DROP
  • -X –delete-chain : Permet d'effacer une chaîne. Exemple :
sudo iptables -X LOG_DROP
  • -P –policy : Permet de spécifier au noyau la politique par défaut d'une chaîne DENY, ACCEPT, REJECT, DROP … Exemple :
sudo iptables -P INPUT DROP

Statut actuel

Pour ufw:

sudo ufw status

Pour fail2ban:

sudo fail2ban-client status

Pour réinitialiser

sudo iptables -F
sudo iptables -X

Commandes pour matcher

Remarques: Les adresses IP peuvent optionnellement être spécifiées avec le masque associé sous la forme [adresse ip]/[masque].

  • -j (jump) : Définit l'action à prendre si un paquet répond aux critères de cette règle: ACCEPT, LOG, DROP… Exemple :
# iptables -A INPUT -p icmp -j DROP
  • -p –protocol : Spécifier un protocole : tcp, udp, icmp, all (tous). Exemple :
# iptables -A INPUT -p icmp -j DROP
  • -s –source : Spécifier une adresse source à matcher. Exemple :
# iptables -A INPUT -p tcp -s 192.168.42.42 -j ACCEPT
  • -d –destination : Spécifier une adresse destination. Exemple :
# iptables -A FORWARD -p tcp -d 10.1.0.1 -j ACCEPT
  • -i –in-interface : Spécifier une interface d'entrée. Exemple :
# iptables -A INPUT -p icmp -i eth0 -j DROP
  • -o –out-interface : Spécifier une interface de sortie. Exemple :
# iptables -A OUTPUT -p icmp -o eth0 -j DROP
  • –sport –source-port : Spécifier le port source ou une plage de ports, fonctionne aussi en udp, -m multiport permet de spécifier plusieurs ports à matcher. Exemples :
# iptables -A INPUT -p tcp --sport 80 -j ACCEPT
# iptables -A INPUT -p udp --sport 80 -j DROP
# iptables -A OUTPUT -p tcp -m multiport --sport 3128,21,1000 -j DROP
# iptables -A OUTPUT -p tcp --sport 1024:2042 -j ACCEPT
  • –dp * port –destination-port : Spécifier le port destination ou une plage de ports, fonctionne aussi en udp, -m multiport permet de spécifier plusieurs ports a matcher. Exemples :
# iptables -A INPUT -p tcp --dport 110 -j DROP
# iptables -A INPUT -p udp --dport 110 -j DROP
# iptables -A INPUT -p tcp -m multiport --dport 110,4242,119 -j DROP
# iptables -A INPUT -p tcp --sport 4925:4633 -j ACCEPT

–tcp-flags : Spécifier un flag tcp à matcher : SYN ACK FIN RST URG PSH ALL NONE. Exemple :

# iptables -A INPUT -p tcp --dport 42 --tcp-flags SYN,ACK -j ACCEPT

–icmp-type : Spécifier un type de paquet icmp à matcher. Exemple :

# iptables -A INPUT -p icmp --icmp-type 8 -j DROP

apt install rkhunter

Appliquer les règles au démarrage

La commande iptables-persistent propose de sauvegarder les règles dans le fichier /etc/iptables/rules.v4 pour les règles IPv4, sinon:

sudo iptables-save > /etc/iptables.rules

mètres Chrome</file>

Paramètres Chrome

Pour entrer les URL à bloquer, utiliser Paramètres/Confidentialité et sécurité.

Spécificités NAT

  • –to-destination : Utilisé en target pour le DNAT, permet de spécifier l'adresse de destination de la translation, on peut également spécifier un port s'il est différent du port source. Exemples :
# iptables -t nat -A PREROUTING -d 42.12.42.12 -p tcp --dport 110 -j DNAT --to-destination 192.168.1.2:6110
# iptables -t nat -A PREROUTING -d ! 42.12.42.12 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128
  • –to-source : Utilisé pour en target pour le SNAT, permet de spécifier l'adresse source de la translation.

Dans le forum Ubuntu, certains se plaignaient d'être sniffés par un adresse installée en Chine. Pour bloquer ce gêneur, la consigne donnée est d'ajouter une ligne dans les IP Tables:

iptables -I INPUT -s 61.139.105.163 -j DROP 

Rootkit

Un rootkit ou simplement « kit », est un ensemble de techniques mises en œuvre par un ou plusieurs logiciels, dont le but est d'obtenir et de pérenniser un accès (généralement non autorisé) à un ordinateur.

Pour détecter la présence de rootkit, utiliser rkhunter :

sudo apt install rkhunter

Anti-virus

Jusque maintenant, il est inutile d'installer un anti-virus pour protéger une distribution Linux. La justification est plutôt réservée à un serveur Linux travaillant au profit de clients Windows.

Pour se faire une idée sur le sujet, consulter http://doc.ubuntu-fr.org/virus

Configuration SSH

Il est possible d'avoir une bonne protection avec une configuration simple du fichier /etc/ssh/sshd_config:

  • Changer le paramètre du PermitRootLogin en no:
PermitRootLogin no  # pour rendre impossible de se loguer en super-administrateur  en  SSH
  • Décommenter la ligne
#MaxStartups 10:30:60

Dans ce cas: le 10 représente le nombre de connexions acceptées sans qu'un utilisateur ait réussi à s'identifier, si cela passe au-dessus de 10, il y a 30 % de chances que les suivantes soient bloquées, et ce pourcentage augmente linéairement jusqu'à 100 % lorsque le full est atteint, à 60 connexions.

  • Ajouter à la fin du texte une ligne Allowusers pour spécifier le ou les utilisateurs privilégiés pouvant accèder en SSH:
Allowusers paul jacques  # seuls les utilisateurs paul et jacques sont autorisés à entrer en SSH
Attention. Bien mettre un espace entre les noms des utilisateurs autorisés.
  • Changer le port SSH par défaut (22), pour un autre.
# What ports, IPs and protocols we listen for
Port 22 

La connexion se fait alors avec l'option -p et le n° du port à utiliser

ssh -p xxxx ....
  • Relancer la connexion SSH par défaut
sudo /etc/initit.d/ssh restart

Proxy Serveur mandataire

Un proxy, ou en français serveur mandataire, est un serveur servant à faire suivre les requêtes informatiques entre un ordinateur client et un serveur. Il peut avoir de nombreuses utilités, par exemple filtrer les requêtes, garantir l'anonymat, crypter les échanges ou encore contourner les restrictions imposées sur un réseau donné.

Squid est un serveur mandataire, en anglais un proxy, entièrement libre et très performant. Squid est capable de gérer les protocoles FTP, HTTP, HTTPS et Gopher. La configuration se fait par le fichier /etc/squid/squid.conf.

  • Pour démarrer ou relancer squid
    sudo service squid start
  • Autoriser les utilisateurs à utiliser le serveur mandataire Rechercher la ligne commencant par “acl localhost src”, et rajouter, après cette ligne, la ligne suivante : “acl allowedips src X.Y.Z.T/N” (où X.Y.Z.T/N représente le sous-réseau des IPs autorisées à accéder au serveur mandataire, par exemple : 192.168.0.1/255.255.255.0 pour un réseau local allant des IPs 192.168.0.1 à 192.168.0.254)
  • Rechercher ensuite la ligne “http_access allow localhost” et rajouter, après cette ligne, la ligne suivante :
http_access allow allowedips

Sécurité par chroot

Snort

Snort® est un système opensource de détection et de prévention d'intrusion réseau. C'est l'outil le plus déployé aussi bien dans les entreprises que chez les particuliers. Il est géré par des règles. Il n'est pas justifié de l'installer pour un simple particulier.

Le logiciel est disponible dans les dépôts Ubuntu. Installer en même temps snort, oinkmaster. Pour la configuration, se reporter à la documentation http://doc.ubuntu-fr.org/snort.

Fichiers .apk

Eviter d'installer des fichiers .apk.

securite-linux.txt · Last modified: 2022/04/04 14:02 by guy