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

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

  • Réseau

Connexion Linux

Réseau Linux

Paramétrage routeur

Analyse Réseau - Gestion parc

Partages,Transferts

Disque-Réseau

Contrôle à distance

Serveur Linux

OpenVPN

Sécurité Linux

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 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

Joomla

  • Bureautique

Open Office

  • Graphisme

Picasa

  • Photo

Photo: Théorie

Photo: Pratique

Diaporama, site photos

Retouche: Gimp

  • 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.

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 est un gestionnaire de mots de passe. Pour l'installer, aller sur lastpass.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 ipables. Commandes principales:

  • -A –append : Ajoute la règle à la fin de la chaîne spécifiée. Exemple :
# 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 :
# iptables -D INPUT --dport 80 -j DROP
# iptables -D INPUT 1
  • -R –replace : Permet de remplacer la chaîne spécifiée. Exemple :
# 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 :
# 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 :
# iptables -L # Affiche toutes les règles des chaînes de FILTER
# 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 :
# iptables -F INPUT
  • -N –new-chain : Permet de créer une nouvelle chaîne. Exemple :
# iptables -N LOG_DROP
  • -X –delete-chain : Permet d'effacer une chaîne. Exemple :
# 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 :
# iptables -P INPUT DROP

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

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 

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  # il est impossible de se loguer en superadministrateur  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, pour un autre
sudo /etc/initit.d/ssh restart

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 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.

securite-linux.txt · Last modified: 2020/11/29 18:25 by guy