securité et administration de reseaux.pdf

download securité et administration de reseaux.pdf

of 167

Transcript of securité et administration de reseaux.pdf

  • Scurit et administration rseaux

    Yves Caniou

    Module CCIR4 de l'UCBL Master 2

    2005-2006

    (version du 14 fvrier 2006)

  • Prsentation du module CCIR4

    Scurit dans les systmes informatiques

    Contenu et objectifs du module

    IScurit grce la conguration

    IInstallation de machines (desktop/serveur)

    IAdministration des machines

    IScurit grce l'utilisation d'outils (audit)

    IProtocoles scuriss

    IServices scuriss et leur gestion

    Motivations

    IOutil informatique omniprsent

    IBesoin de scurit dans les quipements

    Prrequis : Systme d'exploitation et notion de rseau

    valuation

    IUn examen sur table (date et modalits prciser)

    Yves Caniou Scurit et administration rseaux (05/06) Prsentation du module CCIR4 (2/160)

  • Organisation du module

    Choix des systmes d'exploitation

    IProduits Microsoft prsents par Anne-Lyse

    IWin 2000

    IWin NT

    IGnu/Linux dans ce cours

    Pourquoi ces systmes ?

    IImplantations direntes d'Unix

    ILes plus rpandus avec des licences d'utilisation direntes

    Alternatives vis--vis de la scurit : OpenBSD ! (version 3.8 le 1 nov 2005)

    Yves Caniou Scurit et administration rseaux (05/06) Prsentation du module CCIR4 (3/160)

  • Quelques rfrences pour faire ce cours 1/2

    Les docs de rfrence

    ILe guide de rfrence Debian, le Securing-debian-howto

    http://ploug.eu.org/doc/installation-debian.pdf

    http://www.debian.org/doc/manuals/securing-debian-howto/securing-debian-howto.fr.pdf

    ILes HOWTO's

    ILes manpages !

    Les magazines : Misc, Linux Mag', Hackin9, Login

    Sites d'information

    Ihttp://www.developpez.com/ : index de cours et tutoriels

    Ihttp://www.commentcamarche.net/

    Liens complmentaires intressants

    IBase d'administration pour le superutilisateur (en franais !)

    http://www.loli-grub.be/contrib/tlepoint/BASE/version-internet.html

    Ihttp://people.via.ecp.fr/~alexis/formation-linux/formation-linux.html

    Ihttp://www.linux-france.org/prj/inetdoc/cours/

    Ihttp://www.fr.linuxfromscratch.org/view/blfs-1.0-fr/

    Yves Caniou Scurit et administration rseaux (05/06) Prsentation du module CCIR4 (4/160)

  • Quelques rfrences pour faire ce cours 2/2

    Support de cours d'autres personnes

    Iyst. d'exploitation de Martin Quinson : http://www.loria.fr/~quinson

    IClient/Serveur d'Olivier Glck :

    http://www710.univ-lyon1.fr/~ogluck/supports_enseig.html

    URL du cours

    Ihttp://graal.ens-lyon.fr/~ycaniou/teaching/0506.html

    Yves Caniou Scurit et administration rseaux (05/06) Prsentation du module CCIR4 (5/160)

  • Plan du module, partie Unix :

    0

    Avant-Propos

    Systme d'exploitation et un peu de droit

    1

    Installation d'une machine

    Arborescence Unix ; Avant l'install et pendant l'install

    2

    Administration d'une machine

    Ouverture d'une session locale ; Shell et scripts shell ; Gestion des packages ;

    Conguration de la machine ; Conguration du rseau ; Description des services au

    dmarrage.

    3

    Admininstration d'un parc de machines GNU/Linux

    Fichiers distribus (NFS) ; Les pages jaunes (NIS) ; Serveur de noms (DNS) ;

    Annuaire distribu (LDAP) ; Les proxies ; Rseaux privs (VPN) ; Systme de

    contrle de version (CVS) ;

    Yves Caniou Scurit et administration rseaux (05/06) Prsentation du module CCIR4 (6/160)

  • Premire partie

    Avant-Propos

    Qu'est ce qu'un systme d'exploitation ?

    Le systme GNU/Linux

    La distribution Debian et sa licence

    Rappels des objectifs

    Un peu de droit et quelques dnitions

  • Qu'est ce qu'un systme d'exploitation ?

    Logiciel entre les applications et le matriel

    IOre une interface unie aux applications

    IGre (et protge) les ressources

    Disques durs

    Cartes graphiques

    Son

    Systme d'exploitation

    Matriel

    Firefox KDEEmacs

    Yves Caniou Scurit et administration rseaux (05/06) Partie I : Avant-Propos (8/160)

  • Le systme GNU/Linux

    Le noyau : linux

    I1991 : Linus Torvald crit un OS Unix-like.

    ILinux est accessible en libre tlchargement sur le net, GPL !

    INombreux dveloppeurs, modications supervises par Linus

    IDe nombreuses architectures, de nombreux drivers

    Les logiciels GNU

    IProjet datant de 1984, Free software Foundation

    IUn ensemble complet de softs, complmentaires (emacs, gcc, bash, gnome)

    Les distributions

    IFaciliter l'installation, la maintenance des logiciels

    IPackages : excutables, scripts, documentations, bibliothques...

    IPlusieurs distributions : Mandrake, Red-Hat, Suse, Slackware

    Yves Caniou Scurit et administration rseaux (05/06) Partie I : Avant-Propos (9/160)

  • La distribution Debian et sa licence

    INe en 1993 : Ian Murdock

    IExigence : la libert promouvoir les logiciels libres

    IDe trs nombreux packages, de trs nombreuses

    documentations !

    IDe nombreuses architectures supportes

    IGestion performante des packages (dpendance, scurit)

    IMises jour faciles

    IStable, testing, unstable

    Licence GPL (Gnu Public License)

    ICopiez et donnez des copies du systme !

    IAdaptez les logiciels vos besoins (vous pouvez mme distribuer le rsultat)

    IAttention : logiciels fournis sans aucune garantie

    IObligation de fournir le code source

    IRq : existence d'une branche non-free

    Yves Caniou Scurit et administration rseaux (05/06) Partie I : Avant-Propos (10/160)

  • Nos objectifs dans ce module

    IInstaller le systme GNU/Linux de la distribution Debian stable (Sarge)

    Les packages vont de unstable vers testing aprs une semaine complte o

    pas un bug critique de signal. Pour les stations de travail, on utilisera plutt

    testing, pour les serveurs, plutt stable. Attention dans ce cas, car testing reoit

    plus lentement correctifs scurit.

    IAdministrer et scuriser l'installation

    IAdministration de plusieurs machines en rseau

    INFS, base centralise d'utilisateurs...

    IScuriser le systme

    IConnexions scurises et PKI

    IFirewall et proxy, ltrage de mails

    IUtilisation de partitions chires

    Yves Caniou Scurit et administration rseaux (05/06) Partie I : Avant-Propos (11/160)

  • Premire partie

    Avant-Propos

    Qu'est ce qu'un systme d'exploitation ?

    Le systme GNU/Linux

    La distribution Debian et sa licence

    Rappels des objectifs

    Un peu de droit et quelques dnitions

  • Tromper les individus et Droit

    IEscroquerie : dnie aux art. 313-1 313-3 du Code Pnal :

    Le fait, soit par l'usage d'un faux nom, soit par l'abus d'une qualit vraie, soit par

    l'emploi de manouvres frauduleuses, de tromper une personne physique et de la

    convaincre remettre des fonds, des valeurs ou un bien quelconque ou fournir un

    service ou consentir un acte oprant obligation ou dcharge

    Jusqu' 5 ans d'emprisonnement et 375 000 d'amende

    IPhishing et scam

    IUsurpation d'identit : patch scurit Microsoft, mail

    ILa Cnil

    1

    qualie l'adresse lectronique de donne caractre personnel

    ISanction pratique pour usage illicite de fausse identit de 3 ans

    d'emprisonnement si bande organise. En pratique, 4 mois avec sursis.

    IExemple : 21 mois d'emprisonnement avec sursis + 39h travaux d'intrt

    gnral en hpital ou en maison de retraite pour le concepteur de Sasser.

    IFausses informations et hoaxes

    2

    IMentir la Cnil (loi 92-1336)

    IDnonciation mensongre quant au retrait de contenus illicites

    (loi LCEN, art. 6-1-4, 1 an d'emprisonnement et 15 000 d'amende)

    ISocial Engineering

    1

    Commission nationale de l'informatique et des liberts : http://www.cnil.fr

    2

    http://www.hoaxbuster.com/

    Yves Caniou Scurit et administration rseaux (05/06) Partie I : Avant-Propos (13/160)

  • Tromper les systmes et Droit

    ISTAD : relve du Code Pnal, Chap III, Des atteintes aux systmes de

    traitement automatis de donnes , art. 323-I 323-7

    Iart. 323-1 condamne le fait d'accder et se maintenir frauduleusement dans

    une systme. Jusqu' 3 ans de prison et 45 000 d'amende

    Iart. 323-2 sanctionne le fait d'entraver ou fausser le fonctionnement d'un Stad

    de 5 ans de prison et 75 000 d'amende

    Iart. 323-3 condamne l'introduction, la suppression ou la modication

    frauduleuse de donnes. Jusqu' 5 ans de prison et 75 000 d'amende

    Iart. 323-3-1 sanctionne la dtention et la mise disposition de moyens

    permettant les dlits cits dans les articles 323-1 323-3 de la mme manire

    que les dlits

    Iart. 323-4 323-7 sanctionnent la prparation des dlits, l'intention, et

    prvoient des peines supp. comme interdiction droits civiques et fermeture des

    tablissements utiliss pour commettre les dlits.

    ISpam

    ISpam : LCEN art. 22 subordonne l'utilisation de courriels dans les oprations de

    prospection commerciale au consentement pralable des personnes concernes

    ISpam-indexing pour tromper les moteurs de recherche

    IDensit et choix des mots clefs

    ICloaking, cration de pages spciques chaque robot

    IGooglebombing, liens entre sites pour goner articiellement leur notorit

    Yves Caniou Scurit et administration rseaux (05/06) Partie I : Avant-Propos (14/160)

  • Deuxime partie

    Installation d'une machine

    Rappel sur l'arborescence d'Unix

    Avant l'installation

    Le BIOS de la machine

    Partitionnement du disque dur

    Les tapes de l'installation

  • Organisation de l'arborescence d'Unix

    Sous Linux, TOUT EST FICHIER UNIQUE ARBORESCENCEIsa racine est nomme / et l'administrateur est root

    IFichiers : normaux ; rpertoires ; spciaux ; liens symboliques

    bin boot dev etc home lib mnt media proc sbin tmp

    bin src X11R6

    usr

    cache log spool www

    var

    /

    I/bin : excutables

    I/boot : noyau vmlinuz et chiers de dmarrage

    I/dev : rp. de chiers spciaux (communication avec les priphriques)

    I/etc : rp. de chiers de conguration et principaux scripts de paramtrage

    I/home : racine des rpertoires perso (...attention...)

    I/lib : bibliothques et les modules du noyau

    I/mnt, /media : racine des points de montage ( et /cdrom..)

    I/sbin : excutables pour l'administration du systme

    I/tmp : stockage des chiers temporaires

    I/usr : prog. accessibles tout utilisateur (pas que...)

    I/var : par exple chiers d'impression, traces de connexions http

    I/proc : pseudo-rpertoire

    Yves Caniou Scurit et administration rseaux (05/06) Partie II : Installation d'une machine (16/160)

  • Le boot de la machine

    Au boot, le BIOS (Basic Input/Output System) excute une squence d'instructions

    IConguration CMOS : Alt-F2 ; Alt-F9 ; F1 ; Del ; Esc ; Ctrl-Alt-Esc ...

    IRglage heure/date

    IScurit sur le BIOS : rglage ordre de boot ; mot de passe

    IInitialise horloge interne et contrleur DMA

    ITeste CPU, vrie le BIOS

    ITeste si ROM corrompue, teste RAM

    IVrications des devices

    ISouris, clavier

    Ilecteurs cdrom, dvd

    Idisques durs

    Irseau

    IUSB

    IEssaye de booter sur l'un des priphriques selon ordre donn

    Changement du BIOS : un excutable Attention aux pannes de courant..

    Yves Caniou Scurit et administration rseaux (05/06) Partie II : Installation d'une machine (17/160)

  • Le disque dur ou hard drive

    Au tout dbut tait le disque dur vierge...

    Avant CHS, maintenant LBA

    Un disque dur...

    Ise partitionne multi-boot possible !

    Ise formate

    propos du partitionnement

    I4 partitions primaires maximum

    IMoins de primaires et une partition tendue : contient partitions logiques

    Formatage d'une partition cre le systme de chiers : ext2, ext3, ReiserFs...

    (liste dans /proc/filesystems)

    Yves Caniou Scurit et administration rseaux (05/06) Partie II : Installation d'une machine (18/160)

  • Les tapes de l'installation

    IRq : supports utiliss

    3

    (cdrom

    , USB...) en TP, cdrom puis rseau

    INiveau d'install : expert ou non, kernel 2.4 ou 2.6

    IUn partitionnement en gnral

    I1 partition /

    I1 partition swap (taille double de RAM)

    I1 partition /home ou /users (dpend si NFS)

    Ichoix langue, rglage heure etc.

    ISlection des sources

    IAttention sur

    Imots de passe en shadow (OUI)

    I/home/ en lecture

    IGestion protocole SSH2 (on y reviendra)

    ILa machine reboote avant l'installation de l'ensemble des packages !

    Une install-party est prvue en TP, avec dmontage de machine !

    3

    http://ploug.eu.org/doc/installation-debian.pdf

    Yves Caniou Scurit et administration rseaux (05/06) Partie II : Installation d'une machine (19/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Aprs le dmarrage

    Mode graphique, ici avec kdm

    Mode console, ici avec welcome2l

    IRq prliminaire : certaines choses de ce qui suit peuvent se faire graphiquement

    Mais pas toujours de X remote access ou console sur serveurIPossibilit d'avoir plusieurs sessions X, plusieurs consoles (tty) : /etc/inittab

    Ctrl-alt-F7, Ctrl-alt-F8... / alt-F1, alt-F2...IDe l'intrt d'tre un utilisateur et pas root...

    bugs, erreurs manip, etc.

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (21/160)

  • Se logguer

    Mode console :

    IUn shell est lanc aprs authentication positive avec /bin/login en lisant le

    chier /etc/passwd

    I chaque shell de connexion, chier /.bash_profile ou /etc/profile lu

    I /.bashrc ou /etc/bashrc lu si shell sans fonction de connexionIApparition d'un prompt...

    Rq : noms dpendant du shell de l'utilisateur ! Ici, bash

    Rq : /.bash_logout lu quand utilisateur se dconnecte du systme

    Mode graphique :

    IX excut (mcanismes dcrits plus loin)

    IPas de shell de connexion !

    IAuthentication russie ouverture session graphique

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (22/160)

  • Exemple de chiers .bashrc et .bash_prole

    /.bash_prole# settings for french speaking users

    # set LANG

    export LANG=fr_FR@euro

    if [ -f /.bashrc ] ; thensource /.bashrc

    fi

    setxkbmap -layout fr

    /.bashrcif [ -f /etc/bash_completion ] ; then

    . /etc/bash_completion

    fi

    PATH=.:..:/usr/local/bin:$PATH:/sbin:/usr/sbin

    alias ls='ls --color=auto'

    alias ll='ls -l'

    alias l='ls -l'

    # Redfinit le prompt...

    PS1="\[\033[01 ;33m\]\h\[\033[00 ;39m\]:\[\033[/01 ;36m\]\w\[\033[00 ;39m\]>"

    alias mplayer="mplayer -vo xv -ao sdl -fs

    alias rmc="rm *"alias gv="gv scale=-2 "

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (23/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Interfaces d'un systme d'exploitation

    En gnral, deux interfaces

    IInterface de programmation (Application Programming Interface)

    IUtilisable partir des programmes s'excutant sous le systme

    ICompose d'un ensemble d'appels systmes (procdures spciales)

    IInterface de l'utilisateur, ou interface de commande

    IUtilisable par un usager humain, sous forme textuelle ou graphique

    ICompose d'un ensemble de commandes

    ITextuelles (exemple en UNIX : rm *.o)

    IGraphiques (exemple : dplacer l'icone d'un chier vers la corbeille)

    Exemple sous UNIX :

    Premire interface

    de commande

    Deuxime interface

    de commande

    programmation

    Interface de

    Noyau UNIX

    Shell 2 Shell 1

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (25/160)

  • Exemple d'usage des interfaces d'UNIX

    IInterface de programmation

    Ci-contre : programme copiant un

    chier dans un autre

    (read et write : appels systme)

    IInterface de commande

    $ cp fich1 fich2

    recopie ch1 dans ch2

    IDocumentation

    while (nb_lus = read(fich1, buf, BUFFSIZE )) {

    if ((nb_lus == -1) && (errno != EINTR)) {

    break ; /* erreur */

    } else if (nb_lus > 0) {

    ou_ecrire = buf ;

    while (nb_ecrits =

    write(fich2,ou_ecrire,nb_lus)) {

    if ((nb_ecrits == -1) && (errno != EINTR))

    break ; /* erreur */

    else if (nb_ecrits == nb_lus)

    break ; /* fini */

    else if (nb_ecrits > 0) {

    ou_ecrire += nb_ecrits ;

    nb_lus -= nb_ecrits ;

    } }

    if (byteswritten == -1)

    break ;

    } }

    man 1 : documentation des commandes (par dfaut)

    man 2 : documentation des appels systme

    man 3 : documentation des fonctions

    d'autres sections, mais plus rares. Voir man 7 man ;)

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (25/160)

  • Shells et scripts shell

    IPlusieurs shells disponibles

    bash, csh, tcsh, ksh, zsh, ...mais installs sur machine ? /etc/shellsI /.bashrc : mettre en place environnementIExemple de variables d'environnement : PATH, LD_PATH (taper $> env...)

    IQuelques commandes systme : ls, cd, mkdir, mv, rm, echo

    IQuelques autres commandes : grep, man, passwd, ps, w, groups

    Exemples :

    I$> echo $PWD

    I$> cat /.bashrcPour changer de shell : chsh

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (26/160)

  • Scripts shell - 1/8

    On se sert de commandes shell squentielles dans un chier : script

    Intrts :

    ISi tche non ressource-intensive pour facteur vitesse

    ISi pas de calculs complexes d'arithmtique...

    ISi pas d'oprations extensives sur les chiers

    ISi pas besoin de structures complexes de donnes

    ISinon prfrer C, C++/java ou perl, python, ruby...

    Convention : script.sh (Ne pas oublier chmod +x script.sh)

    Exemples :

    # !/bin/bash

    echo Affiche $1

    # Commentaire

    a=5 echo a=$a

    # !/bin/bash

    E_NOTROOT=67 # Non-root exit error.

    ROOT_UID=0 # Only users with $UID 0 have root privileges

    # Check if root

    if [ "$UID" -ne "$ROOT_UID" ]

    then

    echo "Must be root to run this script."

    exit $E_NOTROOT

    fi

    LOG_DIR=/var/log

    # Variables are better than hard-coded values.

    cd $LOG_DIR

    cat /dev/null > messages

    cat /dev/null > wtmp

    echo "Logs cleaned up."

    exit # The right and proper method of "exiting" from a script.

    Syntaxe

    4

    4

    Voir le Advanced Bash-Scripting Guide l'URL http://www.tldp.org/LDP/abs/html/

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (27/160)

  • Scripts shell - 2/8

    Caractres spciaux : #, ;, , ', `, ., *, \, $, ?

    # !/bin/bash

    ######

    # Caractere spciaux

    echo "The # here does not begin a comment."

    echo 'The # here does not begin a comment.'

    echo The # here begins a comment.

    echo `seq 1 9`

    echo ${PATH#*:} # Parameter substitution, not a comment

    # ${var#Pattern}, ${var##Pattern}

    # Retire de $var le + court/long morceau de $Pattern qui matche le dbut de $var

    # Exemple

    echo ${PATH#*:}

    echo $PATH

    echo ${PATH#*/}

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (28/160)

  • Scripts shell - 3/8

    Aectation

    Exemple 1

    # !/bin/bash

    ###### # Affectation

    echo -n "Values of "a" in the loop are : "

    for a in 7 8 9 11

    do

    echo -n "$a "

    done

    echo

    for a in 1 2 3 4 5

    do

    echo -e "Press keys : "

    read b

    c=$b$c

    done

    echo "Reversed pressed keys : $c"

    arch=$(uname -m)

    echo -e "Ran on a $arch \n\n"

    Exemple 2

    # !/bin/bash

    for i in `ls`

    do

    cp $i /dir/$i

    echo "$i copie "

    done

    # Ne pas oublier pas les ` qui forcent

    # l'excution du ls

    for dir in /dev /usr /users/bin /lib ; do

    num=`ls $dir|wc -w`

    echo "$num fichiers dans $dir "

    done

    for i ; do

    echo $i

    done

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (29/160)

  • Scripts shell - 4/8

    Variables non types : strings ou entiers

    # !/bin/bash

    ######

    # Variables non types

    a=2334 # Integer.

    let "a += 1"

    echo "a = $a " # a = 2335

    echo # Integer, still.

    b=${a/23/BB} # Remplace 23 par "BB"

    # This transforms $b into a string.

    echo "b = $b" # b = BB35

    declare -i b # Declaring it an integer doesn't help.

    echo "b = $b" # b = BB35

    let "b += 1" # BB35 + 1 =

    echo "b = $b" # b = 1

    echo

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (30/160)

  • Scripts shell - 5/8

    Variables spciales : $0, $1, etc. ; $*, $@

    # !/bin/bash

    echo "Il y a $# paramtres"

    index=1

    for arg in "$*" ; do

    # Doesn't work properly if "$*" isn't quoted

    echo "Arg #$index = $arg"

    let "index+=1"

    done # $* sees all arguments as single word

    echo "Entire arg list seen as single word."

    echo

    index=1 # Reset count.

    # What happens if you forget to do this ?

    echo "Listing args with \"\$@\" :"for arg in "$@"

    do

    echo "Arg #$index = $arg"

    let "index+=1"

    done # $@ sees arguments as separate words.

    echo "Arg list seen as separate words."

    index=1 # Reset count.

    echo "Listing args with $* (unquoted) :"

    for arg in $*

    do

    echo "Arg #$index = $arg"

    let "index+=1"

    done # Unquoted $* sees arguments as

    # separate words.

    echo "Arg list seen as separate words."

    exit 0

    # Comment accder au 12

    e

    argument ?

    ######

    # utilisation de shift,

    # voir les variables internes

    # echo $PWD

    # echo ${GROUPS[1]}

    # echo $HOME

    # echo $HOSTNAME

    # echo $PATH

    # echo $PS1 regarder le /.bashrc

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (31/160)

  • Scripts shell - 6/8

    IQuoting : quoting et escaping (\n, \t)

    IExit status

    ITests

    IOprateurs de test sur chier : -e, -f, -s, -d

    if [ -x "$filename" ] ; then cmd fi

    ID'autres oprateurs de comparaison :

    Isur les entiers : -eq, -ne, -gt, -ge

    Isur les strings : =, == et != (literal/pattern matching), ...

    ILes oprateurs de calcul

    ILes boucles : for i in [list] ; do cmd done

    IContrler les boucles :

    Iwhile [ test ] ; do cmd done

    Ibreak ; continue

    IFonctions

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (32/160)

  • Scripts shell - 7/8

    Exemple 2 : lister en arbre de faon rcursive ( ls -R)# !/bin/bash

    if [[ $# -ge 2 || $# -eq 0 ]] ; then

    echo "Input the file/directory to list"

    exit

    fi

    list_file () # list the file given in param

    {

    echo -e $3"list $1"

    }

    list_directory () # list dir given in param

    {

    echo "Listing directory $2$1"

    cd $2$1

    for i in `ls -a` ; do

    # echo ${i}

    if [[ "$i" != "." && "$i" != ".." ]]

    then

    if [ -d $i ] ; then

    list_directory $i $2$1/ "__"$3

    cd $2$1

    else

    list_file $i $2$1 "__"$3

    fi

    fi

    done

    }

    path2here=""

    if [ -f $1 ] ; then

    list_file $1 $path2here ""

    elif [ -d $1 ] ; then

    list_directory $1/ $path2here ""

    else

    echo "Input is neither a file or a dir"

    fi

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (33/160)

  • Scripts shell - 8/8

    Rqs :

    I propos de lancer un script et de source

    IJe n'ai pas trop insist sur certains caractres spciaux

    ls [ ml]*.tex, ls *ab ?pngIJe n'ai pas parl explicitement d'expressions rgulires

    http://www.easyprogs.com/index.php?callPage=./Programmation/Shell-Batchs/index.phpIJe n'ai pas parl de grep, ni de sed ou encore de awk

    IVous devez au moins comprendre les shell scripts !

    Doc de Bash en franais plutt pas mal :

    http://pages.videotron.com/bash/doc/docbashfr.html

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (34/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • La commande dpkg

    Rqs :

    Idpkg permet d'installer/dsinstaller packages

    INe gre pas les dpendances ! viter en temps normal

    Les options :

    Idpkg -i package1.deb package2.deb installation de packages

    Idpkg -r [--purge] package1 dsinstallation [+ eacement chiers cong]

    Idpkg-recongure package lance le script de recong de package

    Idpkg -S chier recherche du package contenant chier

    Idpkg -L package liste les chiers installs par package

    Idpkg --get-selections/--set-selections donne/restaure status de l'ens des packages

    Exemples :

    Idpkg -S /bin/bash

    Idpkg --get-selection > packages_installes.txt

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (36/160)

  • La commande apt-get

    kzako ?

    IUtilise le chier /etc/apt/sources.list

    ICouche intelligente de gestion des packages

    Utilisation

    Iapt-get update met jour la liste des packages

    Iapt-get [-s] install package [simule] installation de package

    Iapt-get upgrade met jour l'ens de l'installation

    Iapt-get dist-upgrade volution de stable vers testing vers unstable

    Iapt-get remove [--purge] package dsinstallation [+ chiers cong] de package

    Iapt-get clean vide cache

    Iapt-cache search keyword chercher mot cl

    Iapt-cache show package donne info sur packageRemarque : packages stocks dans /var/cache/apt/archives

    Exemples :

    Iapt-cache search mplayer

    Iapt-cache search tux

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (37/160)

  • D'autres outils

    Texte

    Itasksel : pour slectionner des groupes de packages debian

    Idselect : systme de menus texte

    Iaptitude : cens remplacer dselect

    Graphiques

    Ikpackage : interface graphique aux gestionnaires de paquetages RPM, Debian,

    Slackware et BSD intgre KDE

    Ignome-apt, gdeb : outils Gnome

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (38/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Ajout d'utilisateurs/groupes

    Groupes

    INotion de groupes trs importante : droits (audio, cdrom mais aussi lp, src)

    IAjout group : addgroup [--gid ID]

    IEacer : delgroup

    IListe dans /etc/group

    Utilisateur

    Iadduser ou useradd

    adduser [--home REP] [--shell SHELL] [--no-create-home] [--uid ID] [--group | --ingroup GROUPE | --gid ID] utilisateur

    IAprs coup : adduser user group

    IEacer : deluser

    I/etc/adduser.conf contient infos relatives cration compte

    Rqs :

    IRpertoire /etc/skel contient chiers qui seront copis par dfaut dans tout

    nouveau comptes utilisateur

    ILe nom de ce rpertoire est dnit dans /etc/adduser.conf

    Ipasswd pour changer les mots de passe !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (40/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Connatre le hardware de sa machine

    ILes books livrs avec matriel

    IPour mieux congurer, s'informer : utilisation des commandes

    Ilspci [-vv] (contenue dans le package pciutils)

    Idmesg

    IRegarder les chiers de log dans /var/log

    I/var/log/dmesg

    I/var/log/syslog

    Attention aux droits !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (42/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • L'achage graphique : X window Consortium

    Ksako ?

    IAppel aussi 'X' ou 'X11'

    IL'un des plus grand succs OpenSource

    IUn standard pour les OS Unix

    IProcure l'achage graphique pour de multiples architectures

    Mais encore...

    IIndpendant de l'OS et du hardware

    IConnexion transparente via le rseau

    ISupport par la plupart des fournisseurs de hardware

    IPlus de 30.106 utilisateurs

    Fonctionne sur le modle client/serveur (et sera vu en CCIR5 :)

    Dans Debian, XFree86 et maintenant x.org...

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (44/160)

  • L'achage graphique avec X.org

    Installation/Conguration

    IPackages : x-window-system, x-window-system-core, xbase-clients,

    xserver-xorg, x11-common...

    IProgs/Cong/Logs

    I/usr/X11R6/

    I/etc/X11/xorg.conf

    (note sur clavier, drivers (vesa, proprio), souris/touchpad et rsolutions)

    (dpkg-reconfigure xserver-xorg ou dition la main)

    I/var/log/Xorg.$i.log

    Exemple

    Ide /etc/X11/xorg.conf

    Ide /var/log/Xorg.0.log

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (45/160)

  • Lancer X (mais pas trop loin)

    Mode graphique : alors X est dj lanc (via xdm, gdm ou kdm)

    IIl y a eu excution de /etc/X11/Xsession (script sh)

    I /.xsessionI Reste plus qu' choisir le desktop/window manager vouluMode console :

    I/usr/X11R6/bin/startx : front-end pour /usr/bin/X11/xinit

    I /.xinitrcRq : sur l'acclaration 3D

    Iavec glxinfo

    IDRM dans le noyau, DRI pour les packages

    Iavec les logs !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (46/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Compiler le noyau

    Pourquoi ? puisqu'il y en a un fourni dans la distribution...

    INoyau plus petit, plus rapide

    INcessit de drivers, ventuellement patches

    ICorrections de failles

    Noyau et numrotation

    Ibranches stables 2.2, 2.4 et 2.6...

    Imais numrotation 2.6 spciale

    Ilequel choisir ?

    Trouver les informations utiles

    I/proc/cpuinfo

    Ilspci [-vv]

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (48/160)

  • Compiler son noyau linux sur mesure - 1/2

    Mthode dirente de ce que prconise debian (chacun ses gots et c'est si

    simple)

    Rcuprer le noyau

    I partir de http://www.kernel.org et vrier sa signature

    packages wget, coreutils, bzip2

    ILes patches : ceux de kernel.org != ceux de la distrib

    IRq : les sources se mettent gnralement dans /usr/src

    Conguration

    IRle du chier .config et sa rutilisation

    I l'aide des infos prcdentes, on est capable de slectionner les trucs qui

    vont bien :)

    make xconfig ou make menuconfig

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (49/160)

  • Compiler son noyau linux sur mesure - 2/2

    Compilation

    Imake bzImage

    Imake modules

    Imake modules_install

    Installation

    Imv arch/i386/boot/bzImage /boot/K-NUM

    Iditer /etc/lilo.conf ou /boot/grub/menu.lst et changer ce qu'il faut

    - Exemple d'un /etc/lilo.conf

    IDans le cas de lilo, excutez /sbin/lilo

    ICONSERVEZ PLUSIEURS ENTRES !

    Exemple : comment les machines de TPs du Nautibus sont gres ?

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (50/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Retour sur les priphriques

    Rappel : un priphrique est adress par l'intermdiaire d'un chier

    IPriphrique pseudo-chier dans /dev/

    ISon systme de chier doit tre ajout l'arborescence !

    On parle de montage et point de montage

    Monter un priphrique : disque dur, cdrom, usb...

    Numrotation des priphriques :

    IPriphriques IDE (disques durs, lecteurs multimdia) : hda, hdb, hdc, hdd

    IPriphriques scsi : sda, sdb... ; scd..

    IRq : les n

    partitions hda1, hda2 ou sdb1, etc.Fichiers

    I/etc/fstab : informations statiques sur le montage des systmes de chier

    ce qui peut tre mont, les options et les droitsISavoir ce qui est mont : /bin/mount

    ache le contenu de /etc/mtab

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (52/160)

  • Retour sur le disque dur

    Ncessite dans le noyau : IDE et/ou SCSI

    Commandes

    Isur partitionnement : cfdisk, fidsk

    Ipour savoir les espaces disques : df et du

    option -h utile

    Congurer le disque dur : hdparm

    ICommande dangereuse !

    ISeules les options -tT permises en TP !

    IPermet notamment de congurer taille zone lost+found

    VLM : Volume Logical Manager

    IGestion de l'espace disque

    ILa taille d'une arborescence qui n'est plus dpendante des partitions !

    IPlus d'infos : http://lea-linux.org/leapro/pro_sys/lvm.html

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (53/160)

  • Les priphriques USB - 1/2

    Ncessite dans le noyau : USB Mass Storage

    Comment monter une cl USB ?

    Idmesg donne message l'introduction d'un priphrique USB

    IFaire un mount grce cette info

    Rq : si un port USB dj pris, alors device peut changer d'une fois sur l'autre...

    embtant pour points de montage statiques df dans /etc/fstab (.. icnes desktop)FIXME : Donner un EXEMPLE concret de comment on fait !

    Solution :

    IUtilisation du package udev

    IFichiers de congurations dans /etc/udev/

    I/etc/usev/rules.d contient les rgles parser

    ajout d'un chier de rgles

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (54/160)

  • Les priphriques USB - 2/2

    Solution :(suite)

    IDans /var/log/dmesg ou /var/log/syslog

    date time host kernel : usb 1-1 : new high speed USB device using ehci_hcd and address 2

    date time host kernel : scsi0 : SCSI emulation for USB Mass Storage devices

    date time host kernel : usb-storage : device found at 2

    date time host kernel : usb-storage : waiting for device to settle before scanning

    date time host kernel : Vendor : PHILIPS Model : CDRW/DVD SCB5265 Rev : TD15

    date time host kernel : Type : CD-ROM ANSI SCSI revision : 00

    date time host kernel : Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 5

    date time host kernel : usb-storage : device scan complete

    IUtilisation informations Vendor et Model pour forcer le device

    IFichier de rgles contient

    BUS="scsi", SYSFSmodel="CDRW/DVD SCB5265", NAMEall_partitions="mycdrom"

    IRexcution de udev cration de /dev/mycdrom1

    IOn peut changer /etc/fstab !

    Autre Exemple, bien plus complet

    http://www.debian-administration.org/articles/126

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (54/160)

  • (D)Montage automatique : automount - 1/2

    Ncessite options dans le noyau

    But : monter automatiquement

    Iles disques amovibles

    Iles systmes de chiers partags travers le rseau

    Utilisation d'autofs

    IUne partie Noyau, une partie package

    IUn dmon /etc/rc.d/init.dFichiers de conguration

    I/etc/auto.master

    misc /etc/auto.misc --timeout=60

    I/etc/auto.misc

    kernel -ro,soft,intr ftp.kernel.org :/pub/linux

    cdrom -fstype=iso9660,ro :/dev/cdrom

    floppy -fstype=vfat :/dev/fd0

    I/etc/auto.net : shellscript

    I/etc/auto.smb : shellscript

    I/etc/default/autofs

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (55/160)

  • (D)Montage automatique : automount - 2/2

    Problmes

    IMonte les rpertoires la demande !

    Ils dans un rp. gr par automount ne donne pas forcment d'info

    cd nomDuRp... ce qui suppose qu'on connaisse le nom :)IImpossibilit d'utiliser des patterns pour accder aux chiers

    ls /home/e* ne fonctionne pasIpwd donne un chemin alatoire

    utilisez la commande Pwd

    IAu bout d'un moment d'inutilisation, un rpertoire mont est dmont

    Ipwd peut vous rpondre : .. can't read

    Iemacs peut vous dire : can't write

    IUne solution : cd .

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (56/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Les imprimantes - 1/2

    Plusieurs utilitaires dont CUPS (Common Unix Printer System) et lpr

    lpr

    IUtilise le dmon /usr/sbin/lpd lanc par le script /etc/init.d/lpd

    IDefault printer lp, mais variable d'environnement PRINTER

    IDsignation de l'imprimante utiliser : option -Pprinter

    IFichier de conguration : /etc/printcap

    ILes spools : /var/spool/lpd/printerName$i

    Utilisation en ligne de commande : lpr -P maPrinter bla.ps

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (58/160)

  • les imprimantes - 2/2

    Fichier de conguration :/etc/printcap

    De la manpage...

    Name Type Default Description

    af str NULL name of accounting file

    lf str /dev/console error logging file name

    lp str /dev/lp local printer device, or port@host for remote

    mx num 1000 max file size (in BUFSIZ blocks) ; 0=unlimited

    pc num 200 price per foot or page in hundredths of cents

    pl num 66 page length (in lines)

    pw num 132 page width (in characters)

    rm str NULL machine name for remote printer

    rp str lp remote printer name argument

    rs bool false remote users must have a local account

    sd str /var/spool/lpd spool directory

    sh bool false suppress printing of burst page header

    Un exemple de /etc/printcap

    lp|printerName:\:lp=:rm=serveurName.fr:rp=printerName:\:sd=/var/spool/lpd/printerName:lf=/var/log/lp-errs:sh:\:mx#0:

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (59/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • L'agent de transport du Mail : MTA

    Conguration d'exim4

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (61/160)

  • Un client Mail : MUA (Mail User Agent)

    Il existe de nombreux clients mails !

    Textes

    IMutt

    IPine

    Graphiques

    IMozilla Thunderbird

    IKmail

    Propose

    IGestion des protocoles POP, IMAP et leur version scurise

    IPossibilit d'envoi du mail direct ou par MTA

    IDes ltres

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (62/160)

  • Filtrer les Spams - 1/2

    propos des ltres Bayesiens

    FIXME : un peu de thorie sur les ltres bayesiens

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (63/160)

  • Filtrer les Spams - 2/2

    Des packages

    ISpamassassin (trademark de l'Apache Software Foundation)

    Ispamd et spamc

    ISupporte l'apprentissage bayesien

    I/etc/default/spamassassin, /etc/spamassassin

    IBogolter

    I

    Remarque : l'usage de ces deux packages est complmentaire

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (64/160)

  • Antivirus

    Grce aux packages clamav, clamsmtp, clamcour, amavisd

    Fournit

    Iclamscan : scanne les chiers et les rpertoires

    Ifreshclam : permet de mettre jour la base de donnes

    Iclamsmtp : proxy SMTP scanneur de virus

    Iclamcour : ltre de courrier entrant pour scan clamav

    Iamavisd : interface entre MTA et scanner de virus

    Remarque : on privilgiera l'installation de ltres de Spams et Antivirus sur le

    serveur mail, pour des raisons videntes de performance

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (65/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Les interfaces rseau

    Ncessite des options particulires dans le noyau

    Interface loopback

    Ilo

    IRelie la machine elle-mme

    IIP associe est 127.0.0.1

    INom DNS associ est localhost

    Autres interfaces

    Ieth0, eth1...

    Ippp0, ppp1...

    Iwlan0, wlan1...

    Iirlan0..

    Liens intressants

    Ihttp://www.linux-france.org/prj/inetdoc/cours/config.interface/

    Ila manpage accessible via la commande : man interfaces

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (67/160)

  • Conguration du rseau

    Conguration

    IFilaire : /sbin/ifconfig

    INcessite package : net-tools

    IExemple :

    ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255

    IWireless : /usr/sbin/iwconfig

    INcessite package : wireless-tools

    IExemple :

    iwconfig eth1 essid ENS mode managed key open [1] 24CAB

    I/sbin/route [add] IPpasserelle gw netmask 255.255.252.0

    IPlus facile

    /usr/sbin/dhclient si protocole dhcp (cf CCIC2)

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (68/160)

  • Les chiers de conguration

    I/etc/hosts : correspondances statiques de noms d'htes

    I/etc/networking/interfaces

    Exemple 1 : dynamique avec dhcp

    auto eth0

    iface eth0 inet dhcp

    Exemple 2 : allocation statique

    auto eth0

    iface eth0 inet static

    address 192.168.0.12

    netmask 255.255.255.0

    gateway 192.168.0.1

    I/etc/resolv.conf

    search labo.fr

    nameserver IP premier serveur DNS

    nameserver IP deuxime serveur DNS

    I/etc/host.conf

    order hosts,bind

    multi on

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (68/160)

  • Fichier de conguration sur un exemple - 1/2

    Exemple tir du net

    5

    : quelles sont les congurations rseau faire pour le rewall ?

    Le rewall est connect au rseau externe par son interface eth0 dont l'adresse IP

    est 192.168.0.9, le masque est 255.255.255.0 et dont la route par dfaut est

    192.168.0.1. L'interface interne eth1 a pour IP 10.0.0.1 avec un masque

    255.255.255.0. Un autre rseau interne, 10.0.23.0/24 est situ derrire un routeur

    interne dont l'IP dans le rseau 10.0.0.0/24 est 10.0.0.254.

    Firewall

    Rseau10.0.0.0/24

    Routeur

    10.0

    .0.2

    54

    eth0

    Rseau

    192.168.0.0/24

    eth110.0.0.1

    Rseau10.0.23.0/24

    192.168.0.9

    5

    http://guillaume.rince.free.fr/spip/article.php?id_article=62

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (69/160)

  • Fichier de conguration sur un exemple - 1/2

    Exemple tir du net

    5

    : quelles sont les congurations rseau faire pour le rewall ?

    Le rewall est connect au rseau externe par son interface eth0 dont l'adresse IP

    est 192.168.0.9, le masque est 255.255.255.0 et dont la route par dfaut est

    192.168.0.1. L'interface interne eth1 a pour IP 10.0.0.1 avec un masque

    255.255.255.0. Un autre rseau interne, 10.0.23.0/24 est situ derrire un routeur

    interne dont l'IP dans le rseau 10.0.0.0/24 est 10.0.0.254.

    Firewall

    Rseau10.0.0.0/24

    Routeur

    10.0

    .0.2

    54

    eth0

    Rseau

    192.168.0.0/24

    eth110.0.0.1

    Rseau10.0.23.0/24

    192.168.0.9

    5

    http://guillaume.rince.free.fr/spip/article.php?id_article=62

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (69/160)

  • Fichier de conguration sur un exemple - 2/2

    /etc/networking/interfaces

    # The loopback interface

    auto lo

    iface lo inet loopback

    auto eth0

    iface eth0 inet static

    address 192.168.0.9

    netmask 255.255.255.0

    network 192.168.0.0

    broadcast 192.168.0.255

    gateway 192.168.0.1

    # The first network card

    auto eth1

    iface eth1 inet static

    address 10.0.23.1

    netmask 255.255.255.0

    network 10.0.0.0

    broadcast 10.0.0.255

    # Routes statiques

    up route add -net 10.0.23.0 netmask 255.255.255.0 gw 10.0.0.254

    down route del -net 10.0.23.0 netmask 255.255.255.0 gw 10.0.0.254

    Note : Pour que le routage entre les interfaces eth0 et eth1 devienne eectif, il faut modier le

    chier /etc/sysctl.conf en y ajoutant le paramtre : net/ipv4/ip_forward=1

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (69/160)

  • Tester le rseau - 1/2

    Validation de bon fonctionnement sur un rseau IP

    IAdresse IP de l'interface de boucle locale : lo,

    IAdresse IP de l'interface du poste de travail : eth0 ou ppp0,

    IAdresse IP du destinataire de la passerelle par dfaut,

    IAdresse IP extrieure au rseau local.

    Outils

    I/bin/ping

    IValidation inter-processus : ping 127.0.0.1

    IFonctionnement interface seule : ping 192.168.0.2

    ICommunication vers le routeur : ping 192.168.0.1

    IFonctionnement vers l'extrieur : ping 216.239.59.104

    - Attention : pas forcment de rponse au ping

    - Question : comment la communication se droule ici ?

    ITest DNS : ping google.fr

    Si chec, regarder /etc/resolv.conf

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (70/160)

  • Tester le rseau - 2/2

    Outils - suite

    I/sbin/route :

    IConnatre l'tat de la table de routage de l'hte

    ICongurer de nouvelles routes

    IN'a rien voir avec le routage dynamique d'un routeur

    ne sert qu' poser des routes statiques entre interfaces.Table de routage IP du noyau

    Destination Passerelle Genmask Indic Metric Ref Use Iface

    140.x.y.0 * 255.255.255.0 U 0 0 0 eth0

    default 140.x.y.1 0.0.0.0 UG 0 0 0 eth0

    I/usr/bin/traceroute

    IListe les routeurs traverss pour atteindre un hte

    IDonne des informations sur la route suivie

    $> traceroute google.fr

    traceroute : Warning : google.fr has multiple addresses ; using 216.239.57.104

    traceroute to google.fr (216.239.57.104), 30 hops max, 40 byte packets

    3 193.55.215.26 (193.55.215.26) 1.431 ms 1.543 ms 1.320 ms

    4 lyon-g3-1-14.cssi.renater.fr (193.51.184.130) 1.329 ms 1.304 ms 1.532 ms

    11 google-eu-customers-7.GW.opentransit.net (193.251.249.18) 168.032 ms 167.817 ms 171.875 ms

    12 66.249.94.10 (66.249.94.10) 165.740 ms 168.448 ms 66.249.94.8 (66.249.94.8) 165.783 ms

    13 216.239.47.194 (216.239.47.194) 197.687 ms 216.239.49.170 (216.239.49.170) 166.131 ms 165.953 ms

    14 216.239.49.2 (216.239.49.2) 168.564 ms 216.239.49.93 (216.239.49.93) 170.017 ms 168.397 ms

    15 * *

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (70/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Les services au dmarrage

    Description de /sbin/init et de /etc/inittab

    Description des services lancs dans /etc/init.d

    Liens symboliques dans /etc/rc$i.d/ o $i

    IDefault runlevel. The runlevels used by RHS are :

    I0 - halt (Do NOT set initdefault to this)

    I1 - Single user mode

    I2 - Multiuser, without NFS

    I3 - Full multiuser mode

    I4 - unused

    I5 - X11

    I6 - reboot (Do NOT set initdefault to this)

    Exemple : propos de S20welcome2l, S23ntp-server, S99kdm

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (72/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • Programmer l'excution de tches rcurrentes - 1/2

    Grce aux dmons cron et anacron

    Prsentation de cron

    ICharg de lancer d'autres programmes de manire priodique et automatique

    ISe rveille toutes les minutes, inspecte les tables, recharge si modies

    I/etc/crontab, /etc/cron.d/

    I/etc/cron.hourly/, /etc/cron.daily/, /etc/cron.weekly/,

    /etc/cron.monthly/

    IChaque utilisateur peut dnir sa crontab : crontab -e

    dnit ainsi les progs lancer priodiquement

    Pour quoi faire ?

    I propos de /usr/bin/locate et /usr/bin/updatedb

    IPour des sauvegardes !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (74/160)

  • Programmer l'excution de tches rcurrentes - 2/2

    Exemple : rveil tous les matins 7h29 en jouant un ogg

    > crontab -e

    29 7 * * * ogg123 ~/Muzix/song.ogg 1>/dev/null 2>&1

    Explications

    Iles minutes

    Iles heures

    Ile jour du mois

    Ile mois

    Ile jour de la semaine (Lundi=1, Mardi=2, etc.)

    Rq : possibilit de dnir des intervalles, etc.

    I* : a chaque unit de temps

    I2-5 : les units de temps (2,3,4,5)

    I*/3 : toutes les 3 units de temps (0,3,6,...)

    I5,8 : les units de temps 5 et 8

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (74/160)

  • Troisime partie

    Administration d'une machine GNU/Linux

    Se connecter

    Shell et scripts shell

    Installer/congurer des packages sur Debian

    Conguration de la machine

    Ajout d'utilisateurs/groupes

    Connatre le hardware

    Que l'achage graphique soit !

    Compiler son noyau

    Retour sur les priphriques

    Gestion des imprimantes

    Le mail

    Congurer le rseau

    Description des services au dmarrage

    Les services au dmarrage

    Jobs synchrones/asynchrones

    Conclusions

  • 1er

    bilan

    Globalement, on sait comment installer/administrer une machine...

    ILe dmarrage de la machine et les initscripts

    ILes mcanismes relatifs la connexion (console et graphique)

    IDes notions sur les shells et sur les scripts shell

    IComment grer les utilisateurs, quelques priphriques...

    IConguration rseau

    ITches priodiques

    ISuperviser via les logs du systme

    Rien de concret encore sur la scurit !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie III :

    Administration d'une machine GNU/Linux (76/160)

  • Exemple de rsultat de la commande lspci

    0000:00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM

    Controller (rev 03)

    0000:00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics

    Controller (rev 03)

    0000:00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller

    (rev 03)

    0000:00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev

    03)

    0000:00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev

    03)

    0000:00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev

    03)

    0000:00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)

    0000:00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97

    Audio Controller (rev 03)

    0000:00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)

    0000:00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev

    03)

    0000:00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)

    0000:01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express

    (rev 01)

    0000:02:01.0 CardBus bridge: Texas Instruments PCI6515 Cardbus Controller

    0000:02:01.5 Communication controller: Texas Instruments PCI6515 SmartCard Controller

    0000:02:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG (rev 05)

    retour

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • De nouveaux problmes ?

    Quelles sont les dirences importantes avec ce qu'on a vu ?

    On veut

    IQue les donnes soient accessibles depuis chaque machine

    NFS (Network File System)IQue seules les personnes autorises puissent se connecter

    NIS (Network Information Service)IQu'on puisse contacter une machine du parc par son nom

    DNS (Domain Name Server)IDisposer d'un annuaire scuris consultable par tous

    LDAP (Lightweight Directory Access Protocol)IQu'une machine se connecte automatiquement au rseau

    Utilisation du protocole dhcpI... et seulement si elle est autorise le faire

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (79/160)

  • Un air de dj vu

    En CCIR5, vous avez vu en particulier

    ILes mcanismes du portmapper

    ILe NFS

    ILe DNS

    Sur ces notions, un bref rappel

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (80/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Accder aux chiers distants

    NFS

    Objectifs

    IAvoir un systme de chiers distants

    IAccs transparent ses donnes pour l'utilisateur

    Tout se passe comme en local (ls, mv, etc.) !

    Pourquoi faire ?

    IPouvoir accder ses donnes de plusieurs endroits

    IAdministration

    Protocoles existants

    INFS : Network File System

    ISMB : Server Message Block

    IOpenAFS, Coda, InterMezzo

    D'autres infos : http://www.linux-france.org/prj/inetdoc/cours/admin.reseau.nfs/

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (82/160)

  • Conguration ct server

    Dans /etc/exportfs

    ILes partitions exporter

    IPar exemple

    /etc/exportfs

    /home 192.168.0.0/255.255.255.0 (rw,sync,all_squash,anonuid=1232,anongid=1322)

    IQue fait la commande exportf -rv ?

    Dans /etc/hosts.deny et /etc/hosts.allow

    IDcrivent les services autoriss/interdits et pour quelles machines

    IExemple

    /etc/hosts.deny

    ALL: ALL

    /etc/hosts.allow

    portmap mountd nfsd rsynd: 192.168. 10. 132.28.4.

    sshd: 192.168. 10. 132.28.4. 132.28.18.

    Iman hosts_access pour la syntaxe du langage de contrle d'accs

    Lancer le script : /etc/init.d/nfs-kernel-server start

    Rq : ce script n'existe pas sur toutes les distributions : sur debian, que fait-il ?

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (83/160)

  • Conguration ct client

    Dans /etc/fstab

    IContient les infos statiques sur les partitions montables

    IExemple

    /etc/fstab

    /dev/hda6 none swap sw 0 0

    /dev/hda5 / ext3 defaults,errors=remount-ro 0 1

    192.168.0.1:/home /users nfs defaults 0 0

    Crer les rpertoires qui seront monts

    Tester l'accs au serveur et les partitions exportes

    Irpcinfo -u 192.168.0.1 nfs

    Ishowmount -e 192.168.0.1

    Lancer le script : /etc/init.d/nfs-common start

    Rq : ce script n'existe pas sur toutes les distributions : sur debian, que fait-il ?

    Il faut encore tester les droits d'accs et les droits en lecture/criture !Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (84/160)

  • NFS et la scurit - 1/2

    propos d'identiant

    ILes accs ont lieu avec les uid et gid de l'utilisateur sur la machine cliente

    Rq : sauf si l'option all_squash est prcise

    Pas forcment la mme ID que sur le serveur !IProblme pour root...

    Par dfaut, root devient nobody Possibilit de prciser l'option no_root_squash

    Solutions

    IDonner le mme identiant sur les machines clientes que sur serveur

    Impossible ou trop lourd !INIS qui sera vu plus loin

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (85/160)

  • NFS et la scurit - 2/2

    Ne pas croire forcment tout ce qu'il y a dans un cours ! :)

    Pourquoi ?

    Nouvelle version de NFS, donc nouvelles fonctionnalits

    NFSv4

    IDepuis peu de temps mais dj utilise

    IPour le partage via Internet ?

    ITechno de cache agressive

    IRegroupement des requtes rseau (Compound request)

    IScurisation ngocie et chirement des donnes : Kerberos 5, Certicats

    (SPKM), Clefs publiques/prives (LIPKEY)

    ICapacit pour les clients de maintenir des sessions ou de les rcuprer malgr

    crash serveur ou panne du rseau

    ISupport d'attributs chier nomms par le user

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (86/160)

  • Coda

    Une alternative NFS : Coda version 6.0.12 le 21 sept. 2005

    Ivolution d'AFS

    IDate de 1987

    ISystme de chier distribu

    donc plusieurs serveurs rpliqusIUtilise un systme de cache

    ISupporte les dconnexions volontaires ou non !

    IPanne serveurs

    IPanne rseau

    Seule les donnes des serveurs manquants Rintgre les modications lors de la reconnexion

    IScurit

    IAuthentication des utilisateurs

    IACL (Access Control List) permettent une gestion plus ne que les droits UNIX

    Dans le noyau Linux !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (87/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Gestion des utilisateurs distants

    Network Information Server : NIS

    IIntroduit par Sun en 1985 (Yellow Pages, yp l'origine)

    IPas un standard mais largement rpandu

    IBase de donnes distribues pour le partage d'infos systme sur le rseau

    comme les login, passwords, rpertoires de connexion et infos sur les groupes

    cd, /etc/passwd, /etc/hosts, /etc/groups, etc.

    Pourquoi faire ?

    IRduire le temps d'admin. d'un parc de machine !

    ISimplier la gestion des comptes, mots de passes, etc.

    IExemple : la cration d'un utilisateur sur le serveur NIS permet chaque

    machine du parc d'avoir accs ses infos login

    Rq : le serveur NIS n'est pas ncessairement le serveur NFS !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (89/160)

  • Architecture de NIS

    Dcoupage en domaines

    ISelon un modle Client/Serveur au dessus des SUN-RPC

    IO chaque domaine comprend

    IUn serveur matre qui gre les maps (ou cartes)

    (des informations contenue dans la base de donnes)

    I[0-9]* serveurs esclaves jouant le rle de serveurs secondaires

    (des rplicats consultables pour diminuer la charge)

    IDes clients NIS qui consultent les serveurs NIS (matre ou secondaires)

    RQ :

    ILes esclaves diusent les maps sans pouvoir les modier

    Sinon problme de cohrenceISeul le serveur matre peut modier une map !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (90/160)

  • Schma de fonctionnement

    GRO

    UP

    HO

    STS

    PASSW

    D

    GRO

    UP

    maitreServeur NIS

    secondaireServeur NIS

    PASSW

    D

    Mise jour via RPC

    uid=1000, gid=1212, /users/toto

    Serveur NFS

    /home

    ls ~

    Station 1 Station 2 Station 3

    Client NIS/NFS Client NIS/NFS Client NIS/NFS

    poneyClub.oggdecemberists.ogg

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (91/160)

  • Fonctionnement

    IMaps stockes sur le serveur dans /var/yp/nomDeDomaine

    RQ : Un rpertoire /var/yp doit exister sur le client !

    IQuand le chier source d'une map est modie (donc sur le serveur)

    IRegnrer la map correspondante : make -C /var/yp

    IPropoger les changements aux serveurs esclaves grce la commande yppush

    /etc/hosts

    /etc/passwd

    make

    cd /var/yp

    passwd.byuid

    passwd.byname

    hosts.byaddr

    hosts.byname

    aux serveursDiffusion

    esclaves

    Chaque map stocke (cl,valeur)

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (92/160)

  • NIS ct client - 1/2

    Conguration du client NIS - en direct

    IUtilise les programmes clients : ypbind, ypwhich, ypcat, yppoll, ypmatch

    IBinding pour interroger le serveur NIS

    IRenseigner le nom de domaine avec domainname ou dans /etc/defaultdomain

    IDsigner explicitement le serveur, pas de broadcast (scurit !)

    Iypbind doit toujours tourner : recherche rgulirement le serveur NIS

    Iypbind -broadcast : non ! Pas scure...

    Iypset nomServeurNIS ; ypbind

    Iypwhich permet d'acher le nom du serveur NIS

    RQ :

    Iun client NIS peut voir le contenu d'une map grce ypcat

    IS'assurer que /sbin/portmap/ est lanc et que /var/yp/ existe

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (93/160)

  • NIS ct client - 2/2

    Conguration du client NIS - via les chiers de conf

    IFichier /etc/yp.conf

    /etc/yp.conf

    # plusieurs entre de ce genre sont possibles

    domain grid5000 server 192.168.69.2

    IAjouter en n de chaque chier qu'il faut consulter les maps associes

    [email protected]#> tail -1 /etc/passwd

    +::::::

    [email protected]#> tail -1 /etc/group

    +::::

    IMettre l'option compat dans /etc/nsswitch.conf

    RQ :

    IS'assurer que /sbin/portmap/ est lanc et que /var/yp/ existe

    I/etc/init.d/nis start

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (94/160)

  • NIS ct serveur - 1/2

    Un serveur matre NIS fait tourner

    Iypserv pour rpondre aux requtes clientes

    Iypbind s'il est lui-mme client NIS

    Iypxfrd pour rpondre aux requtes de mj des maps par les esclaves

    Irpc.yppasswdd pour assurer les demandes de changement de password

    Installation et excution

    Iapt-get install nis qui lance les services NIS

    on les arrte puisque rien n'est congur encore...IRelancer le portmapper

    IRenseigner la variable NISSERVER dans /etc/default/nis

    Iypinit -m sur le serveur matre pour initialiser NIS

    Iypinit -s masterServer pour les serveurs esclaves

    I/etc/init.d/nis start pour lancer NIS

    RQ : Un serveur NIS esclave fait tourner

    Iypserv pour rpondre aux requtes clientes

    Iypbind s'il est lui-mme client NIS

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (95/160)

  • NIS ct serveur - 2/2

    propos des netgroups

    ISystme NIS permet de dnir groupes de machines ou d'utilisateurs

    Permet d'autoriser/interdire accs une ressourceIDni dans /etc/netgroup qui constitue une map

    IGroupe dni par liste de triplets (machine,user,nisDomain)

    Exemple d'utilisation des netgroups

    [email protected]#> cat /etc/netgroup

    mes_mach (192.168.69.1grid5000) (192.168.69.2grid5000)

    net_admins (,ogluck,) (,root,)

    mes_users (,toto,) (,titi,)

    [email protected]#> cat /etc/exports

    # J'autorise mes_machines monter /home...

    /home @mes_mash (rw,root_squash,async)

    [email protected]#> tail -1 /etc/passwd

    # Je rejette les lignes de la map pour les users titi et toto

    -@mes_users :

    # J'accepte les lignes de la map passwd pour root et pour ogluck

    +@net_admins::::::

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (96/160)

  • Quelques remarques - 1/2

    Pour s'assurer que tout fonctionne

    IServices dmarrs

    [email protected]#> rpcinfo -u 192.168.90.2 ypserv

    program 100004 version 1 ready and waiting

    program 100004 version 2 ready and waiting

    [email protected]#> rpcinfo -u 192.168.69.2 ypbind

    program 100007 version 1 ready and waiting

    program 100007 version 2 ready and waiting

    [email protected]#> ypwhich

    192.168.90.2

    IContrle de l'accs au serveur NIS

    [email protected]#> cat /etc/ypserv.securenets

    # This file defines the access to your NIS server

    255.0.0.0 127.0.0.0

    255.255.255.0 192.168.69.0

    IEt faire quelques tests pour tre sr que les droits sont ok, etc.

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (97/160)

  • Quelques remarques - 2/2

    Dfauts des NIS

    IPas d'authentication des clients NIS :

    Connatre le nom de domaine sut pour interroger le serveur Possibilit de connatre le contenu des maps !

    IMaps transmises en totalits mmes si lgres modications de leur contenu

    IEn ce moment, cass dans debian...

    IShadow passwords sur NIS douteux voire inexistant

    IUn peu vieux maintenant... LDAP

    Voir le HOWTO : http://www.linux-nis.org/nis-howto/HOWTO/et la synthse NFS-NIS :

    http://www.linux-france.org/prj/inetdoc/cours/admin.reseau.synthese-nfs-nis/

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (98/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • S'appeler par son petit nom

    Objectif : assurer la correspondance @IP nom d'hteDnition

    IBase de donnes distribue sur une hirarchie de serveurs de noms

    ICar Internet trop gd, trop de requtes

    ITolrance aux pannes... une panne, tout le net tombe :)

    IDlais de rponse

    IMises jour continuelles de la base

    IProtocole applicatif, modle client/serveur

    Et ?

    IPermet le Host aliasing

    IPermet le Mail serveur aliasing : seveur mail et web ont mme pseudo avec IP

    dirente

    IPermet rpartition de charge : rotation d'@IP du serveur DNS

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (100/160)

  • Fonctionnement

    Remarques

    ISi un serveur n'a pas les donnes dans sa base, contacte un autre serveur

    ITrois types de serveurs DNS

    IServeurs de noms locaux en charge de la rsolution des requtes locales

    IServeurs de noms racine pour propager la requte

    IServeurs de noms de source autorise, contenant les corresp. ocielles

    Schma

    FIXME : Schma

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (101/160)

  • La suite

    Sur les slides d'Olivier

    Remarques : Et pour de la doc, faire un tour sur le site commercial :

    http://guides.ovh.com/.

    Vous y trouverez des infos complmentaires, y compris sur la conguration de

    votre machine :

    http://guides.ovh.net/DomaineFrProblemesZoneCheck/contenu.html

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (102/160)

  • Remarque sur la conguration

    Dans named.conf, ajouter sa zone et rsolution inverse par ex.

    6

    zone "linux.bogus" {

    notify no ;

    type master ;

    file "linux.bogux" ;

    } ;

    zone "196.168.192.in-addr.arpa" {

    notify no ;

    type master ;

    file "db.192.168.196" ;

    } ;

    Avec les chiers en consquence correctement remplis, par ex.

    @ IN SOA ns.linux.bogus.

    hostmaster.linux.bogus. (

    199802151 ; serial

    8H ; refresh, seconds

    2H ; retry, seconds

    1W ; expire, seconds

    1D ) ; minimum, seconds

    ;

    NS ns ; Inet Address of name server

    MX 10 mail.linux.bogus

    MX 20 mail.friend.bogus.

    ;

    localhost A 127.0.0.1

    ns A 192.168.196.2

    mail A 192.168.196.4

    @ IN SOA ns.linux.bogus.

    hostmaster.linux.bogus. (

    199802151 ; Serial

    8H ; Refresh

    2H ; Retry

    1W ; Expire

    1D) ; Minimum TTL

    NS ns.linux.bogus.

    1 PTR gw.linux.bogus.

    2 PTR ns.linux.bogus.

    3 PTR donald.linux.bogus.

    6

    Voir le DNS-HOWTO : http://www.tldp.org/HOWTO/DNS-HOWTO.html

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (103/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Ranger des infos dans un annuaire distribu

    Le protocole LDAP

    INorme dnissant comment les infos sont changes entre client et serveur

    IDnit la manire dont les donnes sont reprsentes

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (105/160)

  • Pour la suite

    LDAP est considr comme non vu cette anne

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (106/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Un hublot vers Internet

    Objectif : faire tampon entre le rseau local et le net

    IProxy HTTP, FTP, ... proxy applicatif !

    IServeur mandataire

    mandat par une application pour faire la requte sur Internet sa place... exmple d'un service d'abonnement sur identit du proxy

    IDonc aussi

    Empcher les machines de se connecter librement sur le net Empcher un attaquant de dresser la carte du rseau interne Mais souvent remplac par routeur/rewall...Fonctionnalits

    IFonction de cache : stocker temporairement

    conomiser bande passante et minimiser temps de rponseIFiltrage : logs sur les requtes par user + ltres sur requtes, sites, contenus...

    IAuthentication

    IReverse-Proxy : accs un site interne de l'extrieur

    Existants : plusieurs packages... .. Squid !

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (108/160)

  • Congurer Squid

    Squid et sa conguration ne seront pas vus cette anne...

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (109/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Comme si on y tait

    Mais pas cette anne...

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (111/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Brancher, c'est connect !

    Dynamic Host Conguration Protocol

    IProtocole client/serveur

    ICongurer les postes clients de faon automatique

    IIdal sur un LAN

    ILe protocole derrire bcp de MHbox des providers

    Fonctionnalits

    IDonne une adresse IP unique un client

    ILes bonnes infos concernant le rseau

    IRenseigne sur le masque de sous rseau

    IAdresses des serveurs primaires et secondaires DNS

    IL'IP de la passerelle permettant d'accder au net

    Fonctionnement

    IClient (0.0.0.0) envoie DHCPDISCOVER en broadcast

    IServeur retourne DHCPOFFER

    IClient envoie DHCPREQUEST en broadcast contenant IDserveur_dhcp

    IServeur envoie DHCPACK

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (113/160)

  • Conguration du serveur - 1/2

    Le dmon

    IDispose d'un intervalle d'adresses pour l'allocation dynamique

    IDonne un bail reconductible au client

    IPossibilit de grer des rseaux logiques (avec relais sur les routeurs grce

    /etc/init.d/dhcrelay)

    ILanc par le script /etc/init.d/dhcpd

    diter pour indiquer quelles interfaces rseau couter via la variable INTERFACES

    Remarques

    IFichier de conguration /etc/dhcpd.conf

    IOption allow unknown-clients mais peut n'accepter que @MAC donnes

    IOption router pour spcier la passerelle par dfaut

    INotion de variables globales

    ILancez /etc/init.d/dhcpd restart aprs modif

    Pour plus d'infos, un site vraiment bien fait :

    http://christian.caleca.free.fr/dhcp/

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (114/160)

  • Conguration du serveur - 2/2

    /etc/dhcpd.conf

    ddns-update-style none ;

    ddns-updates off ;

    # toutes les addr MAC acceptes

    allow unknown-clients ;

    # Dure de vie du bail

    max-lease-time 360000 ;

    default-lease-time 360000 ;

    # Infos donner aux clients

    option domain-name-servers 192.168.0.1 ;

    option routers 192.168.0.1 ;

    subnet 192.168.0.0 netmask 255.255.255.0 {

    # default gateway

    option routers 192.168.0.1 ;

    option subnet-mask 255.255.255.0 ;

    # Seting up an ip address is better here

    # option domain-name-servers ns.domain.org ;

    option domain-name-servers 80.10.246.1 ;

    option domain-name-servers 80.10.246.132 ;

    range dynamic-bootp 192.168.0.10 192.168.0.20 ;

    # default-lease-time 21600 ;

    # max-lease-time 43200 ;

    # we want the nameserver to appear at a fixed

    # address

    host corba

    {

    hardware ethernet 00:20:18:24:41:19 ;

    fixed-address 192.168.0.21 ;

    }

    }

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (115/160)

  • Conguration du client

    /sbin/dhclient

    IIl existe plusieurs clients : pump, dhcpxd, dhcpcd ou dhclient

    IFichier de conguration /etc/dhclient.conf

    IDes scripts excuts automatiquement avant et aprs obtention du bail

    IHistoriques des baux dans /var/lib/dhcp/dhclient.leases

    IAdresse serveur conserve et recontacte lors de prochaine requte

    IFichier /etc/network/interfaces (cf exemple) ;

    /var/lib/dhcp/dhclient.leases

    lease {

    interface "eth0" ;

    fixed-address 140.77.13.46 ;

    option subnet-mask 255.255.255.0 ;

    option routers 140.77.13.1 ;

    option domain-name-servers

    140.77.1.32,140.77.1.183 ;

    option domain-name "cri2000.ens-lyon.fr" ;

    option dhcp-lease-time 7200 ;

    option dhcp-message-type 5 ;

    option dhcp-server-identifier 140.77.1.183 ;

    option dhcp-renewal-time 3600 ;

    option dhcp-rebinding-time 6300 ;

    renew 1 2006/1/16 16 :54 :16 ;

    rebind 1 2006/1/16 17 :39 :16 ;

    expire 1 2006/1/16 17 :54 :16 ;

    }

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (116/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Un coin de paradis pour les dveloppeurs

    Dveloppeurs au sens large

    ICode

    ILivres, articles...

    Objectifs

    IPermettre un travail collaboratif

    IStocker les versions successives pour chaque modication

    INe stocker que les dirences pour gagner de l'espace

    Programmes alternatifs

    IFront-ends graphiques : Cervisia

    ISubversion (v 1.3.0), LibreSource

    ICode : Git (linux), BitKeeper (propritaire, de BitMover)

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (118/160)

  • Fonctionnement

    O

    IUn machine serveur backupe

    I... contenant l'archive CVS

    Les commandes

    ICharger un projet

    IAjouter un projet

    IAjouter un chier

    IDans un projet, un CVROOT

    De nombreuses documentations sur le Oueb !

    Ihttp://www.nongnu.org/cvs/, le site de rfrence

    Ihttp://www.idealx.org/doc/cvs.fr.html

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (119/160)

  • Fonctionnement

    Exemple pour ajouter un projet

    IAu tableau

    Des sites o dposer les projets

    Isourceforge.net

    Isavannah

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :

    Admin. d'un parc de machines GNU/Linux (120/160)

  • Quatrime partie

    Admin. d'un parc de machines GNU/Linux

    Prsentation Gnrale

    Network File System : NFS

    Network Information Server : NIS

    Domain Name Server : DNS

    Lightweight Directory Access Protocol : LDAP

    Installer un proxy avec Squid

    Virtual Private Network : VPN

    Le protocole DHCP

    Concurrent Version System : CVS

    Conclusions

  • Conclusion

    Je n'ai pas parl de

    ISAMBA et de rseaux htrognes (apt-cache search + man)

    IVoisinage rseau LAN

    voir le service d'information LISA : help:lisa dans konqueror et l'URL :http://www.linux-france.org/prj/inetdoc/cours/admin.reseau.neigh/admin.reseau.neigh.lisa.html

    Iet de plein d'autres choses encore...

    Par contre, j'ai abord

    ILes MTA, imap et pop, smtp et j'en oublie

    Yves Caniou Scurit et administration rseaux (05/06)

    Partie IV :