Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Un petit tuto sur la sécu


cariboo
 Partager

Messages recommandés

Sécurisé un minimum une machine linux :

 

Petite intro Nefilter,le module integrer au kernel depuis la version 2.4 :

 

 

Netfilter est present depuis le noyau 2.4 et est bien plus performant et simple à configuré que sont prédecésseur ( ipchains ).

 

Netfilter se compose de table,de chaine et de règle.

 

Il y a les tables (FILTER pour le firewall ,NAT pour construire un routeur,MANGLE pour modifier des paquets),chacune de ces tables possèdent des chaines et chaques chaines possèdent des règles.En l'occurence ce qui va nous interessé ici,c est la table filter :

 

Elle possède 3 chaines,mais vous pouvez en créé d'autre si c'est nécessaire :

 

INPUT ( tout ce qui entre donc qui vient de votre réseaux locale ( LAN ) ou bien ce qui vient d'internet ( WAN )

FORWARD ( c est tout ce qui est rédirigé,un firewall classique comme celui qui va être étudier ne se sert pas de cette chaine. )

OUTPUT ( tout ce qui sort donc qui provient de votre ordinateur,plus précisement de l'interface réseaux. )

 

Ces trois chaines,qui appartiennent comme je l'ai dit précédement, à la table filter possèdent des régles,Je ne les passerai pas toutes.

 

DROP : rejeter silencieusement,c'est la règle la plus utilisé car elle est discrète.

ACCEPT :accepter

REJECT : detruit le paquet mais envoie un paquet RST,ce qui peut permettre à un attaquant de savoir quel eventuel service est en ecoute.Cependant il est posible de s'en servir à son avantage en faisant dire n'importe quoi au firewall,ce qui fera perdre du temp à l attaquant car il sera mis sur une mauvaise piste.

 

-P : politique

-A : ajouter

-F : nettoyer

-p : protocole ( tcp et udp sont des protocoles )

-d : destination

 

Il y en a d'autre comme ceux là :

 

-N créé une nouvelle chaine

-X efface une chaine ou toute les chaines personelles si aucunes n'est explictement spécifiée

-D :enlever une règle à une chaine

-s : source

 

Il faut savoir que linux est sensible au majuscule et au minuscule -d minuscule ( destination ) et -D majuscule ( enlever une règle à une chaine ) n'ordonne pas la même chose.

 

Voici un exemple de script basique permettant d'assuré lé minimum en terme de sécu :

 

#!/bin/sh
iptables -t filter -P INPUT DROP 
#bloque toute connexion entrante non etablis par le client
iptables -t filter -P FORWARD DROP 
#bloque tout ce qui transite
iptables -t filter -P OUTPUT ACCEPT 
#accepte tout ce qui sort.Il est possible de faire mieux en bloquant tout le trafic sortant ( DROP ),puis en autorisant  seulement les sites voulues.IL #suffit pour cela d'utiliser la règle -d; Exemple :
#iptables -A OUTPUT -d 213.251.138.100 -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
#accepte les connexions etablies par le client donc vous.
iptables -A INPUT -s 127.0.0.1 -i lo -j ACCEPT
#accepte les connexion de la boucle locale,certains processus en ont besoin.
iptables -A INPUT -s 192.168.0.0/16 -i eth0 -j DROP
#rejete tout ce qui vient du réseauc local.
iptables -A OUTPUT -p tcp --dport 6000:6010 -j DROP
#ferme la plage de port 6000 à 6010 en tcp.cette plage de ports est utiliser par le serveur X
iptables -A OUTPUT -p udp --dport 6000:6010 -j DROP
#pareil mais pour le protocole UDP.

Les lignes du dessous servent à sécuriser la pile tcp/ip.Elles ne sont pas necéssaire si le fichier /etc/sysctl.conf à  été configuré.Il est tout à fait possible de faire la même chose avec iptables mais c'est pas utile si vous avez sécurisé le noyau.Les paquets passent d'abord par le noyau,ils seront donc arreté si ils sont invalides .Les règles iptables peuvent être configuré plus finement mais elles consoment plus de ressources.

#Ignore 'ICMP Redirects' message 
echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects 

#Ignore 'ICMP Echo Request' message 
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all 

#Ignore 'ICMP Bogus Response' message 
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses 

#Interdire 'Source Routing' 
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route 

#Surveiller 'martians' (adresse source falsifée ou non routable) 
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians 

#Se protéger de l'IP Spoofing bis 
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter 

#Se protéger des attaques 'SYN Flood' 
echo "1" > /proc/sys/net/ipv4/tcp_syncookies 

 

 

Une fois le scritp créé,il faut le placer dans /etc/init.d/

 

cp /home/utilisateur/le-script /etc/init.d

 

et lui donner les bon droits d'executions :

 

chmod +x nom-du-script

 

Ensuite faire un lien symbolique en direction du runlevel voulus (/etc/rc2.d/) .Chose importante : l'ordre d execution du script est déterminé par le S05.L'ordre d'execution aurait très bien pu être S20 ou bien S10 ou tout autre chiffre pour determiner l'ordre de lancement du script.L'ordre de lancement du script est determiné par une politique de sécurité.Le script doit être lancé avant l'interface réseaux.

 

ln -s /etc/init.d/nom-du-script /etc/rc2.d/S05nom-du-script

 

 

Ce script est idéalement fait pour être installé sur un ordinateur de bureau afin de l'isolé du reste du réseaux local.Cette ordi sensible peut servir à visiter uniquement certains sites ( paris sportif,monnaie virtuelle,compte bancaire etc...).Isolé un pc sensible est une bonne chose si jamais le réseaux local est corompus.

 

 

La sécurité ne s'arrete pas là,il y a encore d'autre chose à faire :

 

*******************************************************************

Désactiver les services inutiles,moins y en a mieux votre ordi se portera :

 

lsof -ni

 

puis si des services ecoutent inutilement faire :

 

kill -9 PID

 

Il est aussi possible de passer par une interface graphique pour tuer les processus.

 

Si jamais il y a encore des services en ecoute,direction google pour apprendre à les sécurisé.

*********************************************************************

Configurer /etc/host.deny :

 

il faut tout bloquer dans host.deny en decomentant la ligne ALL:PARANOID

 

*********************************************************************

 

Securisé le serveur x en l'empechant d'envoyer des trames :

 

startx -- -nolisten tcp

 

Pour vérifier si le serveur X est bien configuré il faut taper la commande xhost et normalement celle ci doit indiquer que seul les clients autorisés peuvent se connecter => "only client authorized can connect"

 

PS : pour connaitre les ports d'écoutes par default des différents services et eventuellement les changer,il faut se rendre dans /etc/services

 

********************************************************************

 

IL y a aussi la possibilité d installer un IDS comme snort ou portsentry.Ce dernier est meilleur car il réagit à une tentative d'intrusion en bloquant pendant un temp defini tout contact avec l'attaquant.Snort se contente d'envoyer une alerte.Il existe encore d'autre chose à mettre en place comme SELINUX,bastille linux pour mieux controler les droits d'accès.Sécurisé /etc/shadow avec MD5 ou SHA,ce qui rend le fichier shadow ( fichier contenant les mots de passes ) netement plus difficile à cracker est aussi une bonne chose.

*********************************************************************

 

Enfin,il faut savoir que toutes ces mesures ne seront pas efficaces si l'attaquant possèdent un accès physique à la machine.Il y a quand même moyen de le ralentir un peut :

 

Configurer grub ou lilo en commentant les lignes permettant d'obtenir les droit root sans mot de passe.Mettre un mot de passe.Si aucun mot de passe n'est entré au demarrage ce sont les règles par default qui seront lancées.Il est aussi possible d'utiliser le hash MD5 pour sécurisé encore plus le mot de passe.Le MD5 à la particularité de ne pas se décrypter,il est seulement possible de trouver une équivalence,ce qui prendrait beaucoup de temp à un eventuel attaquant disposant d'un accès physique à la machine.

 

 

Configurer le bios et y mettre un mot de passe.C'est pas la protection ultime car il est possible de réinitailiser le bois,ce qui fait sauter le mot de passe.Un cadenas sur l'unité centrale pourra le ralentir.

 

Avec tout cela le ou les ordinateurs devant être protéger auront reçu une bonne injections d'hormone de sécurité

Modifié par cariboo
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous publiez en tant qu’invité. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

 Partager

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...