Home
        KAPITEL 8 Installation der Software
         Contents
1.      2006 1 4     15 26     page 129      148     syslog Die Systemprotokollierung ist gestartet      time Die Systemzeit ist gesetzt     Die Namen von System Facilities beginnen mit einem        Ublicherweise werden die   se Namen nicht direkt im Runlevel Skript definiert  sondern den Namen von System   Facilities werden eine oder mehrere normale Facilities zugeordnet  Unter SuSE geschieht  dies   ber die Datei  etc insserv conf     Das Neue an diesem Vorgehen liegt darin  da   man nun nicht mehr selbst entscheiden  mu    in welchen Verzeichnissen man Links unter welchem Namen anlegt  um sicherzu   stellen  da   alle Dienste auch wirklich in der richtigen Reihenfolge gestartet werden  Dies  ist insbesondere dann schwierig  wenn man einen Dienst geschrieben hat und ihn den  Benutzern verschiedener Distributionen anbieten will     Nicht nur benutzen alle Distributionen unterschiedliche Pfade f  r die S  und K Links   Teilweise variiert sogar das Verst  ndnis  was diese bedeuten  Dar  ber hinaus werden  die Links in alphabetischer Reihenfolge abgearbeitet  Um einen Dienst nach einem be   stimmten anderen Dienst starten zu lassen  mu   man dem jeweiligen Link einen Namen  geben  der im Alphabet hinter dem des vorher zu startenden liegt  Die Linknamen der  Standarddienste unterscheiden sich aber ebenfalls von Distribution zu Distribution  So  entspricht z  B  S80sendmail unter Red Hat 7 0 dem S20exim unter Debian 2 2     In einem LSB konformen System reicht der Aufruf     usr lib
2.    firewall        2006 1 4     15 26     page 115      134    KAPITEL 8  Installation der Software             Nun ist der gro  e Augenblick gekommen  Sie sitzen fiebrig vor dem PC  neben sich ein  Stapel CDs und vielleicht das Handbuch Ihrer Distribution  und m  chten loslegen  End   lich d  rfen Sie mit der Installation beginnen  Normalerweise w  rde es jetzt gen  gen  von  der Installations CD zu booten und einige Fragen zu beantworten  um kurz darauf ein  voll funktionsf  higes Linux vorzufinden     Die Installation  die ich hier beschreibe  unterscheidet sich allerdings ziemlich von ei   ner solchen Standardinstallation  Vieles  das in einer Standardinstallation mit einem  Mausklick erledigt wird  mu   hier m  hsam mit einem Texteditor konfiguriert werden   Dies liegt daran  da   Bequemlichkeit oft mit einem Verzicht auf Sicherheit erkauft wird   Wenn Sie sich an einem System unter einer graphischen Oberfl  che anmelden k  nnen   so bedeutet dies auch  da   auf ihm ein X Server l  uft  der als Netzwerkdienst auch aus  dem Internet angesprochen werden kann  Wenn auf CD ROMs durch normale Benutzer  zugegriffen werden kann  so hei  t dies auch  da   diese Verzeichnisse mounten k  nnen   was normalerweise aus gutem Grund root vorbehalten ist  Sie m  ssen dabei ein Pro   gramm starten k  nnen  das Rootrechte besitzt  Enth  lt dieses einen Programmierfehler   so kann die Situation entstehen  da   ganz normale Benutzer die komplette Kontrolle    ber das System   bernehmen k  n
3.   142    Der Bootvorgang    Sp  ter werden wir Skripte schreiben  die automatisch gestartet werden sollen  Um dies  zu erreichen  ist es notwendig zu verstehen  was passiert  wenn Linux bootet  Dar  ber  hinaus stellt der Bootvorgang die Achillesferse eines jeden PC basierten Serversystems  dar  Wer in ihn eingreifen kann  ist kurz davor  Administrator des Systems zu werden   Aus diesem Grund empfiehlt es sich  Server in einem eigenen Raum mit einem soliden  Schlo   unterzubringen     Das BIOS    Der Vorgang beginnt  indem das BIOS nach einem Bootloader sucht  Dieser kann prinzi   piell auf einer Festplatte  Diskette  CD und neuerdings auch einem ZIP Medium stehen   Ist das BIOS so konfiguriert  da   es als erstes   berpr  ft  ob eine bootf  hige Diskette  oder CD eingelegt ist  so reicht der Besitz einer Installations CD oder Rettungsdiskette  aus  um ein Linux Rettungssystem zu laden  mit dem man das Linux System auf der  Festplatte mounten und manipulieren kann  Dabei k  nnte der Angreifer z B  das Pa     wort f  r root in der Datei  etc shadow entfernen  um sich so ohne Pa  wort anmelden zu  k  nnen     Eine g  ngige L  sung besteht darin  die Bootreihenfolge auf   nur C   zu setzen und die  BIOS Einstellungen mit einem Pa  wort zu versehen  Dies ist zwar eine sinnvolle Ma     nahme gegen versehentlich eingelegte Disketten mit Bootviren   kann von einem Angrei   fer aber leicht au  er Kraft gesetzt werden  Fast jedes Motherboard kennt einen Weg  ein  vergessenes BIOS Pa  
4.   EURO DSS1 oder 1TR6 anw  hlen    Filesystems  fat fs support Ja  msdos fs support Ja  vfat fs support Ja  ISO 9660 CDROM filesystem support Ja  Microsoft Joliet filesystem extensions Ja   proc filesystem support Ja  Second Extended fs Support Ja  Network File Systems alle Unterpunkte abw  hlen    Zum besseren Verst  ndnis sollte ich vielleicht noch einmal darauf eingehen  warum be   stimmte Punkte nicht angew  hlt werden sollten     kernel module loader support Hinter diesem Punkt verbirgt sich das schon erw  hnte au   tomatische Laden von Modulen durch den Kernel  Es ist vermutlich eine l    liche  S  nde  hier   Ja   zu sagen  Wer aber nicht m  chte  da   sein Kernel hinter seinem  R  cken Module l  dt  sollte diese Option deaktivieren     IP  kernel level autoconfiguration Diese Einstellung bewirkt  da   der Kernel seine Netz   werkadressen beim Booten mittels DHCP erfragt  Abgesehen davon  da   nicht im   mer ein DHCP Server zur Verf  gung steht  ist es sinnlos  einem Server die Netz   werkadresse dynamisch zuzuweisen  Seine Klienten w    ten dann ja nicht  unter wel   cher Adresse sie ihn erreichen k  nnen  Schlie  lich ist das Protokoll unsicher  und  es sind viele Angriffe denkbar  die damit beginnen k  nnten  einen falschen DHCP     138   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 139      158    Server aufzusetzen und daf  r zu sorgen  da   der echte kurzzeitig nicht antworten  kann     IP  ICMP masquerading Auch in diese
5.   den Standardeinstellungen zur  ckkehren  so k  nnen Sie dies mit dem folgenden Befehl  erreichen       make mrproper    Nun k  nnen Sie den Kernel an Ihre Bed  rfnisse anpassen  Dazu existiert ein men  ge   steuertes Konfigurationsprogramm  das Sie mit      make menuconfig    aufrufen k  nnen     Es empfiehlt sich  die Men  s Punkt f  r Punkt durchzugehen und gezielt nur die Unter   st  tzung f  r diejenigen Komponenten auszuw  hlen  die auch tats  chlich ben  tigt wer   den  Ist dies bei einer Einstellung unklar  so kann mit       ein Hilfetext angezeigt werden   Dort wird dann in der Regel eine kurze Erkl  rung der Option und eine Empfehlung der  Art   If unsure say    Yes       gegeben     Als erstes k  nnen wir unter   Code maturity level options   einstellen  ob wir auch Funk   tionalit  ten im Kernel w  nschen  die noch nicht ausgereift sind  Normalerweise ist dies  nicht notwendig     Code maturity level options  Prompt for development       drivers Nein    Allerdings wird die ISDN Karte Fritz Card PCI in moderneren Fassungen ab Version 2  nur unterst  tzt  wenn wir diese Funktion aktivieren     140   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 141      160    Code maturity level options  Prompt for development       drivers Ja    Als nachstes werden wir gefragt  ob wir Funktionen als Module kompilieren wollen   Grunds  tzlich w  rde ich davon abraten  da diese Funktion es einem lokalen Angreifer  erm  glicht  spezielle Root
6.   etc lilo install aufgerufen     Der Kernel wird dabei in vmlinuz umbenannt  Existiert im Zielverzeichnis bereits eine  Datei namens vmlinuz  wird selbige in vmlinuz old umbenannt  Eine eventuell vorhan   dene Datei vmlinuz old wird dabei gel  scht       Die Variable INSTALLPATH wird in der Datei Makefile im Hauptverzeichnis gesetzt  Bei  den Originalkerneln von ftp kernel org oder ftp de kernel org ist diese Zuweisung in der  Regel auskommentiert  so da   der Kernel direkt im Rootverzeichnis als  vmlinuz abgelegt  wird      INSTALL_PATH  boot    Wollen wir  da   er statt dessen in  boot  installiert wird  so m  ssen wir die Zeile aktivie   ren     INSTALL_PATH  boot    Ist unser Kernel klein genug     dann k  nnen wir statt dessen auch eine Diskette in unser  erstes Diskettenlaufwerk     dev fdO  einlegen und make bzdisk benutzen  Damit sollte es  dann m  glich sein  das System von der so erzeugten Diskette zu booten  Funktioniert der  neue Kernel nicht wie gew  nscht  braucht man nur die Diskette herauszunehmen und  neu zu booten  Schon ist alles wie zuvor     Kompilation und Installation der Module    Nun haben wir einen auf unsere Bed  rfnisse zugeschnittenen Kernel  Was jetzt noch  fehlt  sind die ben  tigten Module  Wenn bestimmte Komponenten des Kernels  die wir  f  r unsere Zwecke ben  tigen  nur als Module verf  gbar sind  kommen wir nicht darum  herum  auch die gew  hlten Module zu kompilieren und zu installieren     Dazu erfolgt bei Kerneln der Serien 2 2 und 2 4 
7.   n   device2     amp  amp     n   type2      then  cmdln   cmdln  M  m  device2  t  type2   fi  fi                gpm_strace       echo  n  Running mouse interface server under strace  gpm   eval strace  T  o  root gpm strace  GPM  V  D  e  cmdln  gt   root gpm out 2 gt  amp 1  echo      return 0         Der Bootvorgang   133       firewall        2006 1 4     15 26     page 134      153    gpm start       echo  n  Starting mouse interface server  gpm     eval start stop daemon   start   quiet   nicelevel  niceness   exec  GPM        cmdln      echo   start failed    return 1      echo       return 0         gpm_stop       echo  n  Stopping mouse interface server  gpm    GPM  k      echo   not running    return 1     echo        J    case   1  in  strace   gpm_strace    exit 1    33   start   gpm_start    exit 1  3  stop   gpm_stop    exit 1    33   force reload  restart   gpm_stop  amp  amp  sleep 3  gpm_start    exit 1    33          2   echo  Usage   etc init d gpm  start stop restart force reload strace    exit 1  esac    exit 0    Das Skript beginnt  indem es   berpr  ft  ob der gpm installiert ist und der Aufrufer tat   s  chlich Rootrechte besitzt     Debian verwendet eine eigene Konfigurationsdatei f  r jeden Dienst  hier   etc gpm cfg    die  falls vorhanden  eingebunden wird  Das Fehlen der Datei f  hrt aber nicht dazu  da    der Dienst als nicht konfiguriert angesehen und deswegen nicht gestartet wird  Vielmehr  wird f  r jeden Konfigurationsparameter getestet  ob
8.   procset   FORWARDV6   f forwarding  procset 0  f accept_ra  procset 0  f accept_redirects  procset 0  f autoconf   done    procset  1 4 1 7   proc sys kernel printk  stop     echo  Stoppe Forwarding         procset 0  proc sys net ipv4 ip_forward   procset 1  proc sys net ipv4 ip_ always defrag   procset 1  proc sys net ipv4 ip_dynaddr   procset 1  proc sys net ipv4 tcp_syncookies   procset 1  proc sys net ipv4 icmp_echo_ignore_ broadcasts    for f in  proc sys net ipv4 conf    do   procset 1  f rp_filter   procset 0  f accept_redirects   procset 0  f accept_source_route  done    170   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 171      190    for f in  proc sys net ipv6 conf    do  procset 0  f forwarding  procset 0  f accept_ra  procset 0  f accept_redirects  procset 0  f autoconf  done    procset  1 4 1 7   proc sys kernel printk     33   echo  Usage   0  start stop      esac    Bevor wir das Skript nun allerdings ausf  hren k  nnen  m  ssen wir es noch mit folgen   dem Aufruf ausf  hrbar machen       chmod 700 procconf    Mit procconf start kann nun die Weiterleitung von Paketen durch die Firewall erlaubt  werden  w  hrend der Rechner mit procconf stop zu einem normalen Klienten wird  der  zwar selbst durchaus Verbindungen in angeschlossene Netze   ffnen kann  der aber Ver   bindungen anderer Rechner nicht mehr weitervermittelt     Das Skript wurde bewu  t so geschrieben  da   es als normales Runlevel Skript dienen  kann  sieh
9.  14 procset    Uberpr uft erst  ob eine Datei existiert   bevor versucht wird hineinzuschreiben     Router Advertisements und Redirects werden f ur ipv6   nicht angenommen  Autoconf f ur ipv4 und ipv6 verboten        2005 05 17 Variable FORWARDV6 regelt  ob IPv6 Pakete geroutet  werden oder nicht        Copyright  C  2003 Andreas G  Lessig         Lizenz  GPL v2 oder h ohere Version     BEGIN INIT INFO  Provides  procconf    Required Start   local_fs  Should Start  pf ipt pf ipc dmz ipt dmz ipc  Required Stop   network    Should Stop     Default Start  235  Default Stop  016    Short Description  Konfiguration von  proc  Description  Konfiguration von  proc     END INIT INFO          Hier eine 1 eintragen  wenn IPv6 Pakete geroutet werden sollen    FORWARDV6  0     Hardware Integration durch Kompilation   169       firewall        2006 1 4     15 26     page 170      189    procset       if of sti   2   J  then  echo   1   gt    2     echo  Setting  2 to  1   else  echo  WARNING   2 does not exist   fi     case   1  in  start     echo  Aktiviere Forwarding         procset 1  proc sys net ipv4 ip_ forward   procset 1  proc sys net ipv4 ip_ always defrag   procset 1  proc sys net ipv4 ip_dynaddr   procset 1  proc sys net ipv4 tcp_syncookies   procset 1  proc sys net ipv4 icmp echo ignore_broadcasts    for f in  proc sys net ipv4 conf    do   procset 1  f rp_filter   procset 0  f accept_redirects   procset 0  f accept_source_route  done    for f in  proc sys net ipv6 conf     do
10.  155 erw  hnten  zus  tzlichen Parameter k  nnen hier angeh  ngt werden  Wollen wir also Parameter  f  r eine Netzwerkkarte   bergeben  so sieht dies folgenderma  en aus     kernel  hdo 0  boot vmlinuz root  dev hda3  ether 5  0x300 etho    Der Kernel wird in einem speziellen Format angegeben  Zuerst wird die Partition an   gegeben  danach angeh  ngt der Pfad auf dieser Partition  Die Angabe  hdo 0  bedeu   tet dabei   die erste Partition der ersten erkannten Festplatte    Dies ist nicht zwangs   l  ufig die Partition mit dem Wurzelverzeichnis  sondern die Partition  auf der sich  der Kernel tats  chlich befindet  Haben wir also eine eigene Partition f  r  boot ange   legt  so m  ssen wir diese Partition angeben      F  r das Schema ist dabei unerheblich  ob es sich dabei um IDE  oder SCSI   Festplatten handelt  Haben Sie allerdings nur IDE Platten  so kann man davon aus   gehen  da    dev hdc2 der Angabe  hd2 1  entspricht     initrd brauchen Sie normalerweise nicht  aber es gibt Systeme  auf denen bestimmte    Module aus einer Ramdisk nachgeladen werden  bevor das Wurzelverzeichnis ge   mountet wird  Der Inhalt der Ramdisk wird aus der Datei erstellt  die hinter dem  Parameter angegeben wird  Die Angabe der Datei erfolgt im bereits dargestellten For   mat     root gibt eine Bootpartition vor  wenn das dort installierte Betriebssystem im Gegensatz    zu Linux vom Grub nicht direkt unterst  tzt wird  Das Format ist das bereits bekann   te  Allerdings wurde in der Beispielkonf
11.  B  depmod  a 2 2 13   ist es besser  ihn erst nach  dem n  chsten Booten ausf  hren zu lassen  Oft ist ein entsprechender Aufruf schon in  den Runlevel Skripten eingebaut     Unterbleibt der Aufruf von depmod  a ganz  so wird sich dies dadurch bemerkbar ma   chen  da   all diejenigen Treiber  die als Module kompiliert wurden  nach dem n  chsten  Neustart nicht mehr zur Verf  gung stehen     Installation des Kernels    Nun da wir einen neuen Kernel kompiliert haben  m  ssen wir ihn nur noch an eine ge   eignete Stelle kopieren und den Bootloader so umkonfigurieren  da   er ihn auch benutzt     Kopieren des Kernels    Bevor wir den neuen Kernel installieren  ist es sinnvoll  den Vorg  nger aufzuheben  So  besitzt man eine funktionierende Konfiguration  zu der man zur  ckkehren kann  falls  der neue Kernel nicht lauff  hig ist  Dies kann z B  der Fall sein  wenn versehentlich  zum Booten ben  tigte Hardware  z  B  SCSI Adapter  IDE Festplatten  Ext2 Dateisystem   nicht einkompiliert wird     Hierzu benennt man den alten Kernel um       mv  boot vmlinuz  boot vmlinuz prev    154   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 155      174    Bitte benutzen Sie nicht vmlinuz old  da make  b zlilo diese Bezeichnung ebenfalls f  r  die jeweilige Vorg  ngerversion benutzt und damit die eigene Version   berschreibt  Kom   piliert man dann den Kernel versehentlich zweimal hintereinander  so ist die Sicherungs   kopie mit der aktuellen Kernelver
12.  Brenner ge  ndert hat  War  es fr  her n  tig    SCSI emulation support   und   SCSI generic support   auszuw  hlen   so reicht es beim Kernel 2 6  nur   Include IDE ATAPI CDROM support   zu aktivieren   Das Ger  t kann dann als ganz normales IDE Device  dev hd lt X gt  angesprochen werden   w  hrend es vorher als SCSI Device unter  dev sr lt N gt  firmierte     Wir sollten ferner die Unterst  tzung f  r den DMA Modus und den Chipsatz des von  uns verwendeten IDE Controllers einkompilieren  Nur so k  nnen wir die Festplatten im  schnelleren DMA Modus betreiben     146   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 147      166    Device Drivers    Block Devices    Loopback device support Ja   Network block device support Nein  ATA ATAPI MFM RLL support   Include IDE ATAPI CDROM support Ja   oder   SCSI emulation support Ja   Generic PCI bus master DMA Support Ja   Treiber fiir Ihren IDE Controller Ja  SCSI device support   SCSI generic support Ja     bei SCSI emulation     Unter   Networking support   finden wir neben einigen Standardeinstellungen auch die  Einstellungen zur Paketfilterung     Networking support    Networking options       TCP IP networking Ja  IP  advanced router Ja  IP  verbose route monitoring Ja  IP  kernel level autoconfiguration NEIN   IP  TCP Expl  Cong  Not  Support Nein  IP  TCP syncookie support Ja  DECnet support Nein  802 1d Ethernet Bridging Nein  Network packet filtering  IP  Netfilter Configuration    
13.  Default Start  1235  Default Stop  0 6     Short Description  Laden von Modulen  Description  Laden von Modulen                END INIT INFO    case   1  in  start     echo  Lade Module          sbin modprobe ne   sbin modprobe isdn   sbin modprobe hisax_fcpcipnp      Weitere Module hier einf ugen     53  stop   echo  Entferne ungenutzte Module         sbin rmmod  r ne   sbin rmmod  r hisax_fcpcipnp   sbin rmmod isdn      Weitere Module hier einf ugen    gt  gt       echo  Usage   0  start stop      33  esac    Den Modulen k  nnen dabei auch Parameter   bergeben werden wie die  die wir schon  in Kapitel 8  Unterabschnitt Eintrag in die modules conf bzw  modprobe conf   ab Seite 161  kennengelernt haben  Dies k  nnte z  B  folgenderma  en aussehen      sbin modprobe ne i0 0x300 0x320 irq 5 7    In diesem Fall brauchen sie nicht in die Datei  etc modules conf eingetragen zu werden     Beim Einrichten der n  tigen Links ist darauf zu achten  da   das Skript m  glichst fr  h  ausgef  hrt wird  Wird z B  ein Modul f  r eine Netzwerkkarte geladen  so sollte das La   deskript vor dem Skript ausgef  hrt werden  das die Netzwerk Interfaces konfiguriert   Wurden auch elementare Treiber wie z  B  die serielle Schnittstelle als Modul kompiliert   so mu   das Skript sogar noch fr  her geladen werden  Hier bietet sich die Verlinkung  unter SO1aaamodload bzw  K99zzzmodload an  um sicherzustellen  da   es beim Eintritt  in den Runlevel als allererstes bzw  beim Verlassen des Runlevels als l
14.  Hardware   ISDN  i4l inst  ISDN Unterst  tzung  i4lfirm inst  Firmware fiir aktive ISDN Karten  Produktivit  t   Archivierung  mt_st inst  Steuerung von Bandlaufwerken  DVD   unzip inst  Entpacken von Zip Archiven  zip inst  Erzeugung von Zip Archiven  Produktivit  t   Datei Dienstprogramme  mc inst  Midnight Commander  Produktivit  t   Editoren  joe deinst  Editor  Produktivit  t   Multimedia  cdrecord inst  CD Images brennen  dvd rw tools inst  DVDs brennen  mkisofs inst  CD Images erstellen  Produktivit  t   Netzwerk  bind inst  DNS Server  bind chrootenv inst  Chroot Umgebung fiir den Bind  dhcpd deinst  IP Adr  autom  beziehen  exim inst  Mailserver  Konflikt  postfix deinst    iptraf inst    berwachung des Netzwerkverkehrs  Iynx inst  textbasierter Browser  mutt inst  einfaches E Mail Programm  ncftp inst  FTP Klient  besser als ftp  DVD   netcat inst  Port Scan  Probeverbindungen  netdiag inst  Netzwerkkartendiagnose  nmap inst  Port Scans  portmap deinst  Portmapper  postfix deinst  Mailserver  kollidiert m  exim     Installation der ben  tigten Software   117       firewall        2006 1 4     15 26     page 118      137    Tabelle 8 1  Pakete der SuSE Installation  Version 9 3   Forts               Serie  Paket Aktion Bemerkung  ppp inst  Modemnutzung  privoxy inst  WWW Proxy  proxy suite inst  FTP Proxy  DVD   rp pppoe inst  DSL Unterst  tzung  DVD   squid inst  FTP WWW Proxy  tin inst  Newsreader  DVD   Produktivit  t   Publishing  texinfo inst  Programmdokumenta
15.  er existiert  Aus diesen getesteten  Parametern wird dann eine Kommandozeile f  r den gpm aufgebaut     Als n  chstes werden Funktionen definiert  die es erlauben  den Dienst zu starten oder zu  stoppen  Diese werden in der obligatorischen Fallunterscheidung nach dem   bergebenen  Parameter benutzt  Die einzelnen F  lle sind knapp gehalten und beschr  nken sich auf  eine kurze Meldung und den Aufruf bzw  das Beenden des Dienstes     Allerdings wird hier weder durch eine Ausgabe noch durch einen R  ckgabewert mitge   teilt  ob der Start des Dienstes gelungen ist     134   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 135      154    Hardware Integration durch Kompilation    Das eigentliche Betriebssystem stellt unter Linux der Kernel dar  Hierbei handelt es sich  gewisserma  en um das Programm  das die Ausf  hrung aller anderen Programme kon   trolliert und diesen auch standardisierte Schnittstellen zur Hardware bietet  So braucht  ein normales Programm nicht den Unterschied zwischen einer SCSI  oder einer IDE   Festplatte zu kennen  Es reicht ihm  da   es auf Dateien zugreifen kann  Um die Details  k  mmert sich der Kernel  der den eigentlichen Hardwarezugriff vornimmt     Im folgenden werden wir daher einen Kernel generieren  der ganz gezielt auf unsere Be   d  rfnisse zugeschnitten ist  Allerdings macht es hierbei doch einen Unterschied  ob wir  einen Kernel der Serie 2 2 kompilieren  der immer noch von Debian verwendet wird   oder 
16.  gemountet werden  Unter SuSE 9 2 sind z  B  die folgenden Eintr  ge vorhanden      dev cdrom  media cdrom subfs fs cdfss ro procuid nosuid   nodev exec  iocharset utf8 0 0    dev dvdrecorder  media dvdrecorder subfs fs cdfss ro procuid nosuid   nodev  exec  iocharset utf8 0 0    dev fdo  media floppy subfs fs floppyfss procuid   nodev nosuid sync 0 0    Die Umbriiche sind dabei durch den Druck bedingt  Es sind eigentlich nur drei Zeilen     In allen wird ein Dateisystem subfs verwendet  das zumindest derzeit in einem Stan   dardkernel gar nicht enthalten ist  sondern von SuSE in ihre Kernel zusatzlich eingebaut  wurde  Wir sollten das Dateisystem daher durch die tats  chlichen Dateisysteme oder  auto ersetzen      dev cdrom  media cdrom auto noauto ro nodev nosuid 0 0   dev dvdrecorder  media dvdrecorder auto noauto ro nosuid nodev 0 0   dev fdo  media floppy auto noauto nodev nosuid sync 0 0    172   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 173      192    Neustart    Nachdem wir den innersten Kern unseres Betriebssystems umgekrempelt haben  ist es  tats  chlich n  tig  neu zu booten  Dies geschieht mit dem Befehl      sync reboot  W  hrend des Bootvorgangs sehen wir dann Meldungen der Art     scsi   0 hosts    scsi   detected total    PPP  version 2 3 7  demand dialling    TCP compression code copyright 1989 Regents of the University of California  PPP line discipline registered    ne c v1 10 9 23 94 Donald Becker  becker cesdi
17.  gt    Connection Tracking       Ja  FTP protocol support Ja  TFTP       support NEIN   Amanda       support NEIN   IPtables support       Ja   Alle anw  hlen  insbesondere   limit match support Ja  IP range match support Ja  MAC address support Ja  TOS match support Ja  Connection state       Ja  Owner match support Ja  Packet filtering Ja  REJECT       Ja  Full NAT Ja  MASQUERADE       Ja  REDIRECT       Ja  LOG target support Ja  The IPX protocol Nein  Appletalk protocol Support Nein  Hardware Integration durch Kompilation   147       firewall        2006 1 4     15 26     page 148      167    Bevor wir weitermachen  noch ein paar Worte zu den Einstellungen  von denen hier  abgeraten wird     IP     kernel level autoconfiguration Diese Einstellung bewirkt  da   der Kernel seine Netz   werkadressen beim Booten mittels DHCP erfragt  Abgesehen davon  da   nicht immer  ein DHCP Server zur Verf  gung steht  ist es sinnlos  einem Server die Netzwerk   adresse dynamisch zuzuweisen  Seine Klienten w    ten dann ja nicht  unter welcher  Adresse sie ihn erreichen k  nnen  Schlie  lich ist das Protokoll unsicher  und es sind  eine Menge Angriffe denkbar  die damit beginnen k  nnten  einen falschen DHCP   Server aufzusetzen und daf  r zu sorgen  da   der echte kurzzeitig nicht antworten  kann     802 1d Ethernet Bridging Beim Bridging tritt ein Rechner gar nicht in Erscheinung  er    wirkt vielmehr wie ein Verst  rker zwischen zwei Netzwerksegmenten  der Pakete aus  einem Segment tran
18.  len  da   ein eigenes Skript n  tig ist  um die Module beim Bootvorgang zu laden  An   dererseits existieren bestimmte Treiber f  r ISDN Karten  die nur als Modul funktionie   ren  Welche dies sind  erf  hrt man in der entsprechenden Kernel Dokumentation unter   usr src linux Documentation isdn README  lt Treiber gt      Der yast unter SuSE Linux erwartet  da   Module bei der Konfiguration automatisch ge   laden werden  Dies soll nicht hei  en  da   er nicht benutzt werden kann  wenn die Treiber  in den Kernel kompiliert wurden  es ist aber mit kleineren Anpassungsschwierigkeiten  zu rechnen     Schlie  lich kann man mit Modulen bestimmen  in welcher Reihenfolge Netzwerkkarten  eingebunden werden  Tauscht man eine Netzwerkkarte eines Herstellers gegen ein Pro   dukt eines anderen Herstellers aus und befindet sich im Rechner eine zweite Netzwerk   karte  die von einem dritten Hersteller stammt  so kann sich die Reihenfolge  in der die  Netzwerkkarten vom Kernel erkannt werden  nach dem Umbau   ndern  Dies f  hrt dazu   da   aus dem Netzwerk Interface etho mit einem Male eth1 wird  und umgekehrt   In der  Folge m    ten alle Skripte  die die Interface Bezeichnungen explizit benutzten  insbeson   dere das Firewalling   ge  ndert werden  L  dt man dagegen die Module manuell  hat man  es selbst in der Hand  die Reihenfolge zu bestimmen     10 Denial of Service Angriffe  DoS Angriffe  zielen nicht darauf ab  einen Rechner unter Kontrolle zu brin   gen  sondern seine Funktionalit  
19.  lsb install_initd  etc init d gpm  aus  um die n  tigen Links zu erzeugen  damit das Skript  e in den Runleveln 2 und 3 aktiviert wird     e in den anderen Runleveln inaktiv ist und    e nach den Facilities  remote_fs und  syslog gestartet bzw  vor diesen beendet wird   Der Aufruf     usr lib lsb remove_initd  etc init d gpm    f  hrt umgekehrt dazu  da   alle Links wieder gel  scht werden     Unter SuSE brauchen wir uns aber nicht diesen komplizierten Befehl zu merken  es geht  auch mit      insserv  etc init d gpm    Um den Dienst wieder zu deinstallieren  rufen Sie den Befehl einfach mit dem Parame   ter  r auf       insserv  r  etc init d gpm    Der Bootvorgang   129       firewall        2006 1 4     15 26     page 130      149    Achtung  Seit SuSE 9 3 sollten Sie keine Links mehr von Hand anlegen  Verwen   den Sie immer insserv  SuSE verwendet ein neues System  bei dem die Dateien   etc init d  depend boot   etc init d  depend start und  etc init d  depend stop festlegen  in  welcher Reihenfolge Dienste gestartet werden  Die Links werden nur noch benutzt  um  herauszufinden  ob ein Dienst  der in den Dateien aufgef  hrt ist  auch tats  chlich in ei   nem Runlevel verwendet werden soll  Legen Sie also nur die Links an  ohne die Dateien  anzupassen  dann wird Ihr Dienst nicht gestartet     GPM_BIN  usr sbin gpm  test  x  GPM BIN    exit 5    Nun wird   berpr  ft  ob das aufzurufende Programm existiert  Wenn nicht  wird das  Skript beendet       Check for existence of ne
20.  machen     Fr  her war dies n  tig  da das Firewalling teilweise als   Experimentell   gekennzeichnet  war  Heute ist es allerdings ausgereift  so da   wir hier   Nein   sagen k  nnen  wenn wir  nicht Unterst  tzung f  r spezielle neue Hardware wie z B  eine aktuelle Fritz Card PCI  ben  tigen     Code maturity level options  Prompt for development       drivers Nein    Unter   General Setup   finden wir die Funktion   BSD Process Accounting    Wenn wir  diese aktivieren  k  nnen wir sp  ter mit dem Befehl accton eine Datei festlegen  in der alle  Programmaufrufe protokolliert werden  Mit lastcomm kann man sich diese dann sp  ter  anzeigen lassen  Im Normalfall ist dies   bertrieben  aber es kann nicht schaden  diese  M  glichkeit vorzubereiten     Des weiteren sind dort zwei Optionen  die daf  r sorgen  da   die Konfigurationseinstel   lungen des Kernels als gepackte Datei unter  proc ausgelesen werden k  nnen  Ich halte  dies f  r sehr sinnvoll  da man so sp  ter diese Einstellungen nachlesen kann  auch wenn  man vergessen hat  alle Einstellungen bei der Konfiguration zu dokumentieren und sau   ber zu archivieren     Hardware Integration durch Kompilation   145       firewall        2006 1 4     15 26     page 146      165    General Setup    BSD Process Accounting Ja  Kernel  config support Ja  Enable access       through  proc config gz Ja    Als nachstes werden wir gefragt  ob wir Funktionen als Module kompilieren wollen   Im 2 6er Kernel ist dies normalerweise nicht me
21.  mt st inst  Benutzung von Bandlaufwerken  tet inst  Finden gel  schter Dateien  comm main minicom inst  Terminalprogramm  devel main autoconf inst  wird beim Kompilieren mancher Programme ben  tigt  kernel source 2 4 27 inst  Kernel Quellen Version 2 4  oder bzw   kernel source 2 6 8 inst  Version 2 6  doc main bind9 doc inst  Dokumentation zum DNS Server  cdrtools doc inst  Dokumentation zu mkisofs und cdrecord  editors main joe inst  Editor  vim inst  Editor  misc main gpm inst  Maus Unterst  tzung  net main bind9 inst  DNS Server  ftp proxy inst  FTP Proxy  iptraf inst  Uberwachung des Netzverkehrs  links2 inst  textbasierter Browser  Ipr deinst  Druckerserver  ncftp inst  FTP Klient  netcat inst  Port Scans  Probeverbindungen  netdiag inst  Netzwerkkartendiagnose  nfs common deinst  Network File System  Unix Gegenst  ck zum Windows Netzwerk     hnlich unsicher  nmap inst  Port Scans  pidentd deinst  Ident Daemon  gibt unn  tigerweise vertrauliche Daten preis  portmap deinst  Portmapper  Metadaemon f  r diverse unsichere Dienste  tcpdump inst    berwachung des Netzverkehrs  news main tin inst  Newsreader  otherfs main cdrecord inst  CDs brennen  mkisofs inst  CDs und DVDs brennen  utils main bzip2 inst  Packer  dvd rw tools inst  DVDs brennen  hex inst  Hexdumps erstellen  isdnutils base inst  ISDN  ipppd inst  ISDN  mc inst  Midnight Commander  tripwire inst  Datei  nderungen   berwachen  zip inst  Packer  web main links inst  textbasierter Browser  lynks inst  textbasie
22.  vorkom   men  als zImage und als bzImage  In beiden F  llen darf er eine bestimmte Gr    e nicht    berschreiten  Diese Grenze liegt im ersten Fall so niedrig  da   leicht Fehlermeldungen  der Art   Kernel too big   auftreten k  nnen  Im zweiten Fall ist die Maximalgr    e des  Kernels dagegen deutlich h  her angesetzt und wird daher in der Regel nicht erreicht  Der  kompilierte und komprimierte Kernel kann unter  usr src linux arch i386 boot  gefunden  werden     150   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 151      170    Je nach Situation wird einer der folgenden Aufrufe zu dem gew  nschten Resultat f  h    ren    make zImage Kompilation des Kernels als zImage und Ablage im oben genannten  Verzeichnis    make bzImage wie zuvor beschrieben als bzImage    make zlilo Kompilation des Kernels und Installation f  r LiLo  Dabei wird der bisher  installierte Kernel   berschrieben  Wurde bei der Konfiguration ein Feh   ler begangen  so ist das System nur noch mit einer speziellen Bootdiskette  zu starten    make bzlilo s o  als bzImage    make zdisk Kompilation des Kernels und Installation auf eine Diskette  Bootdisk    Damit k  nnen wir erst einmal ausprobieren  ob der Kernel die in ihn  gesetzten Erwartungen erf  llt  bevor man ihn permanent im System  installiert     make bzdisk s o  als bzImage    F  r den ersten Versuch ist es sinnvoll  mit make zImage oder make bzImage einen Kernel  zu kompilieren     um dann erst einmal ein Ba
23.  vorzuge   ben  Es ist meistens auf 4  warning  gesetzt     20 Die Adressen basieren neben den Informationen in den Router Advertisements zus  tzlich auf der eigenen  MAC Adtresse  so da   Adressen generiert werden  die garantiert eindeutig sind     168   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 169      188    minimum _console_loglevel Gibt den niedrigsten Wert an  auf den console_log_level ge   setzt werden kann  Normal ist hier 1  alert      default_console_loglevel Gibt den Wert an  auf den console_log_level beim Booten ge   setzt wird  Standardm    ig ist dieser Wert 7  debug      Nach dem  was oben beschrieben wurde  liegt es nahe  ein Skript zu schreiben  das die  n  tigen Einstellungen f  r uns vornimmt  Dieses k  nnte z B  kurz vor oder kurz nach  einem Firewalling Skript aufgerufen werden  Beide sollten aber auf jeden Fall ausgef  hrt  werden  bevor die Netzwerk Interfaces und eventuelle Serverdienste aktiviert werden  da  ansonsten eine zeitliche L  cke entst  nde  in der auf den Rechner schon   ber das Netz  zugegriffen werden k  nnte  ohne da   schon alle Schutzma  nahmen aktiv w  ren     Die Weiterleitung von IPv6 Paketen ist deaktiviert  Dies kann aber durch Setzen der Va   riable FORWARDV6 auf   1   ge  ndert werden        bin sh    procconf  start stop        Ein kleines Skript  das die IP Einstellungen in   proc den Bed urfnissen einer Firewall anpa st        start  Forwarding an  stop  Forwarding aus     2005 05
24. Lo zum Booten braucht  auf  den ersten 1024 Zylindern der Festplatte befinden  Mit dieser Option versucht Li   Lo  spezielle Funktionen neuerer BIOS Versionen   zu nutzen  Damit k  nnen sogar  2048 GB adressiert werden  Dieser Parameter sollte nicht zusammen mit compact  verwendet werden     vga Diese Einstellung legt den Graphikmodus beim Booten fest  normal bedeutet  80 x 25 Textmodus  ext oder extended 80 x 50 Textmodus  ask bewirkt  da   beim  Booten gefragt wird  welcher Modus verwendet werden soll  Tats  chlich existieren  noch mehr Modi  die gegebenenfalls am Bootprompt mit  TAB  erfragt werden k  n   nen  falls ask eingestellt ist     read only Das Rootdateisystem wird schreibgesch  tzt gemountet  Dies ist f  r die Pr     fung des Dateisystems beim Bootvorgang n  tig     prompt Diese Option bewirkt  da   ein Bootprompt angezeigt wird     timeout Hier wird in Zehntelsekunden eingestellt  wie lange LiLo warten soll  bevor die  Standardkonfiguration automatisch gestartet wird     image Diese Option leitet eine Konfiguration ein  Alle Optionen  die vor dem ersten  Auftreten von image angegeben wurden  gelten global f  r alle Konfigurationen  Alle  anderen Optionen gelten nur f  r jeweils eine Konfiguration  Als Parameter erh  lt die  Option den Dateinamen des Kernels  der f  r diese spezielle Konfiguration verwendet  werden soll     root Hier wird festgelegt  welche Partition als       gemountet wird     label Dieser Parameter gibt der Konfiguration einen Namen  der dazu 
25. P  ICMP  UDP und  TCP kennt  Normalerweise besteht auch kein Grund  diese Protokolle in das Internet  zu routen  Sie sind nur f  r den Betrieb im LAN vorgesehen     802 1d Ethernet Bridging Beim Bridging tritt ein Rechner gar nicht in Erscheinung  er    wirkt vielmehr wie ein Verst  rker zwischen zwei Netzwerksegmenten  der Pakete aus  einem Segment transparent in das andere leitet und umgekehrt  Hier wollen wir da   gegen einen Router aufsetzen  der von Rechnern im LAN gezielt angesprochen wird   wenn Pakete in das Internet geroutet werden sollen     Kommen wir nun zu den Netzwerkkarten     Network device support    Network device support  Ja  Dummy net driver support Ja  Treiber f  r eingebaute Ja  u U  als Modul   Netzwerkkarten    Wenn Sie ein Modem oder eine DSL Anbindung benutzen wollen  so m  ssen Sie das  Point to Point Protocol aktivieren     142    PPP  point to point  support Ja  PPP support for async serial ports Ja  PPP support for sync tty ports Ja  PPP Deflate compression Ja  PPP BSD Compress compression Ja      Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 143      162    Wenn Sie sich   ber ISDN in das Internet einw  hlen wollen  so ben  tigen Sie die folgen   den Einstellungen  Andernfalls k  nnen Sie   ISDN support   abw  hlen     ISDN Subsystem    ISDN support Ja  u U  als Modul   Support Synchronous PPP Ja  Use VJ compression with synchronous PPP   Support generic MP       Ja  N  tige Treiber Ja    Beim HiSax Treib
26. S    NetBIOS Server  den Portmapper und die X Window Oberfl  che verzichtet werden     SuSE    Die Installation von SuSE Linux erfolgt  indem entweder von den mitgelieferten CD   ROMs oder DVDs gebootet wird     Wenn Sie zur Installation der ben  tigten Software kommen  sollten Sie im Men    SOFTWARE AUSWAHL das Minmat System ausw  hlen  Unter ERWEITERTE Auswaut sollten Sie  dann die zur Auswahl stehenden Pakete noch einmal einzeln betrachten und entschei   den  welche zus  tzlich n  tig sind     Sie k  nnen sich die Pakete in verschiedenen Arten gegliedert anzeigen lassen  W  hlen  Sie   Selektionen    so werden Ihnen nicht alle Pakete angezeigt  Bestimmte Pakete werden  einfach als notwendig vorausgesetzt und k  nnen nicht einzeln an  oder abgew  hlt wer   den  Aus diesem Grund sollten Sie sie lieber als hierarchisch gegliederte Paket Gruppen   z  B    Produktivit  t Editoren   oder   Hardware Modem    anzeigen lassen     Tabelle 8 1 gibt an  welche Pakete zus  tzlich sinnvoll ausgew  hlt werden k  nnen bzw   welche besser abgew  hlt werden  Allerdings kann die dort pr  sentierte Auswahl nur ein  Vorschlag sein  Wenn Sie z  B  keine ISDN Karte besitzen  sind die Pakete i4  und i4lfirm  reine Speicherplatzverschwendung     Pakete  die auf der Firewall besser nicht installiert werden sollten  sind in der zweiten  Spalte mit   deinst    gekennzeichnet  So sollte eine Firewall z  B  feste IP Adressen einge   tragen haben und diese nicht von einem DHCP Server beziehen  weshalb d
27. SE Linux mit     gt  zcat  usr share doc howto en txt BootPrompt HOWTO gz   less  bzw  unter Debian mit   gt  zcat  usr share doc HOWTO en txt BootPrompt HOWTO gz   less    anzeigen lassen kann     Auch die Kernelquellen enthalten eine Aufstellung von Parametern  Sie finden sie im  Unterverzeichnis Documentation kernel parameters txt     F  r ISDN Karten kann es allerdings sinnvoll sein  sich die aktuelle Dokumentation unter     usr src linux Documentation isdn     Hardware Integration durch Kompilation   155       firewall        2006 1 4     15 26     page 156      175 i    anzusehen  Die meisten ISDN Karten  z B  USR Sportster International TA  Teles    ELSA  und Fritz Karten  werden dabei vom HiSax Treiber unterstiitzt  dessen Parameter  ausf  hrlich in der Datei README  HiSax beschrieben sind  Dort wird auch ausgef  hrt   welche Kartentreiber nur als Modul geladen werden k  nnen und welche auch direkt in  den Kernel kompiliert werden d  rfen     F  r Netzwerkkarten lauten die Parameter unabh  ngig von der verwendeten Karte ent   weder   ether  lt irg gt       lt iobase gt      lt name gt    Kernel 2 2 und 2 4  oder   netdev  lt irg gt   lt io gt   lt mem_start gt   lt mem_ends gt      lt name gt    Kernel 2 6   Wobei bei netdev der Parameter  lt mem_start gt  teilweise auch benutzt wird   um dem Treiber andere Dinge mitzuteilen     Dies k  nnte z  B  so aussehen   ether 5 0x300 eth0 ether 9 0x340 eth1    Hiermit w  rden zwei Netzwerkkarten f  r die Interfaces etho und et
28. agegen ein paar mehr  Schritte n  tig     SuSE 9 3    Hier reicht es  eine Zeile in der exim Konfigurationsdatei zu   ndern    ffnen Sie dazu   etclexim exim conf  Dort finden Sie die folgende Zeile     never users   root    Diese Zeile bewirkt  da   E Mails an root nicht zugestellt werden  Da wir dies aber wol   len  sollten wir sie folgenderma  en   ndern     never_users      Debian 3 1    Im Gegensatz zu SuSE hat man bei Debian den Exim mit Standardeinstellungen kom   piliert  Daher kennt der Dienst eine feste Liste von Benutzerkonten  an die unabh  ngig  vom Inhalt der Konfigurationsdatei niemals direkt E Mails zugestellt werden  Diese Liste  enth  lt standardm    ig root     Konfiguration des Mailservers Exim   121       firewall        2006 1 4     15 26     page 122      141    Um E Mails  die an root adressiert sind  zustellen zu k  nnen  mu   ein Benutzerkonto  definiert werden  das alle E Mails erh  lt  die f  r root bestimmt sind  Welches Benutzer   konto dies ist  wird in der Datei  etc aliases definiert  Sie enth  lt Zeilen der Art     Alias  Benutzerkonto    Mail  die an Alias adressiert ist  wird dabei an Benutzerkonto zugestellt     Wir m  ssen hier nach der Zeile suchen  die definiert  was mit der E Mail f  r root ge   schieht       grep    root     etc aliases  root  user    In diesem Fall wird die E Mail an das normale Benutzerkonto weitergeleitet  das wir  w  hrend der Installation angelegt haben  Wenn wir uns regelm    ig unter diesem Benut   zerkonto anm
29. allation auf  um sicherzugehen   das Sie auch wirklich von demselben Grundzustand ausgehen  den ich im folgenden  beschreibe  Auf meinem Debiansystem wurden ansonsten die Vorgaben des installierten  2 2er Kernels   bernommen     Nach diesen Vorbereitungen k  nnen wir nun beginnen  den neuen Kernel zu konfigurie   ren  Dies geschieht mit dem folgenden Befehl       make menuconfig    Mit ihm starten Sie eine men  gesteuerte Anwendung  in der Sie jetzt gezielt ausw  hlen  k  nnen  welche Eigenschaften Ihr zuk  nftiger Kernel aufweisen soll     Wenn Sie dies das erste Mal machen oder vorher nur 2 4er Kernel kompiliert haben   dann empfehle ich Ihnen dringend  jeden einzelnen Punkt durchzugehen  Es ist durch   aus m  glich  sich einen Kernel ohne jede Unterst  tzung f  r Tastatur und Monitor zu  kompilieren     Sie sollten sicherstellen  da   alle ben  tigten Komponenten vom Kernel unterst  tzt wer   den  Andererseits sollten Sie aber keine unn  tigen Features einkompilieren  Wenn Sie im  Einzelfall nicht wissen  wof  r eine Option gut ist  k  nnen Sie sich mit       einen Hilfetext  anzeigen lassen  Dort wird dann in der Regel eine kurze Erkl  rung der Option und eine  Empfehlung der Art   If unsure say    Yes       gegeben     Als erstes k  nnen wir unter   Code maturity level options   einstellen  ob wir auch Funk   tionalit  ten im Kernel w  nschen  die noch nicht ausgereift sind  Diese Funktionalit  ten  sind teilweise im Alpha Stadium und k  nnen durchaus das System instabil
30. als unser Standarddateisystem auch vom Kernel unterstiitzt werden     Zwar werden wir auf dem Rechner nicht zus  tzlich ein Windows NT installiert haben  und daher auf Unterst  tzung f  r NTFS verzichten k  nnen  aber eine Unterst  tzung f  r  Disketten und CDs  die unter einem Microsoft Betriebssystem formatiert wurden  ist  manchmal praktisch  Allerdings war sowohl VFAT  als auch Joliet Unterst  tzung stan   dardm    ig angew  hlt     Wir sollten aber keine Netzwerkdateisysteme wie z B  SMB  Windows Freigaben  oder  NFS  das Unix   quivalent  in den Kernel kompilieren  Diese haben auf einer Firewall  nichts zu suchen  da die von ihnen benutzten Protokolle inh  rent unsicher sind     Filesystems  Second Extended fs Support Ja  Kernel automounter version 4 support Nein  Network File Systems alle Unterpunkte abw  hlen  Kernelkompilation    Nachdem wir festgelegt haben  wie der zuk  nftige Kernel aussehen soll  m  ssen wir ihn  nun noch kompilieren  Mit den Kerneln der Serie 2 6 wurde auch die Kernelkompilation    berarbeitet  Daher wird sie im folgenden in einem eigenen Abschnitt besprochen  Die  Kernel der Serie 2 2 und 2 4 unterscheiden sich hingegen nicht im Vorgehen und werden  daher hier zusammen beschrieben     Kernel der Serien 2 2  und 2 4   Zuerst werden mit    make dep   Abh  ngigkeiten   berpr  ft  worauf dann mit    make clean    die   berreste fr  herer Kompilationen gel  scht werden     Nun folgt die eigentliche Kompilation des Kernels  Dieser kann in zwei Formen
31. amit k  nnen nur dann Optionen eingegeben werden  wenn der Benut   zer das Pa  wort kennt  Da dieses nur selten gebraucht und dar  ber hinaus im Klartext  gespeichert wird  sollte es sich dabei keinesfalls um das Root Pa  wort handeln  Auch  sollte die Datei  etc lilo conf nur f  r root lesbar sein     Beachten Sie aber bitte  da   die Konfiguration erst wirksam wird  wenn Sie den Aufruf     sbin lilo    ausf  hren  Ohne diesen Befehl findet der Bootloader nach einer   nderung seine Konfi   gurationsdatei nicht mehr  und der Bootvorgang miflingt     Zus  tzliche Details zu LiLo und der  etc lilo conf finden Sie in Kapitel 8  Unterabschnitt  LiLo  ab Seite 159     Init    Init ist der erste Proze    der vom Kernel gestartet wird  Er startet dann direkt oder indi   rekt alle weiteren Prozesse  Modernere Versionen von init erlauben es  mehrere Varian   ten vorzugeben  die beschreiben  welche Prozesse gestartet werden sollen  Diese werden  Runlevel genannt     Jedem Runlevel ist der Aufruf eines Skripts zugeordnet  Dieses sorgt daf  r  da   diejeni   gen Dienste gestartet werden  die diesem Runlevel zugeordnet sind  Es ist auch m  glich   im laufenden Betrieb mit init  lt Runlevel gt  in einen anderen Runlevel zu wechseln  Dies  f  hrt dazu  da   die Dienste  die dem alten Runlevel zugeordnet sind  beendet und die  Dienste des neuen Runlevels gestartet werden     Des weiteren wird f  r jeden Runlevel angegeben  welche Terminals gestartet werden sol   len  Dabei kann es sich um di
32. anderen Systeme installiert  sein  Es soll daher der Hinweis gen  gen  daf der Befehl man lilo conf weitere Informa   tionen zu den hier nicht behandelten Parametern liefert  Alternativ kann auch in der  Datei  usr  share  doc packages lilo README nachgesehen werden     Die globalen Optionen password und restricted kennen wir ja schon aus dem Kapitel  8  Unterabschnitt LiLo  ab Seite 125  Dabei m  chte ich ausdr  cklich darauf hinweisen     Hardware Integration durch Kompilation   159       firewall        2006 1 4     15 26     page 160      179    da   das Pa  wort zwar durchaus vern  nftig gew  hlt ist  von Ihnen aber unter keinen  Umst  nden benutzt werden sollte  da es hier in diesem Buch steht   8    Die anderen Parameter haben die folgenden Bedeutungen     boot Dieser Parameter gibt an  wohin LiLo installiert werden soll    bliche M  glich   keiten w  ren der Master Boot Record  MBR  der ersten Partition  s  0    eine Floppy   boot  dev fdo  oder der Bootsektor einer beliebigen Partition  Die letzte Varian   te wird normalerweise genutzt  wenn schon ein Bootloader installiert ist  z B  f  r  Windows NT   der nicht durch LiLo ersetzt werden soll     compact Ist diese Option vorhanden  so werden mehrere Sektoren gleichzeitig gelesen   Dies bringt einen Geschwindigkeitsvorteil  der vor allem bei Floppy Installationen  sp  rbar ist  Es wird aber nicht garantiert  da   dies auch auf allen Systemen funktio   niert     lba32 Ohne diese Option m  ssen sich alle Dateien  die Li
33. auf dem aktuellen Stand  sind  Eine Aufstellung der ben  tigten Programmversionen finden Sie in der Datei     lt Inst  Verzeichnis gt  Documentation Changes    Sehen Sie dabei genau hin  was modprobe  V anzeigt  Die Ausgabe sollte die Bezeich   nung module init tools enthalten  Kernel der Serien 2 2 und 2 4 benutzen statt dessen  die modutils  Diese k  nnen aber keine Module eines Kernels der Serie 2 6 laden  Dar     ber hinaus haben die module init tools derzeit eine sehr niedrige Versionsnummer   die deutlich unter der der aktuellen modutils liegt  Wenn man nicht genau hinsieht und  nur die Versionsnummer wahrnimmt  dann kann man leicht davon ausgehen  da   man  die richtige Version hat  obwohl dies nicht der Fall ist     Haben Sie bereits vorher versucht  einen Kernel zu konfigurieren  dann bietet es sich an   als erstes einen definierten Ausgangszustand herzustellen  Mit      make clean  werden eventuelle Reste einer fr  heren Kompilation entfernt  Benutzen Sie dagegen      make mrproper    so wird zus  tzlich auch eine eventuell vorhandene Konfiguration aus einem fr  heren  Versuch gel  scht        11 Eine   bersicht  welche Targets sie make noch geben k  nnen  erhalten Sie  wenn Sie   make help   eingeben     144   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 145      164    Danach k  nnen Sie mit folgendem Aufruf eine Standardkonfiguration generieren     make defconfig    Rufen Sie den Befehl ruhig auch bei der allerersten Inst
34. azu die  options Zeilen  Im obigen Beispiel wird mit der Zeile    options ne irg 5    dem Modul ne  f  r NE2000 kompatible Karten  der Interrupt 5 als Parameter mitge   geben  Besitzt man mehrere NE2000 Karten  so kann man auch die Parameter f  r die  einzelnen Karten durch Komma getrennt angeben     options ne io 0x300 0x320 irq 5 7  Weitere Beispiele f  r Optionen finden sich    im Handbuch zu SuSE Linux   in der mit der Distribution mitgelieferten  etc modules conf bzw   etc modprobe conf     in der Datei  usr src linux Documentation modules   in den Dateien  usr src Linux Documentation isdn README  lt Treiber gt     und    in der Datei  usr src linux Documentation networking net modules     Hardware Integration durch Kompilation   163       firewall        2006 1 4     15 26     page 164      183    M  chte man eine Auflistung aller momentan geltenden Zuordnungen erhalten  so kann  dies mit      modprobe  c    erreicht werden     Schlie  lich existiert noch eine Reihe von weiteren Befehlen  von denen insbesondere die  folgenden interessant sind  weil sie sowohl in der Datei  etc modules conf als auch in der   etc modprobe conf g  ltig sind     include  lt Datei gt  Der Inhalt der Datei wird ebenfalls eingelesen  als ob er in dieser Datei  st  nde  Zumindest in der  etc modprobe conf kann hier auch ein Verzeichnis angege   ben werden  In diesem Fall werden alle Dateien in diesem Verzeichnis eingebunden     install  lt module gt   lt command gt  Wenn modprobe angewiesen wir
35. ch beide Protokolle einkompilieren und dann ausprobieren  mit welchem  Protokoll Ihnen der Verbindungsaufbau gelingt     Passive Cards  HiSax Support for EURO DSS1 Ja  HiSax Support for german 1TR6 Ja    Nun m  ssen Sie den geeigneten Treiber f  r Ihre Karte ausw  hlen  Wenn Sie eine  Fritz Card PCI benutzen  so m  ssen Sie wissen  da   AVM vor geraumer Zeit eine neue  Version mit der Versionsnummer 2 herausgebracht hat  Diese Karte unterscheidet sich  von ihrer Vorg  ngerin deutlich  so da   der klassische Treiber f  r die Fritz Card PCI mit  der Fritz Card PCI v2 nicht mehr funktioniert  Es existiert aber ein neuer experimen   teller Treiber  mit dem diese Karte problemlos funktioniert  Dieser Treiber hat auch den  Vorteil  da   er im Gegensatz zu seinem Vorg  nger nicht als Modul kompiliert zu werden  braucht     AVM Fritz Card PCI PCIv2 PNP Ja  support  EXPERIMENTAL     Unter   Input device support   werden die Eingabeger  te konfiguriert  Hier sollten wir  darauf achten  da   unsere Tastatur und gegebenenfalls Maus unterst  tzt wird     Input device support    serial port line discipline Ja  Mice Ja  PS 2 mouse Ja  Serial Mouse Ja  falls vorhanden   Misc Ja  PC Speaker support Ja    Hardware Integration durch Kompilation   149       firewall        2006 1 4     15 26     page 150      169    Nachdem wir die Ger  tetreiber ausgew  hlt haben  k  nnen wir nun einstellen  welche  Dateisystem Typen wir unterstiitzen wollen  Zumindest das Second Extended File Sy   stem sollte 
36. ckup des alten Kernels zu erzeugen und den  Bootloader zu konfigurieren  siehe Kapitel 8  Unterabschnitt Installation des Kernels  ab  Seite 154   So kann man das System immer noch mit dem alten Kernel booten  wenn bei  der Konfiguration des neuen Kernels ein Fehler begangen wurde     Alternativ besteht auch die M  glichkeit  mit make zdisk oder make bzdisk den Kernel    roh   auf eine Diskette zu schreiben und dann von dieser zu booten  Hierbei wird der  Bootloader nicht benutzt  Dies bietet die M  glichkeit    mal eben   eine neue Kernelkonfi   guration auszuprobieren  ohne bleibende Sch  den am System zu hinterlassen  Allerdings  k  nnen dem Kernel bei dieser Variante keine Parameter mitgegeben werden     Haben Sie schon einen Kernel kompiliert und besitzen eine Backup Konfiguration  so  k  nnen Sie nach kleineren   nderungen auch make zlilo oder make bzlilo benutzen   Sie besitzen ja im Zweifelsfall den Backup Kernel  falls der neukompilierte nicht booten  will  Kompilieren Sie allerdings einen neuen Kernel  weil sich die Hardware grundlegend  ge  ndert hat  so sollten Sie vorher sicherstellen  da   der Backup Kernel immer noch in  der Lage ist  das System soweit hochzufahren  da   ein neuer Kernel kompiliert werden  kann     Bei der Benutzung von make  b zlilo ist auch zu beachten  da   der Automatismus so  eingerichtet ist  da   der neue Kernel unter dem Namen vmlinuz nach   INSTALLPATH  kopiert wird  Existiert dort bereits eine Datei vmlinuz  so wird diese vorher in vm
37. d  das angegebene Modul  zu laden  f  hrt es statt dessen den Befehl  lt command gt  aus  Das kann grunds  tzlich  jeder Befehl sein  den Sie auf der Kommandozeile ausf  hren k  nnen     remove  lt module gt   lt command gt  Dies ist das Gegenst  ck zu install  Hier wird der Befehl  ausgef  hrt  wenn versucht wird  das Modul wieder zu entladen  z  B  mit rmmod oder  mit modprobe  r      In der Datei  etc modules conf sind noch eine Reihe weiterer Befehle m  glich  diese wur   den aber kaum genutzt und sind beim Umstieg auf die neue Modulverwaltung aufgege   ben worden  um eine klarere und einfacher zu verstehende Konfiguration zu schaffen     Laden der Module durch ein Runlevel Skript    Haben wir den   Loader f  r Kernelmodule   deaktiviert  so m  ssen wir eventuell ben     tigte Module von Hand laden  Dies kann geschehen  indem entsprechende modeprobe   Befehle in ein entsprechendes Runlevel Skript eingebunden werden  F  r die Einbindung  einer NE2000 Karte und einer Fritz Card PCI Version 2 k  nnte es folgenderma  en aus   sehen       bin sh    modload  start stop   Ein kleines Skript  das die n otigen Module l adt    start  Laden  stop  Entladen aller unbenutzten Module    Copyright  C  2003 Andreas G  Lessig    Lizenz  GPL v2 oder h ohere Version          164   Kapitel 8  Installation der Software       Firewall       2006 1 4    15 26    page 165     184         BEGIN INIT INFO     Provides  modload    Required Start   Should Start   Required Stop       Should Stop     
38. d wm3TcQ7  default 0   timeout 30        Konfigurationen  title Linux   kernel  hd0 0  boot vmlinuz root  dev hda3    initrd  hdo 0  boot initrd    title Floppy  lock  root  fdo   chainloader  1       Die Datei beginnt mit den globalen Optionen  Dabei legt password ein Pa  wort fest  ohne  das die Konfiguration nicht ver  ndert werden kann und keine zus  tzlichen Parameter  beim Booten angegeben werden k  nnen     default gibt an  welche Konfiguration automatisch gebootet wird  wenn die in timeout  angegebene Anzahl von Sekunden verstrichen ist  ohne da   der Benutzer eine Konfigu   ration ausgew  hlt hat     Hardware Integration durch Kompilation   157       firewall        2006 1 4     15 26     page 158      177    Nun folgen die einzelnen Konfigurationen  Die Parameter bedeuten dabei im einzelnen     title leitet eine Konfiguration ein  Der Text hinter dem Schl  sselwort wird im Bootmen      angezeigt     lock sollte immer direkt nach title angegeben werden  Dieser Parameter bewirkt  da      der Men  punkt abgebrochen wird  wenn das Pa  wort noch nicht eingegeben wurde     kernel gibt bei Linux Systemen an  welcher Kernel verwendet werden soll  Gefolgt wird    er von der Angabe des zu verwendenden Kernels sowie den Parametern  die dem Ker   nel   bergeben werden sollen  Der wichtigste Parameter ist hierbei root  dev hda3   der angibt  welche Partition vom Kernel als Wurzelverzeichnis gemountet werden  soll  Aber auch die in Kapitel 8  Unterabschnitt Bootoptionen  ab Seite
39. der Software       firewall        2006 1 4     15 26     page 163      182    Listen wir den Inhalt des Verzeichnisses  dev auf  so werden wir Eintr  ge folgender Art  finden     brw rw rw  1 root disk 2  O Dec 11 18 20 fdo  crw rw rw  1 root tty 3  48 Dec 11 18 20 ttySo    Bei dem ersten Eintrag handelt es sich um das erste Diskettenlaufwerk  Es ist ein Block   Device mit der Major Nummer 2 und der Minor Nummer 0  Der zweite Eintrag steht  f  r die erste serielle Schnittstelle  Sie ist ein Character Device mit der Major Nummer 3  und der Minor Nummer 48     Auf dieselbe Weise funktionieren auch die alias Eintr  ge  Ein Eintrag der Art  alias block major 2 floppy    bewirkt  da   f  r den Zugriff auf alle Devices mit der Major Nummer 2 das Modul floppy  geladen wird  Der Eintrag    alias char major 10 1 psaux    gilt dagegen nur  wenn auch die Minor Nummer  hier 1    bereinstimmt  Das ist in die   sem Fall auch sinnvoll  da die Major Nummer 10 diverse M  use zusammenfa  t  die  von der normalen PS 2 Maus bis zur Atari Maus reichen  Die unterschiedlichen Typen  werden dabei anhand der Minor Nummer unterschieden  Es ist also naheliegend  den  PS 2 Treiber nicht f  r Atari M  use zu laden    Ethernet Devices  eth     stellen dabei einen Sonderfall dar  F  r sie existieren keine Ein   tr  ge der Art  dev etho  Hier wird statt der Angabe von Major  und Minor Nummer der  Device Name  z  B  etho  angegeben     Sollen dem Modul noch spezielle Parameter   bergeben werden  so dienen d
40. e Kapitel 8  Unterabschnitt Init  ab Seite 125   Wenn wir die daf  r n  tigen  Links erzeugen  sollten wir darauf achten  da   das Skript vor dem gestartet wird  welches  das Netzwerk startet        Unter SuSE k  nnen wir das Skript wie schon procconf mit insserv installieren     Konfiguration der  etc fstab  Die Datei  etc fstab beschreibt  welche Partitionen und Medien auf welche Verzeichnisse  gemountet werden sollen  Die Datei enth  lt Zeilen  die folgende Form haben    lt Dev gt   lt Mountp  gt   lt Fs gt   lt Opt  gt   lt Dump gt   lt Pass gt   Die einzelnen Felder haben folgende Bedeutung   Dev gibt das Device an  das gemountet werden soll   Mountp  beschreibt das Verzeichnis  auf das das Device gemountet werden soll     Fs legt das verwendete Dateisystem fest  Neben den g  ngigen Linux Dateisystemen  ext2  ext3  reiserfs und xfs existieren u  a  noch folgende Dateisysteme     auto weist den Kernel an  selber herauszufinden  welches Dateisystem sich auf dem  Datentr  ger befindet     iso9660 wird auf CDs verwendet     21 Debian  verlinkt unter  etc rcS d S40networking    Hardware Integration durch Kompilation   171       firewall        2006 1 4     15 26     page 172      191    proc wird nur fiir den Eintrag fiir  proc verwendet     vfat Das normale FAT Dateisystem mit Unterst  tzung f  r lange Dateinamen     Opt  enth  lt Optionen f  r den mount Befehl  Davon existieren eine ganze Reihe  die in  der Manpage zu mount beschrieben sind  Hier sollen nur die wichtigsten 
41. e der Eintrag folgender   mafsen aus     append  hisax 27 2 HiSax ether 5 0x300 eth0 ether 9 0x340 eth1     Ist die Konfiguration abgeschlossen  so mu   ein neuer Bootloader erzeugt werden  Dies  mu   jedesmal wieder geschehen  wenn ein neuer Kernel erzeugt oder die Konfigurations   datei ver  ndert wurde  Dies veranlassen wir mit dem Aufruf       sbin lilo  Added 1    Added lold    Die Ausgaben zeigen  da   LiLo nun die Konfigurationen 1 und lold kennt  wobei der  Stern 1 als die Standardkonfiguration kennzeichnet  die automatisch gew  hlt wird  wenn  der Benutzer nicht manuell eine andere Wahl trifft     Eintrag in die modules conf bzw  modprobe conf    Werden Module oft manuell aufgerufen  kann es sinnvoll sein  ben  tigte Parameter in  einer zentralen Konfigurationsdatei zu speichern  Wichtiger wird so eine Datei aller   dings  wenn Module automatisch bei Bedarf geladen werden  Hier wird bei jedem Zu   griff auf ein St  ck Hardware  wie z  B  eine Karte oder ein angeschlossenes Ger  t  der Be   fehl modprobe mit der Bezeichnung eines sogenannten Devices aufgerufen  Diese Device   Bezeichnung beschreibt nur  um was f  r eine Art Ger  t es sich handelt  z  B  Maus  erste  Netzwerkkarte oder etwas   hnliches   sie legt aber nicht fest  welches Modul hierzu zu  laden ist und welche zus  tzlichen Optionen  z  B  IRQ  Port  daf  r n  tig sind     Hardware Integration durch Kompilation   161       firewall        2006 1 4     15 26     page 162      181    Aus diesen Gr  nden be
42. e normalen virtuellen Terminals handeln  die man zum  lokalen Arbeiten nutzt  es k  nnen auf diese Weise aber auch Modemzug  nge auf den  seriellen Anschl  ssen aktiviert werden     Gesteuert wird der ganze Vorgang   ber die Datei  etc inittab  In dieser wird unter ande   rem festgelegt  in welchen Runlevel das System nach dem Booten schalten soll  welches    Der Bootvorgang   125       firewall        2006 1 4     15 26     page 126      145    Skript zur Initialisierung gleich nach dem Start von init ausgef  hrt und welches Skript  beim Wechsel in einen bestimmten Runlevel gestartet werden soll  Dar  ber hinaus k  n   nen auch noch Programme definiert werden  die bei bestimmten Ereignissen oder Tasta   tureingaben aktiviert werden  z  B  Stromausfall   lt Ctrl gt  lt Alt gt  lt Del gt       Das jeweilige Skript f  r einen Runlevel dient dazu  bestimmte Dienste zu starten bzw   nicht mehr ben  tigte Dienste des vorherigen Runlevels zu beenden  Normalerweise exi   stiert dazu f  r jeden Runlevel ein eigenes Unterverzeichnis  In diesem befinden sich  Skripte  deren Name mit einem   K    f  r kill  oder   S    f  r start  beginnt     Soll das System nun in einen anderen Runlevel wechseln  so wird das Skript des Run   levels in der Regel alle diejenigen Skripte aufrufen  deren Name mit   K   beginnt und  die sich entweder im Verzeichnis des aktuellen Runlevels  SuSE  oder im Verzeichnis des  neuen Runlevels befinden  Debian   Als Parameter wird stop   bergeben  Danach werden  al
43. eded config file and read it  GPM_SYSCONFIG  etc sysconfig mouse   test  r  GPM_SYSCONFIG    exit 6      GPM_SYSCONFIG      Check for existence of needed values from  GPM_SYSCONFIG  test   MOUSEDEVICE   a   MOUSETYPE     test   GPM_PARAM     exit 6    Das Skript bindet die Datei  etc sysconfig mouse ein  In der Konfigurationsdatei werden  die Variablen MOUSEDEVICE  MOUSETYPE und GPM_PARAM definiert  Dabei kann  in der ersten Variablen der Mauseingang festgelegt werden  w  hrend die zweite Variable  das Kommunikationsprotokoll mit der Maus  enthalten kann  Alternativ kann auch ein  kompletter Satz Parameter in GPM_PARAM eingetragen werden       Shell functions sourced from  etc rc status     acl       etc rc status    Anschlie  end wird das Skript rc status eingebunden  das Funktionen definiert  mit  denen ein R  ckgabewert verwaltet werden kann  So   berpr  fen rc_check und rc_status  den R  ckgabewert des zuletzt aufgerufenen Programms und speichern diesen in einer  internen Variablen  rc_status kann dabei auf Wunsch den numerischen Status auch als  Klartext ausgeben  Option  v   rc_exit dient andererseits dazu  das Skript zu beenden  und den gespeicherten R  ckgabewert an das aufrufende Programm zur  ckzugeben       First reset status of this service  rc_reset    Als erste der neu definierten Funktionen wird aber rc_reset aufgerufen  um den gespei   cherten Riickgabewert auf einen definierten Ausgangszustand   alles o  k    zu setzen     case   1  in  start   echo  n  Start
44. ein  Das hei  t  erst wird dieses Skript gestoppt  dann die Skripte  welche die  genannten Facilities bereitstellen     Should Stop  optional  Wie bei Required Stop werden Skripte  die diese Facilities be   reitstellen  nach diesem Skript gestoppt  Existiert aber kein Skript  das die jeweilige  Facility bereitstellt  so wird sie ignoriert     Default Start In diesen Runleveln soll das Skript gestartet werden    Default Stop In diesen Runleveln soll das Skript nicht laufen    Short Description  optional  Eine einzeilige Beschreibung der Funktion    Description Eine ausf  hrliche Beschreibung  Diese kann   ber mehrere Zeilen gehen   Folgezeilen m  ssen mit     lt Tab gt    beginnen    Header  die mit    optional    gekennzeichnet sind  d  rfen dabei fehlen     Facilities stehen dabei f  r Systemdienste  Grunds  tzlich k  nnen alle Runlevel Skripte mit  dem Provides  Header erkl  ren  da   sie eine bestimmte Facility bereitstellen     Eine Sonderrolle spielen die System Facilities  Hierbei handelt es sich um Dienste  deren  Name standardisiert ist  Sie stellen Standarddienste bereit  die von vielen Anwendungen  ben  tigt werden     Die Linux Standard Base definiert in der Version 1 2 die folgenden System Facilities    local_fs Die lokalen Dateisysteme  z  B  Festplatten  wurden gemountet    network Das Netzwerk ist aktiv      portmap Der Portmapper ist gestartet      remote_fs Die Netzwerklaufwerke wurden gemountet     128   Kapitel 8  Installation der Software       firewall   
45. einen Kernel der Serie 2 6  wie er mitlerweile von SuSE eingesetzt wird  Aus diesem  Grund habe ich die Konfiguration des Kernels dreimal beschrieben  je eine Version f  r  Kernel der Serie 2 2  2 4 und 2 6  Sie k  nnen getrost die Abschnitte ignorieren  die nicht  zu dem von Ihnen eingesetzten Kernel passen     Bevor wir aber beginnen  hier noch ein paar Hinweise  die auf meinen eigenen Erfahrun   gen beruhen     e Gehen Sie immer von einer m  glichst simplen Grundkonfiguration aus  Es ist m  g   lich  die Konfiguration so zu verbasteln  da   danach z B  das Abschalten der Unter   st  tzung f  r Module dazu f  hrt  da   der Kernel beim Booten pl  tzlich ohne jegliche  Meldung abbricht und das System einfach stehenbleibt  Verwenden Sie also make  mrproper beim Kernel 2 2 oder 2 4 und die Befehle make clean und make defconfig  beim Kernel 2 6        Bei Problemen sollten Sie erst einmal einen aktuellen Original Kernel von  ftp   ftp kernel org oder ftp   ftp de kernel org verwenden  Die Distributionen liefern  teilweise stark modifizierte Quellen aus  W  hrend z  B  SuSE diverse experimentel   le Zusatzfunktionen in den Kernel integriert  entfernt Debian Teile des Kernels  die  nicht der Debian Philosophie entsprechen     e Debian 3 0  Woody  ist nicht f  r die Kompilation eines 2 6er Kernels vorbereitet   Es spricht aber nichts dagegen  einen 2 4er Kernel zu verwenden  Wollen Sie einen  2 6er Kernel verwenden  so m  ssen Sie mehrere Softwarepakete auf den aktuellen  Stand bri
46. einsetzt  so ist ein schlanker monolithischer  Kernel  der genau die ben  tigten Treiber enth  lt  sicherlich die effizienteste L  sung  Dies  bedeutet aber auch  da   der Kernel bei jeder neu installierten Hardware  Drucker  Zip   Laufwerk  SCSI Adapter oder   hnlichem  neu kompiliert werden mu       Alternativ k  nnte man zu Beginn einen modularen Kernel kompilieren  wobei man die  Unterst  tzung f  r jede Art von Hardware  die man sp  ter einmal anschaffen k  nnte  als  Modul kompiliert  Dies erlaubt es  die Unterst  tzung f  r bestimmte Ger  te im laufenden  Betrieb an  oder abzuschalten  Dies geschieht  indem Code dynamisch geladen wird   der dann als Teil des Kernels arbeitet  solange er gebraucht wird  Wird er nicht mehr  ben  tigt  wird der von ihm ben  tigte Speicherplatz wieder freigegeben     Auf diese Weise kann man einen generischen Kernel zu erstellen  der auf einer Vielzahl  von Systemen einsetzbar ist  indem man einfach bei Bedarf die n  tigen Module nach   l  dt  um spezielle Hardware zu unterst  tzen  Die Alternative w  re  einen riesigen Kernel  zu kompilieren  der alle nur denkbaren Treiber bereits enth  lt  Gerade f  r Rechner mit  begrenztem Hauptspeicher ist diese L  sung aber nicht besonders g  nstig  Daher erfreuen  sich modulare Kernel bei den Herstellern von Distributionen gro  er Beliebtheit     Dieses Vorgehen hat aber auch Nachteile  So existieren Module  die die Sicherheit des Sy   stems aush  hlen  indem sie   hnliche Funktionen erf  llen wie e
47. elden  dann k  nnen wir hier abbrechen     Falls wir uns aber in der Regel nur kurz am System anmelden  um es zu administrieren   so kann es sein  da   wir das normale Benutzerkonto gar nicht verwenden  In diesem Fall  kann es sinnvoll sein  eine Mailbox f  r root als symbolischen Link des Benutzerkontos  anzulegen       cd  var spool mail    In  s user root    Testen der ge  nderten Konfiguration    Wir k  nnen einfach testen  ob unsere   nderungen funktionieren  indem wir uns selbst  eine E Mail schicken       sendmail root  subject  test    Test  1  2  3    Die Leerzeile ist dabei wichtig  Wir m  ssen auch darauf achten  da   die letzte Zeile nur  aus einem Punkt ohne zus  tzliche Leerzeichen besteht     Nun k  nnen wir nachsehen  ob die E Mail angekommen ist  Dazu verwenden wir den  Befehl mail  Dieses E Mail Programm ist zwar archaisch und f  r normale Zwecke kaum  zu ertragen  f  r einen kurzen Check aber ausreichend       mail   Mail version 8 1 2 01 15 2001  Type   for help     var mail root   21 messages 1 new 21 unread    gt N 21 root gonzales Tue Jul 26 21 53 15 397 test   amp     Die E Mail ist angekommen   Mit dem Befehl q oder quit k  nnen wir nun mail verlassen     1 Das Beispiel stammt von einem Debian Rechner  daher werden Sie auf einem SuSE Rechner vermutlich  eine andere Versionsnummer sehen  ansonsten verhalten sich die mail Implementationen aber gleich     122   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 123    
48. ellt  da   in der Tabelle fiir halboffene Verbindungen kein Ein   trag fiir eine neue Verbindungsanfrage vorhanden ist  so sendet er als eigene Folge   nummer einen speziellen Wert  Syncookie   der aus der Adresse und dem Port von  Absender und Server  einem internen Z  hler und der Folgenummer der Anfrage ge   wonnen wurde  Wenn nun das dritte Paket des Anfragenden eintrifft  so kann an   hand der Best  tigungsnummer gepr  ft werden  ob dieses Paket wirklich die Ant   wort auf ein Syncookie darstellt oder ob ein Angreifer versucht  eine Folgenummer  zu erraten  7   Auf diese Weise k  nnen weitere Verbindungen entgegengenommen  werden  obwohl die Tabelle f  r den Aufbau von Verbindungen voll ist     icmp_echo_ignore_broadcasts Wird diese Funktion aktiviert  1   so antwortet der Rech   ner nicht mehr auf ICMP Requests  die nicht an ihn  sondern an alle gerichtet sind   die sich im selben Subnetz befinden  Dies verhindert  da   der Rechner als   Verst  r   ker   f  r ein Flooding mit Ping Paketen dient     Neben diesen generellen Einstellungen k  nnen auch noch gezielt Einstellungen f  r die  einzelnen Interfaces getroffen werden  Dazu befindet sich unter  proc sys net ipv4 conf  jeweils ein Verzeichnis f  r jedes Interface  dem schon eine Adresse mit ipconfig zugewie   sen wurde  Neu eingerichteten Interfaces werden dabei jeweils die Einstellungen zuge   wiesen  die unter dem Verzeichnis defaults eingetragen sind  Dar  ber hinaus existiert ein  Verzeichnis all  Hier vorgenomme
49. er dhcpd nicht  installiert werden sollte     Pakete  die nur auf der DVD  nicht aber den CDs enthalten sind  sind mit    DVD    ge   kennzeichnet     Das Paket exim kollidiert mit dem Paket postfix  weshalb Sie postfix abw  hlen sollten   Sie werden sich jetzt vielleicht fragen  warum ich Ihnen empfehle  einen anderen Mailser   ver zu installieren  als von SuSE vorgesehen  Die Firewall sollte normalerweise nicht als  Mailserver dienen  Dazu sollte man besser einen eigenen Server aufsetzen  Auch wenn  der postfix als sehr sicher gilt  ist es keine gute Idee  zus  tzliche Netzwerkdienste auf  einer Firewall zu betreiben     116   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 117      136    Tabelle 8 1  Pakete der SuSE Installation  Version 9 3                 Serie  Paket Aktion Bemerkung  Dokumentation  binddoc inst  Doku zum Bind  books inst  einige grundlegende B  cher   ber Linux  DVD   fhs inst  der File Hierarchy Standard  DVD   howto inst  die HOWTOs  DVD   man pages inst  zus  tzliche Manpages  rfc inst  Internet Standards  suselinux adminguide_de inst  Administrationshandbuch  suselinux userguide_de inst Benutzerhandbuch  Entwicklung  dbus 1 glib deinst  Bibliothek zu dbus 1  gcc inst  C Compiler  gcc c   inst  C   Compiler  hex inst  Hexdumps erstellen  DVD   kernel source inst  von SuSE modifizierte Kernelquellen  ncurses devel inst  fiir die Kompilierung von Meniiprogrammen  Hardware   Modem  minicom inst  Terminalprogramm 
50. er f  r diverse passive ISDN Karten mu   nicht nur die gew  nschte Kar   te ausgew  hlt werden  es gilt auch sicherzustellen  da   das benutzte D Kanal Protokoll  unterst  tzt wird  Fr  her wurde in Deutschland 1TR6 benutzt  heutzutage ist in ganz Eu   ropa DSS1  auch Euro ISDN genannt  gebr  uchlich  Im Normalfall sollte es daher gen     gen  nur DSS1 zu konfigurieren  Wenn Sie allerdings auf Nummer Sicher gehen wollen   k  nnen Sie auch beide Protokolle einkompilieren     Passive ISDN cards  HiSax Support for EURO DSS1 Ja  HiSax Support for german 1TR6 Ja    Bitte beachten Sie  da   f  r die Fritz Card PCI zwei Treiber existieren  Das liegt daran  da    es mehrere Versionen dieser Karte gibt  Karten  die heutzutage verkauft werden  tragen  die Versionsnummer 2 oder h  her  Diese werden von dem alten Treiber  AVM PNP PCI   Fritz PnP PCI   nicht unterst  tzt  Es gibt einen neuen experimentellen Treiber  den Sie  aktivieren  wenn Sie folgende Einstellung treffen     AVM Fritz Card PCI PCIv2 PNP support Ja    Als letztes k  nnen wir noch einstellen  welche Dateisystem Typen wir unterst  tzen wol   len  Zwar werden wir auf dem Rechner nicht zus  tzlich ein Windows NT installiert ha   ben und daher auf Unterst  tzung f  r NTFS verzichten k  nnen  aber eine Unterst  tzung  f  r Disketten  die unter einem Microsoft Betriebssystem formatiert wurden  ist manch   mal praktisch     Wir sollten aber keine Netzwerkdateisysteme wie z  B  SMB  Windows Freigaben  oder  NFS  das Unix   quiva
51. er mehr     Nach der Installation versucht SuSE  Ihre Netzwerkkarten zu konfigurieren  Zum jetzigen  Zeitpunkt ist es daf  r aber noch zu fr  h  W  hlen Sie deshalb unter   Netzwerkkonfigu   ration   den Knopf     ndern    und l  schen Sie dann unter   Netzwerkschnittstellen   alle  Netzwerkkarten     Unter   Authentifikationsmethode   w  hlen Sie bitte   lokal   etc passwd        118   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 119      138    Debian    Die Installation von Debian beginnt  indem Sie von den Installationsmedien booten     Wenn Sie wie beschrieben alle Netzwerkkabel abgezogen haben  dann wird Debian fest   stellen  da   kein DHCP Server zur Verf  gung steht  um die Netzwerkkarten automatisch  mit IP Adressen zu versorgen     Wenn Sie dann gefragt werden  welche Netzwerk Konfigurationsmethode Sie verwenden  wollen  antworten Sie am besten     Netzwerk unkonfiguriert lassen    Kurz darauf werden Sie gefragt  ob Sie eine PPP Verbindung f  r die Installation ver   wenden wollen  Auch hier sagen Sie besser    Nein    Schlie  lich m  ssen Sie sich f  r eine Methode zur Debian Software Auswahl entscheiden   Nehmen Sie hier    Manuelle Paketwahl    Damit wird nur ein Minimalsatz an Paketen installiert  Welche das sind  wird Ihnen  im folgenden angezeigt  Durch Dr  cken der Taste   g   best  tigen Sie die Auswahl  Wir  werden sie sp  ter noch genauer an unsere Bed  rfnisse anpassen     Werden wir schlie  lich noch gefragt  we
52. erlauben  beliebige Kernel mit be   liebigen Parametern zu booten  sondern z B  auch beliebige Dateien auf der Festplatte  auslesen  Au  erdem enth  lt der Grub einen Editor  mit dem man das Bootmen   um   konfigurieren kann     Um dies zu verhindern  mu   man ein Passwort festlegen  das eingegeben werden mu     um diese Funktionen freizuschalten  Dies geschieht  indem man als erste globale Option  die folgende Zeile einf  gt     password  lt Passwort gt     Zus  tzlich k  nnen wir auch bestimmte Konfigurationen sperren  indem wir direkt hin   ter der jeweiligen title Zeile eine neue Zeile mit dem Befehl lock einf  gen  Wird dieser  Men  punkt ausgew  hlt  ohne da   vorher das Pa  wort eingegeben wurde  so wird die  Bearbeitung des Men  punkts abgebrochen  und der Benutzer findet sich im Men   wie     124   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 125      144    der  Dabei ist es wichtig  da   sich der Befehl direkt in der Zeile unter title befindet  Die  Zeilen werden der Reihe nach abgearbeitet  Stehen also Befehle vor lock  so werden diese  ausgef  hrt     Wir werden in Kapitel 8  Unterabschnitt Grub  ab Seite 157 noch einmal auf den Grub  zur  ckkommen  Dort wird es dann noch einmal um das Anlegen eigener Konfiguratio   nen gehen     LiLo  Um den LiLo zu sichern  mu   die Konfigurationsdatei  etc lilo conf angepa  t werden  In  ihren globalen Optionen sind die Zeilen    password  lt Passwort gt   restricted    nachzutragen  D
53. erw  hnt  werden     auto noauto gibt an  ob die Partition beim Booten gemountet werden soll oder  nicht     nodev verhindert  da   eventuelle Devices auf dem Datentr  ger als solche behandelt  werden     noexec verbietet das Ausf  hren von Dateien auf dem Datentr  ger   nosuid sorgt daf  r  da   das SUID Bit ignoriert wird   ro bewirkt  da   das Dateisystem nur zum Lesen gemountet wird     user erlaubt  daR normale Benutzer das Dateisystem mounten d  rfen  Auf einer  Firewall ist dies nicht so sinnvoll  Auf normalen Systemen macht dies vor allem  bei Wechselmedien Sinn  Diese Option impliziert nodev  noexec und nosuid  Das  Mounten durch normale Benutzer setzt auch voraus  da   der mount Befehl mit  gesetztem SUID Bit installiert ist     Dump ist normalerweise 0  Wenn Sie Backups mit dump machen  steuert diese Zahl  wie  oft die Daten auf diesem Dateisystem gesichert werden     Pass steuert die   berpr  fung des Dateisystems mit fsck  Das Wurzelverzeichnis sollte  hier eine 1 enthalten  andere Dateisysteme eine 2  F  r Wechselmedien ist eine   ber   pr  fung mit fsck in der Regel nicht sinnvoll  Hier sollte man eine 0 eintragen     Normalerweise brauchen wir uns um die Datei  etc fstab nicht zu k  mmern  da diese  bei der Installation automatisch angelegt wird  Nachdem wir jetzt aber einen eigenen  Kernel kompiliert haben  kann es sein  da   einige Eintr  ge nicht mehr funktionieren   Dies gilt insbesondere f  r Wechselmedien  die vom Betriebssystem automatisch beim  Zugriff
54. etztes ausgef  hrt  wird     Hardware Integration durch Kompilation   165       firewall        2006 1 4     15 26     page 166      185    Unter SuSE k  nnen wir uns derartig komplizierte   berlegungen sparen  Hier reicht ein    insserv modload    Die Skripte in diesem Buch haben entsprechende Kommentare  so da   ihre Abh  ngig   keiten untereinander abgebildet sind  Nur beim letzten Skript dieser Kette m  ssen wir  darauf achten  da   wir es in die Kommentare des SuSE Skripts network eintragen  Aber  dazu sp  ter mehr     Konfiguration des  proc Dateisystems    W  hrend der Kernel fr  her  bis 2 0  bei der Kompilation konfiguriert wurde  bestim   men seit der Version 2 2 Variablen sein Verhalten  die von root im laufenden Betrieb  gesetzt werden k  nnen  Dazu dient das virtuelle Verzeichnis  proc sys  In ihm befinden  sich in diversen Unterverzeichnissen Dateien  deren Inhalt die Arbeitsweise des Kernels  ma  geblich beeinflu  t     Obwohl es sich bei ihnen nicht um reale Dateien  sondern nur um ein Abbild bestimmter  Kernelvariablen handelt  kann der Zugriff auf sie mit normalen Programmen zur Datei   bearbeitung erfolgen  Es ist also kein Problem  z  B  das Forwarding von IP Paketen mit  dem Editor des Midnight Commanders anzustellen     Die Dateien  die uns im Rahmen des Firewalling interessieren  finden sich unter   proc sys netlipv4     ip_forward Nur wenn in dieser Datei eine   1   steht  routet der Rechner Pakete zwischen  anderen Rechnern  F  r eine Firewall ist die
55. figuration ausgew  hlt  so wird der festgelegte Kernel geladen und ausge   f  hrt  Dieser beginnt nun damit  alle fest einkompilierten Treiber zu starten und ge   gebenenfalls zu initialisieren  Ist er damit fertig  so startet er ein Programm namens  init    Allerdings bieten die g  ngigen Bootloader dem Benutzer nicht nur die M  glichkeit  vor   her definierte Konfigurationen zu booten  er kann statt dessen auch eigene Parameter    bergeben  Ein denkbarer Parameter w  re dabei    init  bin sh    Damit w  rde der Kernel direkt nach dem Booten statt init eine Shell mit Rootrechten  starten  ohne vorher nach einem Pa  wort zu fragen  Um dies zu verhindern  mu   der  Bootloader so konfiguriert werden  da   nur vorher festgelegte Konfigurationen gestartet   nicht aber eigene Parameter   bergeben werden k  nnen     Im folgenden sehen wir  wie wir dies bei den derzeit g  ngigen Bootloadern tun k  nnen     Grub    Der Grub wird   ber eine zentrale Datei gesteuert    blicherweise handelt es sich dabei  um  etc boot grub menu lst  Jede   nderung  die hier vorgenommen wird  wird dabei au   tomatisch beim n  chsten Bootvorgang wirksam     Die Datei ist dabei folgenderma  en aufgebaut       Globale Optionen gt     title  lt Konfigurationsname    gt    lt Konfigurationsoptionen gt     title  lt Konfigurationsname gt    lt Konfigurationsoptionen gt     Normalerweise kann ein Benutzer eine Eingabezeile aufrufen  auf der er in einer Art  Shell diverse Befehle absetzen kann  die es nicht nur 
56. findet sich unter man bash     132   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 133      152    installation sind alle diese Runlevel gleich eingerichtet und k  nnen nach eigenem  Geschmack mit Leben erf  llt werden  Standardm    ig startet das System im Run   level 2     Die Runlevel Skripte sind auch unter Debian nach dem schon beschriebenen Prinzip  aufgebaut  Sie werden beim Start eines Dienstes mit   start   als Parameter aufgerufen   beim Beenden desselben mit   stop    startproc und killproc unter SuSE entspricht bei  Debian der Befehl start stop daemon     Betrachten wir nun einmal das Skript  etc init d gpm von Debian        bin sh       Start Mouse event server    PIDFILE  var run gpm pid  GPM  usr sbin gpm  CFG  etc gpm  conf    test  x  GPM    exit o    if      id  u       o  J   then  echo  You must be root to start  stop or restart gpm    exit 1   fi    cmd1n   niceness 0    if    f  CFG    then       n   device     then cmdln   cmdln  m  device   fi      n   type     then cmdln   cmdln  t  type   fi      n   responsiveness     then cmdln   cmdln  r  responsiveness   fi     n   sample rate     then cmdln   cmdln  s  sample rate   fi    I reserve the right to throw manpages at anyone who disagrees   if    n   repeat_type     amp  amp      repeat_type      none     then  cmdln   cmdln  R repeat_type   fi  if    n   append     then cmdln   cmdln  append   fi  If both the second device and type are specified  use it   if  
57. genutzt werden  kann  sie am Bootprompt auszuw  hlen     Um nun auch unseren gesicherten Vorg  ngerkernel benutzen zu k  nnen  f  gen wir eine  zus  tzliche Konfiguration an die Datei an  In unserem Beispiel s  he das folgenderma  en  aus     18 Bevor Sie fragen  Nein  ich selbst benutze dieses Pa  wort ebenfalls nicht     19 Es handelt sich dabei um Logical Block Addressing  Hierbei werden die Datenbl  cke auf der Festplatte  einfach durchnumeriert  statt sie als Sektor Lesekopf Zylinder anzugeben     160   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 161      180      Backup Konfiguration  image    boot vmlinuz prev  root    dev hda3  label   lold    Will das System sp  ter nicht mehr booten  so reicht am Bootprompt die folgende Einga   be  um wieder mit dem alten Kernel zu starten     LILO  lold    Am Bootprompt k  nnen wir auch Kernel Parameter eingeben  Das Einbinden einer  Fritz Card PCI Karte der Version 1 s  he dabei folgenderma  en aus     LILO  1 hisax 27 2 HiSax    F  r eine Fritz Card PCI Version 2 ist dagegen kein spezieller Parameter n  tig     Nun wire es sicherlich reichlich unbequem  dies bei jedem Bootvorgang einzugeben   Die lilo conf kennt daher einen Eintrag append  mit dem man all diese Kernelparame   ter   bergeben kann  In unserem Beispiel mu   die entsprechende Konfiguration um den  folgenden Eintrag erweitert werden     append  hisax 27 2 HiSax     Wollen wir zus  tzlich zwei Netzwerkkarten verwenden  so s  h
58. h1 konfiguriert  wel   che die Ports 0x300 und 0x340 sowie die Interrupts 5 und 9 benutzen  Allerdings hat die  Angabe des Interfaces nur geringen Einflu   auf die tats  chliche Vergabe der Bezeichner   Grunds  tzlich werden Netzwerkkarten in der Reihenfolge gefunden  in der ihre Treiber  in den Kernel kompiliert wurden  Die Numerierung erfolgt dann in der Reihenfolge  in  der die Karten erkannt werden     Bei ISDN Karten ist das ganze schon komplizierter  Nicht nur hat jeder Treiber seine  eigenen Parameter  auch f  r den gebr  uchlichsten Treiber HiSax h  ngen die zu   ber   gebenden Parameter von der verwendeten Karte ab  Generell folgen Sie aber hier dem  folgenden Schema  wobei die Zeile der   bersichtlichkeit halber umbrochen wurde     hisax  lt typ   gt   lt dp   gt   lt pa   gt   lt pb   gt   lt pc   gt      lt typ2 gt   lt dp2 gt   lt pa2 gt   lt pbo gt   lt pco gt          lt id   gt   ida gt         F  r eine einzelne ISDN Karte also   hisax  lt typ   gt   lt dp   gt   lt pa   gt   lt pb   gt   lt pc   gt     lt id   gt      Im folgenden finden Sie kurze Erl  uterungen der Parameter     typ Gibt den Kartentyp an  Hersteller  Modell und Ausf  hrung   So hat z B  eine  Fritz PCI Karte der Version 1 den Typ 27  w  hrend eine normale Fritz Karte  ISA   nicht PnP  den Typ 5 hat    dp Legt das Protokoll des D Kanals fest  Fr  her benutzte man in Deutschland 1TR6   dp   1   heute benutzt man in ganz Europa Euro ISDN EDSS1  dp   2      156   Kapitel 8  Installation der Sof
59. hnisse fiir die einzelnen Interfaces  Hier finden wir insbesondere die folgen   den Dateien     forwarding Dieser Parameter sollte in allen Dateien gleich gesetzt sein  Er bestimmt  ob  sich der Rechner eher wie ein Arbeitsplatzrechner oder wie ein Router verh  lt  Au  er     Hardware Integration durch Kompilation   167       firewall        2006 1 4     15 26     page 168      187    dem definiert  proc sys net ipv6 all forwarding  ob eingehende IPv6 Pakete   ber an   dere Netzwerk Interfaces weitergeschickt werden  Es ist im Gegensatz zu IPv4 nicht  m  glich  das Weiterleiten von Paketen f  r einige Interfaces zu aktivieren  fiir andere  aber zu unterbinden     Wenn wir IPv6 Pakete weitervermitteln wollen  so sollten wir in diese Datei   1    schreiben  andernfalls   0       Achtung  Das Schreiben in diese Datei setzt die im folgenden beschriebenen Dateien  auf Standardwerte zur  ck  Wir m  ssen also darauf achten  in welcher Reihenfolge  wir in die Dateien schreiben     accept_ra Enth  lt die Datei eine   1    so werden Router Advertisements akzeptiert  Das  hei  t  ein Protokoll wird genutzt  mit dem automatisch Router im Netzwerk gefun   den und genutzt werden k  nnen  Dies w  rde unsere Firewall unn  tigen Angriffen    ffnen  siehe Kapitel 4  Unterabschnitt Angriffe mittels ICMP  ab Seite 30      accept_redirects Enth  lt die Datei eine   1    so werden ICMP Redirect Pakete akzeptiert  und das Routing wird entsprechend angepa  t  Das sollten wir unbedingt abschalten   s
60. hr n  tig  Daher w  rde ich Ihnen davon  abraten  um so eine m  gliche Schwachstelle gleich von Anfang an auszur  umen     Loadable module support  Enable loadable module support Nein    Allerdings existieren bestimmte Treiber  die nur als Modul funktionieren  Auch mISDN   die neue Unterst  tzung f  r passive ISDN Karten  mu   als Modul kompiliert werden     Ben  tigen Sie so einen Treiber  dann m  ssen Sie nat  rlich Modulsupport anw  hlen  Al   lerdings sollte neue Hardware nicht automatisch beim ersten Zugriff eingebunden wer   den  sondern nur dann  wenn Sie diese explizit aktivieren  indem Sie das Modul laden     Loadable module support  Enable loadable module support Ja  Automatic kernel module loading Nein    Auch der yast unter SuSE Linux erwartet  da Module bei der Konfiguration automa   tisch geladen werden  Dies soll nicht hei  en  da   er nicht benutzt werden kann  wenn die  Treiber in den Kernel kompiliert wurden  es ist aber mit kleineren Anpassungsschwierig   keiten zu rechnen  Wenn Sie aber  wie hier beschrieben  eigene Skripte zur Konfiguration  des Netzwerkes benutzen  so sollte Sie dies nicht betreffen     Als n  chstes sollten wir den richtigen Prozessor einstellen  Standardm    ig ist hier ein  Pentium 4 eingestellt     Processor type and Features  passenden Prozessor anw  hlen    Kommen wir nun zu den Treibern f  r verschiedene Ger  te  Als erstes finden wir Optio   nen f  r Speichermedien     Hierbei ist zu beachten  da   sich die Unterst  tzung f  r CD
61. ie hei  en  also  etc rc lt Runlevel gt  d  Alle Runlevel au  er S werden vom Skript  etc init d rc bear   beitet  das mit dem Runlevel als Argument aufgerufen wird und die K Skripte des neuen  Runlevels gefolgt von den S Skripten des neuen Runlevels aufruft  Dienste werden also  nur dann beendet  wenn dies f  r den neuen Runlevel so vorgesehen ist  Soll ein Dienst  nur in einem Runlevel laufen  so mu   sichergestellt sein  da   in allen anderen Runlevel   Verzeichnissen K Skripte vorhanden sind     Debian benutzt die folgenden Runlevel     Runlevel S Dieser Runlevel sollte unter Debian nicht direkt aufgerufen werden  Statt  dessen sollte Runlevel 1 gew  hlt werden  wenn man in den Single User Mode gehen  will     Das Verzeichnis  etc rcS d ist dem Bootvorgang zugeordnet  Es kann Skripte enthal   ten  die beim Bootvorgang durch  etc init d rcS ausgef  hrt werden  Anschlie  end  f  hrt  etc init d rcS noch Skripte in  etc rc boot aus  Dieses Verzeichnis existiert  aber nur noch aus Kompatibilit  tsgr  nden     Runlevel 0 In diesen Zustand wechselt das System  wenn es heruntergefahren werden  soll  sync halt      Runlevel 6 In diesen Zustand wechselt das System  wenn es neu gestartet werden soll   sync reboot      Runlevel 1 In diesem Zustand ist das Netzwerk abgeschaltet  und es kann nicht zwi   schen virtuellen Konsolen umgeschaltet werden  Single User Mode      Runlevel2 5 Der normale Zustand mit voller Netzwerkunterst  tzung  In der Grund     5 Die Syntax von Shellskripten 
62. iehe Kapitel 4  Unterabschnitt Angriffe mittels ICMP  ab Seite 30      autoconf Diese Datei enth  lt standardm    ig denselben Wert wie accept_ra  Handelt es  sich dabei um eine   1    so werden Router Advertisements ausgewertet  um die eige   nen Netzwerkadressen zu konfigurieren     In dieser Datei sollte unbedingt eine   0    stehen     Schlie  lich kann es noch passieren  da   jede Protokollmeldung der Paketfilter auch auf  der Konsole erfolgt  Dies kann manchmal doch recht irritierend sein  wenn man z B   gerade eine Konfigurationsdatei editiert     Falls man den syslogd nicht falsch konfiguriert hat  siehe Kapitel 9  Abschnitt Das Sy   stemprotokoll  ab Seite 205   so liegt die Ursache vermutlich in einer falschen Einstellung  von     proc sys kernel printk    Diese Datei enth  lt vier Zahlen  die bestimmen  wann Meldungen nicht nur an den sys   logd geschickt  sondern auch direkt auf die Konsole ausgegeben werden     console_log_level Jede Mitteilung mit einer h  heren Priorit  t wird direkt auf die Kon   sole ausgegeben  Dabei gilt  da   die Priorit  t um so h  her ist  je niedriger die Zahl  ist  die diese angibt  Die h  chste Priorit  t ist 0  emerg   die niedrigste 7  debug      Bei manchen Kerneln ist hier 6  info  vorgegeben  wodurch fast jede Meldung des  Kernels auch auf die Konsole ausgegeben wird    default_message_level Dieser Wert wird immer dann als Priorit  t einer Nachricht be   nutzt  wenn eine Funktion des Kernels printk   aufruft  ohne eine Priorit  t
63. iert  da   der alte Treiber  f  r die Fritz Card PCI Version 1 mit DSS1 verwendet werden soll     Hier wird zu diesem Zweck der Modulname benutzt  Prinzipiell kann man aber auch  einen definierten alias Namen benutzen  In diesem Fall gelten Optionen nur  wenn das  Modul unter diesem alias Namen aufgerufen wird  Hierbei gilt  da   Optionen  die mod   probe auf der Kommandozeile   bergeben werden  Vorrang vor Optionen haben  die f  r  einen alias Namen definiert wurden  Optionen  die f  r einen alias Namen definiert  wurden  haben wiederum Vorrang vor Optionen  die f  r den tats  chlichen Namen eines  Moduls definiert wurden     Um den Mechanismus besser zu verstehen  ist ein kleiner Exkurs in das Device Konzept  von Linux n  tig  Ger  te werden   ber spezielle Dateien im Verzeichnis  dev  repr  sen   tiert  Jeder Datei ist eine Major  und eine Minor Nummer zugeordnet  die das Device  definieren  Dar  ber hinaus werden Devices in Block  und Character Devices eingeteilt   Bei Block Devices handelt es sich um Devices  auf die immer nur in festen Bl  cken zuge   griffen werden kann  Hierbei handelt es sich in der Regel um Festplatten und verwandte  Speichermedien  die nicht direkt ausgelesen  sondern in das Dateisystem gemountet wer   den     Im Gegensatz dazu stehen die Character Devices  aus denen einzelne Zeichen gelesen  bzw  in die Zeichen geschrieben werden k  nnen  Bei diesen handelt es sich z  B  um Ter   minals  Netzwerkkarten und M  use     162   Kapitel 8  Installation 
64. iguration statt einer Festplattenpartition das  erste Diskettenlaufwerk angegeben  Man h  tte aber auch mit  hd0 0  eine Partition  vorgeben k  nnen  auf der z B  Windows installiert ist     chainloader gibt einen weiteren Bootloader an  der nach Grub gestartet wird  Steht    17    158    hier  1  so wird der erste Sektor der mit root angegebenen Partition verwendet     In diesem Beispiel befindet sich der Kernel in einer anderen Partition als das Wurzelverzeichnis   dev hda    statt  dev hdc   Es wird also wohl eine Partition auf  boot gemountet  Eine Datei im Wurzelverzeichnis die   ser Partition m    te also als  hdo 0  vmlinuz angegeben werden  Dagegen w  rde ein Kernel  der sich im  Unterordner  boot auf der Partition des Wurzelverzeichnisses befindet  mit  hdo 0  boot vmlinuz angege   ben werden  SuSE umgeht dies mit einem symbolischen Link in  boot  der auf das Verzeichnis verweist  in  dem er sich befindet  In  s   boot   Damit ist es immer m  glich  die oben angegebene Form zu benutzen   ohne sich Gedanken zu machen  ob  boot nun eine eigene Partition ist oder nicht       Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 159      178    Um nun beim Booten auch unseren Backup Kernel ausw  hlen zu k  nnen  m  ssen wir  noch eine weitere Konfiguration einf  gen  Hierzu reicht es  wenn wir die Standardkonfi   guration kopieren und einfach den Dateinamen des verwendeten Kernels anpassen     title Backup Kernel  kernel  hdo 0  boot vmli
65. in Rootkit  siehe Kapitel  4  Unterabschnitt Sicherungsma  nahmen  ab Seite 42   Sie sind allerdings noch schwerer  zu entdecken  da hier nicht normale Programme ausgetauscht werden  um z  B  verd  ch   tige Prozesse zu verbergen  sondern das Betriebssystem selbst manipuliert wird  Wird  auf einem System nur das Kommando ps ausgetauscht  so kann man immer noch ein  eigenes Programm zur Anzeige der Prozesse benutzen  Verbirgt aber das Betriebssystem  einen Proze    so gibt es keinen Weg  seine Existenz nachzuweisen     Aus diesem Grund w  re es eigentlich sinnvoll  keine Unterst  tzung f  r das Laden von  Modulen in den Kernel zu kompilieren  Bei Kerneln der Serie 2 2 bleibt uns dieser Weg  leider verschlossen  da bestimmte Funktionalit  ten nur als Modul kompiliert werden  k  nnen  z B  das FTP Masquerading   Immerhin kann verhindert werden  da   der Ker   nel selbst  ndig Module l  dt  wenn ihm dies n  tig erscheint  Wird die Einstellung   Un   terst  tzung des Loaders f  r Kernelmodule   deaktiviert  so ist ein explizites Laden der  Module n  tig  Andernfalls  startet der Kernel immer dann ein externes Programm      wenn er auf ein Ger  t zugreifen soll  f  r das im Moment keine Unterst  tzung besteht   Dieses mu   dann daf  r sorgen  da   das geeignete Modul nachgeladen wird     8 Dies ist die Grundeinstellung der meisten Distributionen     9 Standardm    ig wird modprobe aufgerufen  Es kann aber auch ein anderes Programm konfiguriert werden     136   Kapitel 8  Installati
66. ing console mouse support  gpm    if test   GPM PARAM    then  startproc  GPM BIN  GPM_PARAM    4 Zum Beispiel ms f  r Microsoft M  use  ps2 f  r ps 2 M  use oder imps2 f  r Intellimouse Modelle    130   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 131      150    else   ADD_PARAMS      if test   GPM_REPEAT    then   ADD_PARAMS   ADD_PARAMS  R GPM_REPEAT    fi   startproc  GPM BIN  m  MOUSEDEVICE  t  MOUSETYPE  ADD_PARAMS  fi  rc_status  v    a   stop   echo  n  Shutting down console mouse support  gpm    killproc  TERM  GPM BIN  rc_status  v    33    try restart    0 status  gt  dev null  amp  amp   0 restart  rc_status    33   restart     0 stop    0 start   rc_status    force reload   echo  n  Reload console mouse support  gpm     o stop  amp  amp   0 start  rc_status    reload   echo  n  Reload console mouse support  gpm    rc_failed 3  rc_status  v    ae  status   echo  n  Checking for console mouse support  gpm      checkproc  GPM_BIN  rc_status  v    33   probe   GPM_RESTART  False   for file in  GPM_SYSCONFIG  etc gpm     do  test  file  nt  var run gpm pid  amp  amp  GPM_RESTART  True   done  test   GPM_RESTART     True   amp  amp  echo restart    ae      echo Usage   0  start stop status try restart    restart force reload  reload  probe    exit 1  33  esac    Schlie  lich kennt das Skript eine Vielzahl von Kommandos  von denen aber im Normal   betrieb nur start und stop ben  tigt werden  um den Dienst zu starten oder zu bee
67. init d halt local aufge   rufen hat  f  hrt es einen Neustart durch     RunlevelS Wird benutzt  wenn nach dem Booten in den Single User Mode geschaltet  werden soll  In diesem Zustand ist das Netzwerk abgeschaltet  und es kann nicht  zwischen virtuellen Konsolen umgeschaltet werden     Runlevel 1 Entspricht Runlevel S  Er wird dann benutzt  wenn aus dem normalen Be   trieb  Runlevel 2  3 oder 5  in den Single User Mode geschaltet werden soll     Runlevel 2 Entspricht Runlevel 1  allerdings werden mehrere virtuelle Konsolen unter   st  tzt     Runlevel 3 Der normale Zustand mit voller Netzwerkunterst  tzung     Runlevel 5 In unserem Fall uninteressant  Der Rechner startet gleich mit einer graphi   schen Oberfl  che     Auch hier wurden Anpassungen vorgenommen  um der Linux Standard Base Specifica   tion zu gen  gen  So wurde fr  her Runlevel 3 f  r die graphische Anmeldung benutzt   2 f  r ein netzwerkf  higes System ohne graphische Anmeldung  1 f  r ein System ohne  Netzwerk  und S wurde immer f  r den Single User Mode benutzt     Ein Beispiel f  r ein Runlevel Skript ist  etc init d gpm  Dieses Skript startet und stoppt  den gpm  einen Dienst  der die Benutzung der Maus im Textmodus erm  glicht  Von sei   nem Aufbau her ist es repr  sentativ f  r die meisten Runlevel Skripte  die Serverdienste  starten  Es lohnt sich daher  es etwas n  her zu betrachten        bin sh  Copyright  c  1995 1998 S u S E  GmbH Fuerth  Germany     Author      etc init d gpm    and symbolic its lin
68. k      sbin rcgpm       BEGIN INIT INFO     Provides  gpm  Required Start   remote_fs  syslog    Required Stop   remote_fs  syslog          3 Das Konzept entspricht der autoexec bat unter DOS     Der Bootvorgang   127       firewall        2006 1 4     15 26     page 128      147      Default Start  2 3     Default Stop  015 6     Description  Start gpm to support mouse on console      END INIT INFO    Nach dem normalen Header  wie man ihn in den meisten Shellskripten findet  folgt ei   ne Reihe von Zeilen mit Verwaltungsinformationen  Diese wurden erst vor einiger Zeit  durch die Linux Standard Base Specification  LSB  definiert und erlauben es  die S  und  K Links auf ein Skript automatisch zu generieren     Die Linux Standard Base kennt die folgenden Header     Provides Eine Facility  die das Skript zur Verfiigung stellt     Required Start Diese Facilities m  ssen bereits zur Verf  gung stehen  wenn das Skript  gestartet wird  Das hei  t  Skripte  die diese Facilities bereitstellen  werden vor diesem  Skript gestartet  Existiert fiir eine der angegebenen Facilities kein Skript  so kann  dieses Skript nicht gestartet werden     Should Start  optional  Wie bei Required Start werden Skripte  die diese Facilities be   reitstellen  vor diesem Skript gestartet  Existiert aber kein Skript  das die jeweilige  Facility bereitstellt  so wird sie ignoriert und das Skript trotzdem gestartet     Required Stop Wenn das Skript gestoppt wird  sollten diese Facilities immer noch ak   tiv s
69. kits zu installieren  die kaum festzustellen sind     Allerdings existieren bestimmte Treiber f  r ISDN Karten  die nur als Modul funktionie   ren  Welche dies sind  erf  hrt man in der entsprechenden Kernel Dokumentation unter     usr src linux Documentation isdn README  lt Treiber gt      F  r eine Fritz Card PCI ben  tigen Sie z B  keine Module  wenn Sie den neuen experi   mentellen Treiber benutzen     Ein anderes Problem stellt der yast unter SuSE Linux dar  Er erwartet  da   Module bei  der Konfiguration automatisch geladen werden  Dies soll nicht hei  en  da   er nicht be   nutzt werden kann  wenn die Treiber in den Kernel kompiliert wurden  es ist aber mit  kleineren Anpassungsschwierigkeiten zu rechnen  Wenn Sie aber  wie hier beschrieben   eigene Skripte zur Konfiguration des Netzwerkes benutzen  so sollte Sie dies nicht betref   fen     Loadable module support  Enable loadable module support Nein    Als n  chstes folgen einige notwendige Grundeinstellungen     General setup       etworking Support Ja  BSD Process Accounting Ja  Sysctl Support Ja  Blockorientierte Ger  te  Loopback device support Ja  Networking options  Packet Socket Ja  Kernel User netlink socket Ja  Routing messages Ja  Netlink device emulation Ja  Network packet filtering Ja  Unix domain sockets Ja  TCP IP networking Ja  IP  advanced router Ja  IP  verbose route monitoring Ja  IP  kernel level autokonfiguration NEIN   IP  TCP syncookie support Ja  IP  Netfilter Configuration     gt   Connection T
70. lche E Mail Konfigurationsart wir w  nschen   so sollten wir    Nur lokale E Mailzustellung  keine Netzverbindung     w  hlen     Nachdem die Installation abgeschlossen ist und wir als root am System angemeldet sind   sollten wir noch die installierten Pakete durchgehen und die Pakete deinstallieren  die  unn  tige Dienste bereitstellen  Auch fehlen noch Pakete  die n  tzliche Funktionen be   reitstellen  Tabelle 8 2 kann Ihnen bei der Entscheidung helfen  welche Pakete Sie unter  Debian 3 1 n  her betrachten sollten     Am einfachsten bearbeiten Sie dabei die Pakete mit dem Programm aptitude  Wenn Sie  es aufrufen  sehen Sie im Hauptbereich der Anwendung eine Baumstruktur  die Sie durch  einfaches Dr  cken von  lt Return gt  auf einem Unterzweig auf  und zuklappen k  nnen   Dr  cken Sie dagegen  lt Return gt  auf einem einzelnen Paket  so werden Ihnen weitere In   formationen angezeigt    F  r die weitere Navigation sind folgende Befehle n  tzlich        ffnet ein Hilfefenster      W  hlt ein Paket an      W  hlt ein Paket ab     Installation der ben  tigten Software   119       firewall        2006 1 4     15 26     page 120      139    Tabelle 8 2  Pakete der Debian Installation  Version 3 1                    Bereich Abschn  Paket Aktion Bemerkung  admin main acct inst  Protokollierung aufgerufener Programme  at deinst  Programme einmalig zu einer bestimmten Uhrzeit starten  debfoster inst  Deinstallation   berfl  ssiger Pakete  hdparm inst  Konfiguration von Festplatten 
71. le diejenigen Skripte ausgef  hrt  die im Verzeichnis des neuen Runlevels liegen und  deren Name mit   S   beginnt  Als Parameter wird dabei start   bergeben     K Skripte dienen dazu  Dienste zu beenden  S Skripte dagegen starten Dienste  Der  zus  tzliche Parameter erlaubt es  ein einziges Skript zu schreiben  das jeweils die ge   w  nschte Aktion ausf  hrt  Die K  und S Skripte sind dabei in der Regel nur symboli   sche Links auf das eigentliche Skript  das in einem eigenen Verzeichnis untergebracht  ist     SuSE 9 3    Seit Version 8 0 befinden sich die Runlevel Skripte im Verzeichnis  etc init d  Dies  wurde n  tig  um die in der Linux Standard Base Specification  1  festgelegten Re   geln zu erf  llen  Vorher wurde  sbin init d benutzt  Die Runlevel Verzeichnisse hei  en   etc init d rc lt Runlevel gt  d statt bisher  sbin init d rc lt Runlevel gt  d     Alle Runlevel werden vom Skript  etc init d rc bearbeitet  das mit dem Runlevel  als Argument aufgerufen wird und die K Skripte des alten Runlevels gefolgt von den  S Skripten des neuen Runlevels aufruft    blicherweise existiert f  r jeden Dienst in dem  Verzeichnis des Runlevels  in dem er gestartet werden soll  sowohl ein K Skript als auch  ein S Skript  So wird der Dienst beim   bergang in den Runlevel gestartet und beim Ver   lassen des Runlevels beendet     Dies steht im Gegensatz zu Debian  bei denen   blicherweise f  r einen Dienst in jedem  Runlevel Verzeichnis nur ein Skript steht  Dabei stehen K Skripte in Ru
72. lent  in den Kernel kompilieren  Diese haben auf einer Firewall  nichts zu suchen  da die von ihnen benutzten Protokolle inh  rent unsicher sind     Filesystems  fat fs support Ja  msdos fs support Ja  VFAT  Windows 95  fs support Ja  ISO 9660 CDROM filesystem support Ja  Microsoft Joliet filesystem extensions Ja   proc filesystem support Ja  Second Extended fs Support Ja  Network File Systems alle Unterpunkte abw  hlen    Hardware Integration durch Kompilation   143       firewall        2006 1 4     15 26     page 144      163 i    Konfiguration eines Kernels der Serie 2 6    Zuerst einmal sollten wir in das Verzeichnis mit den Kernelquellen wechseln  Ublicher   weise hei  t es     usr sre linux  lt Versionsnr  gt   Unter Debian folgt man allerdings einer eigenen Konvention  Dort hei  t es   usr src kernel source  lt Versionsnummer gt     Teilweise kommt es auch vor  da   die Quellen als gepacktes Tar Archiv unter  usr src  abgelegt sind  In diesem Fall m  ssen Sie sie noch mit      tar xvzf  lt Name gt   lt Versionsnr  gt  tar gz    bzw       bunzip2  lt Name gt   lt Versionsnr  gt  tar bz2    tar xvf  lt Name gt   lt Versionsnr  gt  tar    entpacken     Bringt Ihre Distribution die Kernelquellen des 2 6er Kernels nicht von Haus aus mit   so besteht die Gefahr  da   auch die Systemprogramme noch nicht aktuell genug sind   Haben Sie also die Quellen direkt von ftp   ftp kernel org oder ftp   ftp de kernel org her   untergeladen  so vergewissern Sie sich  daf alle Programme 
73. linuz old  umbenannt     12 Es braucht nur einer der Aufrufe eingegeben zu werden  F  r eine normale LiLo Installation z  B  make   b zlilo     13 In der Regel wird man die zweite Form ben  tigen     Hardware Integration durch Kompilation   151       firewall        2006 1 4     15 26     page 152      171    Damit nun der Kernel wie gewohnt nach  boot installiert wird  mu   allerdings in   usr src linux Makefile die Zeile    INSTALL_PATH  boot    existieren  damit der Kernel als  boot vmlinuz abgelegt wird  Bei der SuSE Version des  Kernels ist dies in der Regel der Fall  L  dt man aber die originalen Kernelquellen z  B   von ftp   ftp de kernel org   so ist diese oft auskommentiert      INSTALL_PATH  boot    Der Kernel wird dann direkt unter   abgelegt     Kernel der Serie 2 6    In der Serie 2 6 entfallen die Aufrufe make dep  make zImage  make zdisk und make zli   lo  Auch make bzlilo ist durch einen neuen Aufruf mit abweichender Semantik ersetzt  worden     Es reicht nun  make ohne Parameter aufzurufen  um den Kernel und die Module zu bau   en  Um die Module zu installieren  mu   auch weiterhin make modules install aufgeru   fen werden  Aber dazu mehr im n  chsten Abschnitt     Hier die wichtigsten Befehle im   berblick  Eine vollst  ndige Liste zeigt der Befehl make  help an     make Kompilation des Kernels und der Module  ohne sie zu installieren    make install Installation des Kernels  Dabei wird der bisher installierte Kernel   ber   schrieben  Wurde bei der Konfigu
74. m Fall handelt es sich mehr um eine Frage der  Einstellung als um eine Tods  nde  ICMP Pakete der Rechner im lokalen Netz brau   chen normalerweise nicht weitergeleitet zu werden  es sei denn  die Benutzer sehen  es als unabdingbar an  die Erreichbarkeit von Rechnern im Internet mittels ping zu    berpr  fen  Tatsache ist aber  da   diese Funktion normalerweise nicht ben  tigt wird  und deshalb gar nicht erst eingerichtet werden sollte  Damit verhindert man z  B    da   bestimmte Trojaner mit dem Internet kommunizieren k  nnen  Auch auf ICMP  basierende DoS Angriffe  werden so an der Firewall blockiert     Fast Switching Ist diese Einstellung aktiv  so k  nnen bestimmte Pakete  die nicht f  r den  Rechner selbst bestimmt sind  direkt zwischen den Netzwerkkarten ausgetauscht  werden  Das Firewalling wird dabei umgangen  was in unserem Fall nicht w  n   schenswert w  re     Network File Systems Netzwerkdateisysteme erlauben es  Verzeichnisse und Dateien f  r  den Zugriff von anderen Rechnern aus freizugeben  Diese Funktionalit  t ist mit den  hohen Sicherheitsanforderungen  die an eine Firewall zu stellen sind  unvereinbar   Weder sollte sie einem Rechner soweit vertrauen  ihm Zugriff auf die eigenen Dateien  zu gew  hren  noch sollten die lokalen Server ein derartiges Vertrauen in die Firewall  setzen     Es bleibt die Frage  ob Netzwerk  und ISDN Karten als Module kompiliert werden soll   ten  Ist der   Loader f  r Kernelmodule   deaktiviert  bedeutet die Benutzung von Modu  
75. mit    make modules    der Bau der modularen Kernelkomponenten  Beim Kernel 2 6 entf  llt dies  da die Module  automatisch mitkompiliert wurden     Anschlie  end wird mit    make modules install    die Installation der fertigen Module in die Wege geleitet     14 Vgl  arch i386 boot install sh    15 Dies ist keine geringe Einschr  nkung  Ein monolithischer Kernel  wie ich ihn hier beschreibe  erf  llt diese  Bedingung wahrscheinlich nicht     16 Der Rechner  auf dem ich dies schreibe  hat tats  chlich derer noch zwei     Hardware Integration durch Kompilation   153       firewall        2006 1 4     15 26     page 154      173    Schlie  lich mu   f  r die Module mit    depmod  a  eine Liste mit Abh  ngigkeiten erzeugt werden  Nun k  nnen die Module jederzeit mit    modprobe modul_name  Parameter      geladen werden     lsmod  zeigt die geladenen Module an  und    rmmod   s    r  modul_name    entfernt ein Modul wieder aus dem Speicher  Die Option  s gibt dabei an  da   Ausgaben  mittels Syslog protokolliert und nicht direkt auf das Terminal ausgegeben werden sollen   Die Option  r bewirkt  da   auch versucht wird  Module zu entfernen  die von dem zu  entfernenden Modul benutzt werden     Etwas komplizierter wird es  wenn man eine neue Version des Kernels kompiliert hat   In diesem Fall wird der oben genannte Aufruf von depmod die Module nicht finden  da  er nach Modulen f  r den gerade aktiven Kernel sucht  Obwohl man dem Befehl explizit  eine Versionsnummer mitteilen kann  z
76. n   den     Eine Fallunterscheidung mit case   berpr  ft  welcher Befehl dem Skript als Parameter  mitgegeben wurde  War es start  so wird der Dienst mit dem Befehl startproc gestar   tet  nachdem eventuell vorhandene Instanzen des Dienstes beendet wurden  Gelingt dies    Der Bootvorgang   131       firewall        2006 1 4     15 26     page 132      151    nicht  liefert startproc einen Fehlerwert zur  ck  welcher durch rc_status als Text aus   gegeben und intern gespeichert wird     Wurde das Skript mit stop aufgerufen  so ist der Ablauf   hnlich  es wird allerdings kill   proc statt startproc aufgerufen  wodurch alle Instanzen des gpm beendet werden     Im Falle  da   das Skript schlie  lich mit unbekannten Parametern aufgerufen wurde   wird eine Meldung ausgegeben  die alle diejenigen Befehle aufz  hlt  die das Skript kennt     rc_exit    Abschlie  end wird noch ein Wert zur  ckgegeben  der signalisiert  ob der Start erfolg   reich war     Dieses Skript funktioniert so allerdings nur unter SuSE Linux  insbesondere da start   proc  checkproc  killproc und die rc Funktionen in anderen Distributionen nicht enthal   ten sind  Davon abgesehen kann das Skript leicht f  r eigene Zwecke modifiziert werden      Debian 3 1    Debian benutzt eine andere Verzeichnisstruktur  Bei dieser Distribution befinden sich die  Runlevel Skripte im Verzeichnis  etc init d  Die Runlevel Verzeichnisse mit den symboli   schen Links sind aber nicht etwa Unterverzeichnisse davon  sondern von  etc  S
77. n der Regel eine kurze Erkl  rung der Option und eine Empfehlung der Art    If unsure say    Yes       gegeben     Hier einige Optionen  die f  r Firewalls von besonderer Wichtigkeit sind     Code maturity level options    Prompt for development       drivers Ja  Loadable module support   Enable loadable module support Ja   kernel module loader support Nein  General setup   Networking Support Ja   BSD Process Accounting Ja   Sysctl Support Ja    Hardware Integration durch Kompilation   137       firewall        2006 1 4     15 26     page 138      157    Networking options          Packet Socket Ja  Kernel User network link driver Ja  Routing messages Ja  Network firewalls Ja  Unix domain sockets Ja  TCP IP networking Ja  P  advanced router Ja  P  verbose route monitoring Ja  P  kernel level autokonfiguration NEIN   P  firewalling Ja  IP  firewall netlink device Ja  P  transparent proxying Ja  P  masquerading Ja  P  ICMP masquerading Nein  P  masquerading special module support Ja  P  ipautofw masquerading support Ja  P  ipportfw masquerading support Ja  P  ipmarkfw masquerading support Ja  P  optimize as router not host Ja  P  SYN flood protection Ja  Fast switching NEIN   Network device support  Network device support  Ja  Dummy net driver support Ja  Treiber f  r eingebaute Netzwerkkarten Ja  u U  als Modul   PPP  point to point  support Ja  ISDN Subsystem  ISDN support Ja  u U  als Modul   Support Synchronous PPP Ja  N  tige Treiber Ja    Bei einer passiven Karte  HiSax  
78. ne Einstellungen wirken sich auf alle Interfaces aus  Es  existieren u  a  diese Einstellungen     accept_redirects Bestimmt  ob ICMP Redirect Nachrichten angenommen werden oder  nicht  Wir werden sp  ter derartige Pakete sowieso ausfiltern  Der Standardwert ist    1   f  r einen normalen Rechner    0   f  r einen Router    IP  optimize as router not as  host     Da wir den Kernel als Router konfiguriert haben  sollte die Standardeinstel   lung unseren W  nschen entsprechen     accept_source_route Legt fest  ob Pakete mit einer Source Route angenommen werden  oder nicht  Der Standardwert ist   0   f  r einen normalen Rechner    1   f  r einen Rou   ter  F  r unsere Firewall ist dies eher unerw  nscht  Es empfiehlt sich daher  diese  Einstellung zu deaktivieren  0      rp_filter Ist diese Einstellung aktiviert  wird   berpr  ft  ob ein Paket tats  chlich   ber das  Interface empfangen wurde  das den Routing Regeln entsprechend zu erwarten ge   wesen w  re  Dies dient dem Schutz vor IP Spoofing  ist aber normalerweise nicht ak   tiv  0   Lediglich f  r lokale und Broadcast Adressen wird diese   berpr  fung immer  durchgef  hrt  Es ist sehr sinnvoll  diese Funktion auf einer Firewall zu aktivieren  1      Benutzen wir einen Kernel der Serie 2 6 und haben wir auch die Unterst  tzung f  r  IPv6 einkompiliert  so sollten wir auch die Interface spezifischen Einstellungen unter   proc sys net ipv6 conf anpassen  Auch hier existieren die Unterverzeichnisse all  defaults  sowie Verzeic
79. nen     Schlie  lich f  hrt das hier beschriebene Vorgehen auch dazu  da   Sie Ihr System deut   lich besser kennenlernen und sich so ein Verst  ndnis erwerben  das Ihnen fehlen w  rde   wenn Sie nur die benutzerfreundlichen Administrationswerkzeuge benutzen     Beginnen Sie also damit  da   Sie vor dem Boot des Rechners alle Ethernet  und ISDN   Kabel sowie alle Verbindungen zu Modems vom Rechner abziehen  So vermeiden Sie   da   Ihr Rechner aus dem Internet angreifbar wird  bevor Sie ihn fertig konfiguriert ha   ben     Nun k  nnen wir mit der eigentlichen Installation beginnen       115       firewall        2006 1 4     15 26     page 116      135    Installation der ben  tigten Software    Es ist an dieser Stelle nicht m  glich  f  r alle gebr  uchlichen Distributionen eine ausf  hr   liche Installationsanleitung zu geben  Hierzu konsultieren Sie bitte die mit den Distribu   tionen gelieferte Dokumentation  Es existieren allerdings einige Punkte  in denen eine  Firewall Installation von der Installation eines normalen Arbeitsplatzrechners abweicht   Diese wollen wir im folgenden am Beispiel von SuSE und Debian betrachten     Besonders ist darauf zu achten  welche Software installiert wird  Hier gilt auf jeden  Fall    Weniger ist mehr    Jedes installierte Programm ist eine potentielle Sicherheits   l  cke  Dies gilt insbesondere f  r aktive Serverdienste  Aus Sicherheitsgriinden sollte auf  der Firewall auf WWW   FTP   NNTP   Netbios   Telnet   R   Rsh  Rlogin        NF
80. ngen oder Sarge  Version 3 1  verwenden     e SuSE Versionen seit 8 3 benutzen Kernel 2 6 und k  nnen teilweise keine   lteren Ver   sionen kompilieren       e Der ISDN Support unter Kernel 2 6 ist derzeit f  r einen Umbau vorgesehen  Noch  ist es m  glich  die altbekannten HiSax Treiber zu verwenden  In Zukunft wird ange   strebt  auf CAPI Treiber umzusteigen  F  r einige aktive ISDN Karten von AVM und  Eicon Networks ist dies bereits m  glich  f  r klassische passive Karten wie z B  die  Fritz Card ist die Unterst  tzung derzeit experimentell und nicht Teil des Kernels   Wenn Sie diese nutzen wollen  m  ssen Sie erst die Kernelsourcen modifizieren        6 Dies trifft zumindest auf 2 4er Kernel unter SuSE 8 3  9 0 und 9 1 zu   7 Vgl  das   Linux 2 6 and mISDN HowTo   unter http   rcum uni mb si  uvp00845b     Hardware Integration durch Kompilation   135       firewall        2006 1 4     15 26     page 136      155    Grundlagen  Modularer vs  monolithischer Kernel    Man unterscheidet zwei verschiedene Arten  einen Kernel zu kompilieren  Zum einen  k  nnen die ben  tigten Treiber in den Kernel hineinkompiliert werden  monolithischer  Kernel   zum anderen k  nnen Treiber bei Bedarf nachgeladen werden  modularer Ker   nel   Letzteres ist sogar im laufenden Betrieb m  glich  ohne da   neu gebootet werden  m    te   Der Men  punkt HARDWARE IM SYSTEM INTEGRIEREN im yast ist so ein Beispiel f  r  das dynamische Einbinden von Modulen      Wei   man im voraus  welche Hardware man 
81. nleveln  in denen  er nicht gestartet werden soll  w  hrend sich S Skripte in Verzeichnissen von Runleveln  befinden  in denen der Dienst gew  nscht ist     Unter SuSE Linux werden die folgenden Runlevel verwendet     boot Dies ist der Zustand  in dem sich das System beim ersten Start von init befindet  Er  stellt einen Sonderfall dar  da es keinen Runlevel boot gibt  den man mit init  lt Level gt   aufrufen kann  Trotzdem ist auch ihm ein Verzeichnis  etc init d boot d zugeordnet   das Skripte enthalten kann  die durch das Skript  etc init d boot ausgef  hrt wer   den  Anschlie  end startet boot noch  etc init d boot local  Dieses Skript dient in    126   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 127      146    erster Linie dazu  eigene Programme zu definieren  die beim Systemstart vor dem  Start aller anderen Dienste ausgefiihrt werden sollen     Runlevel 0 In diesen Zustand wechselt das System  wenn es heruntergefahren werden  soll  sync halt   Im zugeh  rigen Vezeichnis  etc init d rc0 d  befindet sich nur ein  Link auf das Skript  etc init d halt  Dieses f  hrt seinerseits vor dem Beenden von  Linux noch das Skript  etc init d halt local aus  welches in seiner Funktion das  Gegenst  ck zu boot 1ocal darstellt     Runlevel 6 In diesen Zustand wechselt das System  wenn es neu gestartet wer   den soll  sync reboot   Das Skript  etc init d reboot wird   ber einen Link in   etc init d rc6 d ausgef  hrt  Nachdem es das Skript  etc 
82. nuz prev root  dev hda3    initrd  hdo 0  boot initrd    Beim n  chsten Bootvorgang werden Sie nun einen Eintrag Backup Kerne im Bootme   n   vorfinden  W  hlen Sie diesen aus  wenn Ihr selbstkompilierter Kernel nicht starten  will     LiLo    Den Bootloader LiLo haben wir schon in Kapitel 8  Unterabschnitt LiLo  ab Seite 125  kennengelernt  Haben wir dort nur die M  glichkeit betrachtet  die Konfiguration am  Bootprompt zu   ndern  so soll es jetzt um die permanente Konfiguration gehen  Dies  geschieht in der Datei  etc lilo conf  Diese k  nnte etwa folgenderma  en aussehen       LILO Konfigurationsdatei   Start LILO global Section     If you want to prevent console users to boot with init  bin bash      restrict usage of boot params by setting a passwd and using the option  restricted    password wm3TcQ7   restricted   boot  dev hda   compact   faster  but won   t work on all systems     1ba32   vga normal   read only   prompt   timeout 100   End LILO global Section           Standardkonfiguration  image    boot vmlinuz  root    dev hda3  label   1    Grunds  tzlich unterteilt sich die Datei in mehrere Bereiche  Die ersten Zeilen bilden die  globalen Optionen  die Einstellungen beinhalten  die f  r alle Bootkonfigurationen gleich  sind     Danach folgen die einzelnen Abschnitte f  r die einzelnen Installationen  Diese beginnen  mit image  f  r Linux Konfigurationen oder other  f  r andere Systeme wie DOS  Win   dows usw  Auf einer Firewall sollten aber grunds  tzlich keine 
83. on der Software       firewall        2006 1 4     15 26     page 137      156    Im Kernel der Serie 2 4 oder 2 6 besteht diese Einschr  nkung nicht  falls nicht eine Hard   warekomponente konfiguriert werden mu    f  r die der n  tige Treiber nur als Modul  kompiliert werden kann     Konfiguration eines Kernels der Serie 2 2    Um nun einen Kernel zu erzeugen  sollten wir als erstes seine gew  nschten Eigenschaften  festlegen  Dazu wechseln wir mit      cd  usr src linux    in das Verzeichnis mit den Kernelquellen  linux ist dabei ein symbolischer Link auf das  eigentliche Verzeichnis mit den aktuellen Quellen  Dieses hat dann normalerweise einen  Namen der Art linux  lt Versionsnr  gt   Eine Ausnahme bildet hierbei Debian  Dort hei  t  das Verzeichnis kernel source  lt Versionsnummer gt   und ein symbolischer Link fehlt     Haben Sie schon einmal eine Version des Kernels kompiliert und wollen nun wieder zu  den Standardeinstellungen zur  ckkehren  so k  nnen Sie dies mit dem folgenden Befehl  erreichen       make mrproper    Nun k  nnen Sie den Kernel an Ihre Bed  rfnisse anpassen  Dazu existiert ein men  ge   steuertes Konfigurationsprogramm  das Sie mit      make menuconfig    aufrufen k  nnen     Es empfiehlt sich  die Men  s Punkt f  r Punkt durchzugehen und gezielt nur Unterst  t   zung f  r diejenigen Komponenten auszuw  hlen  die auch tats  chlich ben  tigt werden   Ist dies bei einer Einstellung unklar  so kann mit       ein Hilfetext angezeigt werden   Dort wird i
84. r Modem oder DSL brauchen Sie auch noch das Point   to Point Protocol     148    PPP  point to point  support Ja  PPP filtering Ja  PPP support for async serial ports Ja  PPP support for sync tty ports Ja  PPP Deflate compression Ja  PPP BSD Compress compression Ja      Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 149      168    Wenn Sie sich   ber ISDN in das Internet einw  hlen wollen  so ben  tigen Sie die folgen   den Einstellungen  Andernfalls k  nnen Sie   ISDN support   abw  hlen     ISDN Subsystem  ISDN support Ja  u U  als Modul     In Kernel 2 6 hat man begonnen  die Unterst  tzung f  r ISDN Karten auf ein neues Trei   bermodell namens CAPI v2 0 umzustellen  Auf diese Weise werden derzeit aber nur ei   nige wenige Karten unterst  tzt  F  r die Mehrzahl ben  tigen Sie immer noch die alten  ISDN4Linux Treiber  wie sie bereits im Kernel 2 4 enthalten waren     Old ISDN4Linux    Support Synchronous PPP Ja  Use VJ compression with synchronous PPP Ja  Support generic MP       Ja    Beim HiSax Treiber f  r diverse passive ISDN Karten mu   nicht nur die gew  nschte Kar   te ausgew  hlt werden  es gilt auch sicherzustellen  da   das benutzte D Kanal Protokoll  unterst  tzt wird  Fr  her wurde in Deutschland 1TR6 benutzt  heutzutage ist in ganz Eu   ropa DSS1  auch Euro ISDN genannt  gebr  uchlich  Im Normalfall sollte es daher gen     gen  nur DSS1 zu konfigurieren  Wenn Sie allerdings auf Nummer Sicher gehen wollen   k  nnen Sie au
85. racking       Ja  FTP protocol support Ja  IPtables support      Ja  limit match support Ja  MAC address support Ja  netfilter MARK match support Ja  TOS match support Ja  Connection state match support Ja    Hardware Integration durch Kompilation   141       firewall        2006 1 4     15 26     page 142      161    Packet filtering Ja   REJECT target support Ja   Full NAT Ja  MASQUERADE target support Ja   REDIRECT target support Ja   Packet mangeling Ja   TOS target support Ja   MARK target support Ja   LOG target support Ja   The IPX protocol Nein  Appletalk protocol Support Nein  DECnet support Nein  802 1d Ethernet Bridging Nein    Bevor wir weitermachen  noch ein paar Worte zu den Einstellungen  von denen hier  abgeraten wird     IP     kernel level autoconfiguration Diese Einstellung bewirkt  da   der Kernel seine Netz   werkadressen beim Booten mittels DHCP erfragt  Abgesehen davon  daf nicht immer  ein DHCP Server zur Verfiigung steht  ist es sinnlos  einem Server die Netzwerk   adresse dynamisch zuzuweisen  Seine Klienten w    ten dann ja nicht  unter welcher  Adresse sie ihn erreichen k  nnen  Schlie  lich ist das Protokoll unsicher  und es sind  eine Menge Angriffe denkbar  die damit beginnen k  nnten  einen falschen DHCP   Server aufzusetzen und daf  r zu sorgen  da   der echte kurzzeitig nicht antworten  kann     IPX  Appletalk  DECnet support Hier handelt es sich um diverse Netzwerkprotokolle     Diese werden aber vom Firewalling nicht unterst  tzt  das nur I
86. ration ein Fehler gemacht  so ist das  System nur noch mit einer speziellen Bootdiskette zu starten     make bzdisk Kompilation des Kernels und Installation auf eine Diskette  Bootdisk    Wenn das Booten von der Diskette funktioniert  k  nnen wir den Kernel  installieren  Andernfalls nehmen wir die Diskette heraus  booten normal  von der Festplatte und starten einen neuen Versuch  einen passenden Ker   nel zu konfigurieren     make fdimage Es wird nicht direkt auf eine Diskette  sondern in eine Image Datei  geschrieben     make install sollten Sie nur benutzen  wenn Sie bereits eine Backup Konfiguration er   stellt haben  zu der Sie zur  ckkehren k  nnen  falls Ihr neukompilierter Kernel nicht  lauff  hig ist  F  r den ersten Versuch kompilieren Sie den Kernel besser mit make  ma   chen eine Kopie des alten Kernels und kopieren den neuen dann manuell  siehe Kapitel  8  Unterabschnitt Installation des Kernels  ab Seite 154      Technisch istmake install etwas komplizierter als in fr  heren Versionen make bzlilo  Es  wird zuerst versucht  ein Programm  bin installkernel aufzurufen  Wenn dieses nicht  existiert  wird als zweites  sbin installkernel versucht  Wenn dieses ebenfalls nicht ge   funden wird  wird der Kernel in das Verzeichnis kopiert  das in der Variable INSTALL     152   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 153      172    PATH vorgegeben ist  Anschlie  end wird  sbin lilo bzw   wenn dieses Programm nicht  existiert 
87. rter Browser  privoxy inst  Webproxy  squid inst  Webproxy  120   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 121      140      Erlaubt es  nach einem Begriff zu suchen    n    Beide Tasten setzen die Suche fort    g Installiert die ausgew  hlten Pakete  Unter Umst  nden werden vorher noch automa   tisch hinzugef  gte oder vorgeschlagene Pakete angezeigt  In diesem Fall mu   noch  einmal mit  lt g gt  best  tigt werden     q Beendet das Programm     Wenn wir bei der Installation gefragt werden    Sollen die cdrecord Programme als  SUID root installiert werden     so sollten wir dies ablehnen  Auf der Firewall werden  nur in seltenen F  llen CDs gebrannt  z B  f  r Backups   Dies kann man dann auch als  Benutzer root tun     Konfiguration des Mailservers Exim    Ist die Installation abgeschlossen und sie sind als root am System angemeldet  so m  s   sen Sie jetzt noch konfigurieren  wohin E Mails geschickt werden  die an root gesandt  wurden  Grunds  tzlich ist es der Wille der Exim Sch  pfer  daR die E Mails nicht im  Postkorb von root  sondern von einem normalen Anwender landen  Vorzugsweise sollte  es sich dabei um die Person handeln  die f  r die Administration des Rechners zust  ndig  ist    Aus diesem Grund ist in der Konfiguration   blicherweise eine Zeile eingetragen  die es  verbietet  root E Mails zuzustellen  Unter SuSE 9 3 reicht es  diese Zeile zu   ndern  damit  root wieder E Mails empfangen kann  Unter Debian 3 1 sind d
88. s gsfc nasa gov    NE 000 ethercard probe at 0x300  00 80 ad 18 9c 97   etho  NE2000 found at 0x300  using IRQ 9     In diesem Beispiel wurde SCSI Unterstiitzung in den Kernel kompiliert  es wurden aber  keine SCSI Hostadapter gefunden  Des weiteren ist das PPP Protokoll  fiir den Modem   betrieb  sowie eine NE2000 kompatible Netzwerkkarte vorhanden     Diese Meldungen liefern einen guten Anhaltspunkt  ob die einkompilierten Treiber  auch alle Devices erkannt haben  Allerdings ziehen sie beim Booten doch recht schnell  vorbei  Die folgenden Tatstaturbefehle helfen  dieses Problem in den Griff zu bekom   men      lt Shift gt  lt PgUp gt  nach oben scrollen   lt Shift gt  lt PgDown gt  nach unten scrollen    Alternativ kann mit dem Befehl dmesg   less ein spezieller Speicherbereich im Kernel  abgefragt werden  in dem die Bootmeldungen gespeichert werden  Unter SuSE Linux  wird das Ergebnis eines solchen Aufrufs direkt nach dem Systemstart in die Datei   var log boot msg geschrieben     Hardware Integration durch Kompilation   173       firewall        2006 1 4     15 26     page 174      193    
89. se Einstellung unabdingbar  Da sie alle  anderen Einstellungen auf ihre Standardwerte zur  cksetzt  sollte sie als erstes vorge   nommen werden     ip_always_defrag  nur Kernel 2 2  Wenn in dieser Datei eine   1   steht  wird jedes an   kommende Paket defragmentiert  bevor die Firewallregeln darauf angewendet wer   den  Dies ist notwendig  um Angriffe durch Fragmentierung zu verhindern  Die   se Angriffe wurden in Kapitel 4  Unterabschnitt Fragment Angriffe  ab Seite 37 be   schrieben     Seit Kernel 2 4 geschieht die Defragmentierung automatisch  und die Datei entf  llt     ip_dynaddr Wenn ein Rechner seine IP Adresse dynamisch beim Verbindungsaufbau  zugewiesen bekommt  wird das erste Paket  das den Verbindungsaufbau in Gang ge   setzt hat  in der Regel verlorengehen  Dies liegt daran  da   zu dem Zeitpunkt  als es  abgeschickt wurde  noch nicht bekannt war  welche IP Adresse der Rechner bekom   men w  rde  Ohne g  ltige Absenderadresse kann ein Paket aber nicht beantwortet  werden     Diese Einstellung behebt nun den Mangel  Mit ihr schreibt der Kernel nachtr  glich  die Absenderadresse um  G  ltige Werte sind 0  aus   1  an   2  Vermerken der Aktio   nen im Kernel Log     tcp_syncookies Aktiviert die Funktionalit  t  die wir mit   IP  SYN flood protection     2 2 x  oder   IP  TCP syncookie support    2 4 x  in den Kernel kompiliert haben     166   Kapitel 8  Installation der Software       firewall        2006 1 4     15 26     page 167      186    Wenn der Kernel festst
90. sion identisch und damit unbrauchbar     Nun kann man den neuen Kernel mit      cp  usr src linux arch i386 boot zImage  boot vmlinuz    oder      cp  usr src linux arch i386 boot bzImage  boot vmlinuz    umkopieren     Bootoptionen    Nun kann es vorkommen  da   Treiber f  r eine bestimmte Hardware in den Kernel kom   piliert wurden  das Ger  t aber beim Booten nicht erkannt wird  Dies ist insbesondere  dann der Fall  wenn mehr als eine Netzwerkkarte des gleichen Typs installiert wurde   Hier bricht der Kernel in der Regel die Suche ab  sobald er eine Karte gefunden hat   Auch lassen sich Karten oft auf diverse Ports und Interrupts konfigurieren  auf denen  der Kernel unter Umst  nden nicht standardm    ig nach ihnen sucht     Ein solcher Fall ist der Treiber f  r NE2000 kompatible ISA Netzwerkkarten  Dieser fin   det Karten nur dann  wenn sie Port 0x300 benutzen  Die Ursache f  r dieses Verhalten  liegt in der Tatsache  da   die Kommandos  die der Treiber benutzen mu    um festzustel   len  ob ein bestimmter Port von einer solchen Netzwerkkarte benutzt wird    ltere SCSI   Hostadapter zum Absturz bringen k  nnen  Ungl  cklicherweise gibt es aber eine Reihe  von Ports  auf die sowohl NE2000 Karten als auch besagte SCSI Adapter eingestellt wer   den k  nnen  Der Treiber begn  gt sich daher mit Port 0x300  auf den NE2000 Karten  normalerweise voreingestellt sind     Um dem Kernel nun abweichende Parameter mitzuteilen  existiert eine Reihe von Optio   nen  die man sich unter Su
91. sitzt modprobe eine Konfigurationsdatei  in der die Zuordnun   gen von Device Bezeichnungen zu Modulen sowie die zu verwendenden Optionen f  r  das jeweilige Modul festgelegt sind  Hierbei handelt es sich bei Kerneln der Serie 2 2  und 2 4 um die Datei  etc modules conf  Mit den Kerneln der Serie 2 6 wurde das ganze  Modulkonzept gr  ndlich   berarbeitet  Neben anderen Dingen   nderte sich auch der Na   me dieser Konfigurationsdatei  Sie hei  t jetzt  etc modprobe conf und enth  lt Zeilen der  Art     alias block major 2 floppy  alias char major 27 ftape   alias char major 10 1 psaux  alias etho ne  alias block major 43 hisax  alias block major 44 hisax  alias block major 45 hisax  options ne irq 5  options hisax id HiSax typ 27 protocol 2       Hierbei definieren die alias Befehle zus  tzliche Namen  unter denen die Module ange   sprochen werden k  nnen  Dies nutzt man im Falle des Loaders f  r Kernel Module  um  die beschriebene Umsetzung einer Device Bezeichnung in den Namen eines Treibermo   duls zu realisieren  Man k  nnte dies allerdings auch dazu benutzen  einen Treiber jenach  Bedarf mit verschiedenen Parametern aufzurufen  indem man ihm f  r jede Konfigurati   on einen eigenen Namen gibt  dem dann eigene Optionen zugeordnet werden     Diese Optionen werden mit den options Befehlen   bergeben  So wird im oben gezeigten  Beispiel dem Modul ne mitgeteilt  da   die von ihm unterst  tzte Netzwerkkarte den IRQ 5  benutzt  Der Hisax Treiber wird dagegen dahingehend konfigur
92. sparent in das andere leitet und umgekehrt  Hier wollen wir da   gegen einen Router aufsetzen  der von Rechnern im LAN gezielt angesprochen wird   wenn Pakete in das Internet geroutet werden sollen     TFTP  Amanda Backup Protocol TFTP wird von Rechnern ohne Festplatte verwendet     um alle ben  tigten Dateien herunterzuladen  Das Protokoll verf  gt   ber keine nen   nenswerten Authentisierungsmechanismen und sollte auf keinen Fall durch die Fire   wall gelassen werden  In beide Richtungen w  re dies katastrophal  Weder ist es sinn   voll  da   die Rechner im lokalen Netz Systemdateien aus dem Internet herunterladen   die m  glicherweise manipuliert sind  noch wollen Sie es einem Rechner im Internet  erlauben  sich eine Pa  wortdatei von einem Ihrer Server herunterzuladen     F  r das Amanda Backup Protocol gelten   hnliche   berlegungen  Im Normalfall wol   len Sie doch Ihre Backups nicht auf einem Rechner im Internet durchf  hren     IPX  Appletalk  DECnet support Hier handelt es sich um diverse Netzwerkprotokolle     Diese werden aber vom Firewalling nicht unterst  tzt  das nur IP  ICMP  UDP und  TCP kennt  Normalerweise besteht auch kein Grund  diese Protokolle in das Internet  zu routen  Sie sind nur f  r den Betrieb im LAN vorgesehen     Kommen wir nun zur Unterst  tzung f  r Netzwerkkarten     Network device support    Network device support  Ja  Dummy net driver support Ja  Treiber f  r eingebaute Ja  u U  als Modul   Netzwerkkarten    F  r die Internet Anbindung   be
93. t zu st  ren  So kann ein Server durch eine gro  e Anzahl von ICMP   Paketen u  U    berlastet und damit au  er Betrieb gesetzt werden     Hardware Integration durch Kompilation   139       firewall        2006 1 4     15 26     page 140      159    Abschlie  end noch ein Hinweis zum HiSax Treiber f  r diverse passive ISDN Karten   Hier mu   nicht nur die gew  nschte Karte ausgew  hlt werden  man mu   auch sicher   stellen  da   das benutzte D Kanal Protokoll unterst  tzt wird  Fr  her wurde in Deutsch   land 1TR6 benutzt  heutzutage ist in ganz Europa DSS1  auch Euro ISDN genannt  ge   br  uchlich  Im Normalfall sollte es daher gen  gen  nur DSS1 zu konfigurieren  Wenn Sie  allerdings auf Nummer Sicher gehen wollen  k  nnen Sie auch beide Protokolle einkom   pilieren und dann ausprobieren  mit welchem Protokoll Ihnen der Verbindungsaufbau  gelingt     Konfiguration eines Kernels der Serie 2 4    Um nun einen Kernel zu erzeugen  sollten wir als erstes seine gew  nschten Eigenschaften  festlegen  Dazu wechseln wir mit      cd  usr src linux    in das Verzeichnis mit den Kernelquellen  linux ist dabei ein symbolischer Link auf das  eigentliche Verzeichnis mit den aktuellen Quellen  Dieses hat dann normalerweise einen  Namen der Art linux  lt Versionsnr  gt   Eine Ausnahme bildet hierbei Debian  Dort hei  t  das Verzeichnis kernel source  lt Versionsnummer gt   und ein symbolischer Link fehlt     Haben Sie schon einmal eine Version des Kernels kompiliert und wollen nun wieder zu
94. tionen  Produktivit  t   Text  patch inst  Einspielen von Patches  System   Basis  acct inst  Programmaufrufe protokollieren  System   Daemons  at deinst  Programme einmalig zu einer bestimmten Uhrzeit starten  dbus 1 deinst    Message Bus  wird von hal ben  tigt  hal deinst  Daemon  der Hardware Informationen sammelt  Wird von SuSE f  r das Hotplug   ging benutzt und von submount ben  tigt   nscd deinst  Name Service Caching Daemon macht NIS und LDAP effizienter  openslp server deinst  unn  tiger Server  powersave deinst   Stromspar Daemon  System   Dateisysteme  mtools inst  Zugriff auf DOS Disketten  submount deinst  automatisches Mounten von Datentr  gern       Der postfix hatte in meinen Versuchen mit SuSE den Nachteil  da   der Dienst grund   s  tzlich aktiv sein mu  te  D  h   es war immer ein Netzwerkdienst auf Port 25 aktiv  Deak   tivierte man den Dienst  so war nicht einmal eine lokale Zustellung von E Mails m  glich   Lokale E Mails werden aber z B  von Cron Jobs verwendet  um root   ber aufgetretene  Probleme zu informieren     Mit exim war dies kein Problem  Beim Senden einer lokalen Mail wurde exim kurz gestar   tet  stellte die E Mail zu und beendete sich wieder  ohne aber auf Port 25 Verbindungen  entgegenzunehmen  Dar  ber hinaus kam er sehr viel besser mit der Tatsache zurecht   da   mein selbstkompilierter Kernel kein IPv6 unterst  tzte     Es war allerdings n  tig  die Konfiguration so zu   ndern  da   exim auch E Mails an root  zustellte  Aber dazu sp  t
95. tware       firewall        2006 1 4     15 26     page 157      176    pa  pb  pc Stellen kartenspezifische Parameter ein  Diese Parameter werden f  r jede Kar   te anders benutzt und m  ssen deshalb in der Dokumentation nachgeschlagen wer   den  Dar  ber hinaus brauchen einige  PCI  Karten keine zus  tzlichen Parameter  so  da   diese dann entfallen     id Dieser Parameter gibt der Karte einen Bezeichner  unter dem Konfigurationspro   gramme gezielt eine bestimmte Karte ansprechen k  nnen  Dieser String kann will   k  rlich gew  hlt werden  zwei Karten d  rfen aber nicht denselben Bezeichner haben   Aus technischen Gr  nden werden die Bezeichner durch Prozentzeichen getrennt     Eine Ausnahme bildet die Fritz Card PCI Version 2  wie sie momentan verkauft wird   Diese ben  tigt keinen Parameter  Ist der Treiber einkompiliert  so wird die Karte auto   matisch erkannt     Wie man die Parameter konkret   bergibt  h  ngt vom verwendeten Bootloader ab  Aus  diesem Grund wollen wir uns im folgenden einmal die beiden g  ngigsten Bootloader  ansehen     Grub    Nachdem wir den Grub schon einmal in Kapitel 8  Unterabschnitt Grub  ab Seite 124  unter dem Gesichtspunkt betrachtet haben  wie wir kontrollieren  welche Konfiguratio   nen der Benutzer booten darf  wollen wir hier einmal einen umfassenderen Blick auf die  Konfigurationsdatei werfen     Diese finden wir unter  boot grub menu Ist  Sie k  nnte folgenderma  en aussehen       GRUB Konfiguration          Globale Optionen  passwor
96. wort zu umgehen  Dabei kann es sich z B  um einen Jumper auf  dem Motherboard oder ein Masterpa  wort handeln  Schlimmstenfalls mu   die Batterie  des CMOS RAMs entfernt werden     Ist ihm dies zu aufwendig  kann er notfalls auch die Festplatte ausbauen und in einen  anderen Rechner einbauen  wo er dann unbeschr  nkten Zugriff hat  Es gibt mittlerweile  Miniatur PCs in der Gr    e einer Zigarrenschachtel  die   ber einen Anschlu   f  r Tasta   tur  Maus  Monitor sowie eine zus  tzliche Festplatte verf  gen     Der Bootloader    Wird von Festplatte gebootet  so wird der Bootloader aktiv  Er wird nun nach der Partiti   on suchen  auf der seine Konfigurationsdaten installiert sind  Findet er diese  so wird er  einen Prompt oder ein Bootmen   anzeigen     Nun kann der Benutzer zwischen verschiedenen vordefinierten Konfigurationen ausw  h   len  in denen jeweils festgelegt ist  welcher Kernel bzw  welches Betriebssystem gestartet  werden soll und auf welcher Partition sich das Wurzelverzeichnis des zu bootenden Sy   stems befindet  Des weiteren k  nnen diverse Parameter angegeben werden  die die Arbeit  des Kernels beeinflussen     2 Obwohl ein DOS Bootvirus unter Linux wohl kaum aktiv werden kann  besteht doch die Gefahr  da   er  versucht  sich in den MBR zu schreiben  bevor Linux gebootet ist  Dabei w  rde er den Bootloader l  schen   womit Linux nicht mehr starten k  nnte     Der Bootvorgang   123       firewall        2006 1 4     15 26     page 124      143    Wurde eine Kon
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
fi-6140 / fi-6240 - Guide d`Utilisation du Scanneur d  Manual de Usuario en Español Modelo ZA705  Zoom ADSL X5 Switch User Manual  MODE D`EMPLOI www.philips.com/welcome Type  長時間心電図解析プログラム QP-550シリーズ  LG Electronics 5270 Flat Panel Television User Manual  WorkinGirls : mûre folie  QNAP TS-653 Pro    説明資料【PDF:1.0MB】    Copyright © All rights reserved. 
   Failed to retrieve file