Samenvatting Systeem- en Netwerkbeheer Dumon Willem - 3ELICTi 24 juni 2009
1
Basis GNU/Linux
1.1
Opbouw & structuur GNU/Linux
•
•
Linux = kern BS = kernel: – device drivers, network stack (protocollen, firewall, QoS), memory & proces mgmt, Inter Process Comm = IPC – Virtual File System = VFS: 1 boomstruct, wortel = root (/) & alles zijn bestanden (ook apparaten, fifo’s, kernel info), elk element: naam, eigenaar, groep, permissies (U G O), access & modification time GNU = set onmisbare tools errond (editor, shell) Libraries: direct op HW, static & shared, strikte versiecontrole, verdeelt in versch dir’s in VFS, apps gebruiken lib’s Software: naast GNU op kernel
1.2
Directories & bestanden
• •
struct grotendeels vast, alles start bij /, browsen dr abs/relatief pad 1.3
Pipes & redirectie
• •
Redirectie: commando-uitvoer omleiden nr bestand of inlezen v bestand, mbv ‘>’ & errors standaard nr STDERR, redir via ‘2>’ Pipes: commando-uitvoer omleiden nr ander commando of inlezen v ander commando, mbv ‘|’
1.4
Editors
•
Vi(m) = visual interface (improved): command mode (opslaan, afsluiten), insert mode (editeren, txt intypen), ex mode (last line mode), visual mode (navigatie met pijltjes) & search mode (zoekterm intikken) Nano, Pico, Joe, Emacs
•
1
1.5
VFS & Linken
•
•
Elk bestand → 1 iNode (cf FCB: bestandstype, toegangsrechten, eigenaars, timestamps, grootte & pointers nr bestandsblokken) Directory = speciaal bestand, bevat # records - elk record = iNodenr + bestandsnaam Harde links: entry in dir, verwijst rechtstreeks nr iNode bestand, cross-filesystem nt mog & k nt als bestand nt bestaat Symbolische/Soft link: bestanden die verw nr padnamen (abs/rel), cross-FS & nr dir’s mogelijk
1.6
Toegangsrechten
•
• •
bestand/dir heeft: owner (UID) & group (GID), toegangsrechten: r-w-x, type bestand T: dir (d), file (-), bootable (b) chmod = wijzigen permissies: vb: chmod g+r bestand – string methode: chmod [ugoa]{+,-,=}[rwx] file – octale methode: chmod [0-7][0-7][0-7] file r=4, w=2, x=1 (vb rwx = 421 = 7) chown [user][:[group]] file = eigenaar veranderen chown group file = groep veranderen
1.7
Reguliere expressies [Oef-open boek]
1.8
Shell & Shell Scripting [Oef-open boek]
2
Installatie GNU/Linux & software
2.1
Installatie GNU/Linux
•
Distributie: verzameling v kernel/libraries/applicaties, SW vr install, config & update, doc’s & manuals, meestal vrij te dl’en install BS: cdrom/dvd/usb/netwerk/hdd, bios instellingen (1st booten v cd, dan v hdd) hdd = meerdere platters boven elkaar wrop koppen lezen, platters bestaan uit sporen onderverdeeld in sectoren, meerdere sporen boven elkr = cylinder partities: primaire partities (max 4), logische partities (onbeperkt in extended partitie) Filesystems: – EXT2: gevestigde waarde, stabiel mr gn journaal – EXT3 = EXT2+journaal: loggen te maken wijzigingen in journaal, uitvoeren wijzigingen, als gelukt wijzingen uit journaal Deze z compatibel: EXT3 mounten als EXT2 en omzetten EXT2 nr EXT3 – ReiserFS: stabiel, B+ tree (soort dynamische boom, gesorteerd) & beter vr kleine bestandjes bv mailserver – XFS & JFS: B+ tree & beter vr grote bestanden – SWAP: als geh te klein swappen, grootte ∼ RAM MBR: eerste 512 bytes hdd: Master Boot Record Partitietabel: gegevens over partities opgeslagen op hdd Opstarten GNU/Linux: bios laadt MBR (bevat LILO/GRUB loader), laadt /boot/map die verwijst nr kernel → kernel in geh laden, pakt & voert zichzelf uit → uitvoeren /sbin/init om op te starten Bootloader: controle over welk BS gestart w – LILO = Linux Loader: in MBR of root-partitie
• •
•
• • • •
• • •
•
2
–
GRUB = Grand Unified Bootloader: automatisch herkennen GNU/Linux GNU/Hurd, Windows, config in bestand, laden kernel-image of andere systemen via chainloading (laden andere loader) stages: ∗ stage 1: MBR te klein vr voll bootloader → verwijst nr stage 2 (andere plaats hdd) ∗ stage 2: tonen bootmenu, config file /boot/grub/menu.lst ∗ stage 1.5, tss 1 & 2: na MBR in DOS compat space
2.2
Installatie Software
•
Binaire SW installeren → problemen: backwards compatibility, distributieservers versch SW, gn garantie dat SW werkt op jouw systeem Red Hat Package Manager = RPM: – Red Hat verzorgt linux-distro’s – RPM: formaat om SW te install’en, bestanden .rpm, bevat geg’s over RPM databank (ge¨ınstall’de pakketten, ...) – install: rpm [opties] package-naam – RPM-repositories = verz pakketten → YUM = tool o/t zoeken in repo, te install’en vanuit repo, updaten/upgraden Debian Packages: apt-tools – Advanded Package Tool – componenten: .deb bestanden, dselect & dpkg (best’n selecteren, afhankelijkh detecteren,...), GUI: synaptic/adept apt-get: install’ie SW via servers in sources.list, apt-get update: pakketten in .deb – DB aanpassen, apt-get install pakketnaam & apt-cache search pakketnaam via broncode install’en: makefile (beschr afhankelijkheden & hoe broncode moet gecompiled w) + broncode (gecomprimeerd archiefbestand)
•
•
•
2.3
Processen
• •
• •
proces = lopend progr (mem-usage, cpu-time, IO-resources), prioriteiten & procesbeheer PID = procesidentifier: fork instructie: child proces cre¨eren (verch PID) & clone zichzelf vervangen (PID gelijk) init = oerproces: alle andere proc’n z kinderen v init, 1st opgestart na booten v kernel, PID=1, hoofdtaak = andere proc’n cre¨eren start scripts op in /etc/rcX.d met X=runlevel, hoe hoger hoe mr functionaliteit ps: alle processen in uitvoering daemons: 8rgrondproc’n, meestal slapend, eindigen op ‘d’, ∼ services in Win
3
Gebruikersbeheer
•
/etc/passwd bevatte vroger gecodeerde pw’n, nu nt mr want vr iedereen leesbr → /etc/shadow = gecodeerde pw’en (hash), enkel root-access /etc/group alle groepsinfo (welke users, permissions) nieuwe gebr toevoegen - manueel: editeren /etc/passwd bestand: login:pw:UID:GID:naam:dir:shell als pw-veld * ipv x (x = pw staat in shadow bestand) → root z rechten afnemen, enkel via sudo
•
• •
3
• • • • •
•
pw’n: max lifetime & min lifetime home-dir aanmaken mkdir /home/student bestanden die gebr-info (config) bijhouden, als gewist kmt user trug op std-config bestandspermissies via chown, gebruiker toekennen aan bep systeemfaciliteiten (hdd-ruimte, mail, printertoegang, toevoegen aan bep groepen in /etc/group) accounts testen & autom aanmaken: su = switch user – useradd, admintool, mkuser, cpcople, adduser – – userdel, rmuser, removeuser def v groepen: impliciet (elke nieuwe GID in /etc/passwd) - expliciet (ingeven in /etc/group) nagaan lidmaatschappen: group
4
Backup/restore & Storage
4.1
Inleiding
Backup = tranfereren v data op primaire pc-systemen nr secundaire opslag, bij verlies/schade k data op eender welk tijdstip gerecupereerd w, vr lange tijd off-site bewaard. •
•
Waarom: recovery bij HW failure, herstel bij catastrofen (brand), terugschroeven fouten gebruikers & terughalen best’n uit verleden Wat: data files die regelmatig veranderen, settings, users, voll systeem & files wrv orig verwijderd w → programmatuur en OS 1 voll backup verder nt vl backuppen, tmp-dirs nt Wanneer: afh v freq wrmee files veranderen, op elk tijdstip v/d dag, bij voorkeur bij weinig activiteit & automatiseren, voll backup bij bel ingreep Hoelang bewaren: regelmatig veranderende files nt lang, voll systeem vr langere tijd & wettelijk bep vr bep data (vb pati¨enten) Waar bewaren: 1 full backup vr snelle recovery, 1 off-site
4.2
Opslagmedia
•
Criteria: opslagcapaciteit, bewaartijd, betrouwbrh, prijs/bit & mogelijkh tt off-site archiveren – Cd’s-dvd’s-bluray: te klein mr goedkoop – Hdd: ∗ intern in pc’s: SATA (3gb/s), vroeger PATA (parallel, 8bits/keer mr alle 8 bufferen en apart controleren) & SCSI ∗ intern in servers: SAS (serial SCSI) en SATA ∗ externe hdd’s: goed vr persoonlijke backups ∗ vral handig in arrays (RAID) – Tapes: magneetband, kost/bit < hdd, makkelijk off-site, trager, duurzaam (10jr), recyclage & recovery → types: ∗ DAT (Digital Audio Tape) = DDS (Digital Data Storage): tt 32gb & 3.5MB/s ∗ (Super)DLT (Digital Linear Tape, opvolger DAT): tt 800/1600gb (compressie), 60/120mb/s, 75eur ∗ LTO (Linear Tape Open): 800gb/1.6TB, 120/240mb/s, 65eur ↔ DLT: 2x zo rap & goedkoper ∗ AIT (Advanced Intelligent Tape): SAIT: 500/1200gb, 30/78mb/s, 110eur
• • •
4
–
–
Disk Arrays: RAID (Redundant Arrays of Independend Disks) ∗ RAID-0: snelheid↑, 1 schijf weg = alles weg ∗ RAID-1: disk mirroring, trager schrijven, snel lezen & backup ∗ RAID-5: gedistr. pariteit RAID via netwerk:
(a)
(b)
∗ ∗
•
•
NAS (Network Attached Storage): OS+FS+HW op server → 1voudig SAN (Storage Area Network): hdd over netwerk aan pc alsof aan pc zelf (ipv files over netw, hele blocks) → snel mr gn routers zitten (→ in zelfde gebouw) – Tape Loaders Backup types: – Voll backup (langer mr zekerh) – Differenti¨ele: wijzigingen sinds ltste voll backup (hoe groter tijd sinds voll, hoe groter backup mr eenvoudiger om bep bestand te restoren) – Incrementele: wijzigingen sinds ltste voll, diff of incr (moeilijk bep bestand restoren maar tijdsbesparing) Tape backups → wel compressie: – Six Tape Rotation: 2 tapes vr einde week (vrijdag) full-backups (dus 2 weken ver backup), 4 tapes vr andere weekdagen (incr/diff) → vr kleinere bedrijven < tapes, goedkoop, 1voudig MAAR slechts 1 week data – Grandfather-Father-Son GFS: 4 tapes voor weekdagen (incr/diff), 4 tapes voor week (vrijdag) full-backups, 12 tapes vr maand full-backup beste bescherming data (1jr), maandelijks, 1voudig MAAR > tapes dus duurder – Tower of Hanoi: vb 5 tapes
(c)
•
(d)
eenvoudig,
5
– –
• • • • •
Snapshot: voll bestanden of enkel delta’s, wel geschiedenis Continuous Data Backup - CDB: elke versie v bestand backuppen, voll bestanden of delta’s, vb database-backup/commit in SVN, voll geschiedenis Tape Arhive - TAR: gwn files in 1 file verz’n, nt gecompr → compressie: gzip: .tar.gz Remote Sync - RSync: mirroren v bestanden (eig snapshot want remote) & enkel delta’s doorsturen (⇒ intensiever: hashing) vb via ssh CPIO (Unix): bestandsformaat vr opslaan archiefjes, progr om deze best’n te bewerken ↔ TAR: effici¨entere dataopslag & overslaan onleesbare plaatsen (fouten meenemen) ⇒ TAR mr gebr Dump & Restore: ook kiezen full/incr/diff, op blocks ipv files → partities backuppen. Dump = backup maken, restore = trugzetten Amanda: Advanced Maryland Automatic Network Disk Archiver & Bacula (open source): backups v bestanden v lokale hosts op server/tape. Componenten: – Director scheduler: comm sturen tss clients & storage deamons (= backup server) – Storage Deamon: schrijven/lezen tapes – File Daemon: uitvoeren verzoek v backup server (op client) – Console: beheertool – Database Server: beheert inhoudsopgave v alle gemaakte backups
5
Netwerk troubleshooting met OSI-model
• •
Protocol = verz afspraken, tss meerdere systemen i/e netwerk. Complex → taakverdeling OSI model: data versturen tss 2 punten (pakketje maken, versturen, ontvangen & openen), internationale standaard OSI, versch verpakkingen (headers) – fysieke laag: data bit per bit, binair, als elek/optische sign’n, beschrijft fysieke (netw-krt, kabeltype, ...) – data link laag: data in frames, error detectie (vb ethernet, token ring) – netwerk laag: data in pakketjes, pakketje sturen tss 2 netw’n, geschikte weg zoeken, flow control → IP – transport laag: data in segmenten, foutcontrole, hertransmissie, flow control (timing) → TCP via poorten – sessie laag: sessie tss 2 pc’s (maken, verbreken, onderhouden) → vb inloggen – presentatie laag: vertalen nr gem-sch taal, encryptie & compressie – applicatie laag: netwerkprog’s, versturen data/boodschappen, e-mail ontvangen → vb webbrowser (HTTP), email (SMTP), bestanden (FTP) DoD-model: network acces (= fysisch+dll), internet (=netw-laag), transport & appl-laag Host identificeren: – elke netw-kaart uniek mac-adres, geprogr dr fabrikant, 48bits – zelf IP-adres toekennen, 32bits = netw-adres + host-adres → netw-adres via subnetmask Netwerk opbouwen – hub: naar alle andere poorten doorsturen – switch: frame enkel naar juiste bestemmeling (mac-adres) – router: pakket nr ander subnet indien nodig (ip) Fouten opsporen: keuze afh v/d situatie (HW of SW probl) → bottom-up (onderaan OSI-model beginnen) & top-down – fysische: lampjes netw-krt branden, kabel testen (in ander deel netw), andere kabels install’n
• •
•
•
6
– – – – –
dll (zelfde segment): netw-krt defect, mac uniek, switch nakijken, pingen & arp-cache bekijken netw (voll netw): ng pc’s met probl’n, ip, netw-instell’n correct (router, dns), pingen (als binnen subnet ok mr verder niet → router, als ip pingen ok mr hostnames niet → dns) sessie/transp: sniffing & portscanning, gn tcp-handshaking, poorten geblocked dr firewall presentatie: probl in appl, verkeerde formaten appl: andere appl proberen
6
Internetdiensten & netwerkconfiguratie
6.1
Gebruik v internetdiensten
•
SSH: Secure Shell, om Unix(gebaseerde) machines te benaderen v op afstand, geeft shell toegang, veilige vervanger vr Telnet, rlogin, rsh uitbreidingen: SecureFtp SFtp, Scp & port forwarding (SSH tunnel) // vrije client: Putty, vrije server: OpenSSH STunnel: progr dat toelaat TCP-connecties te encrypteren in een Secure Socket Layer (SSL), gn verandering v code nodig in je protocols die je omvat met STunnel
•
6.2
Netwerkconfiguratie
configureren netwerk ifaces: insmod → ifconfig → route → /etc/resolv.conf •
• • • • • •
7
modules (drivers) laden: – netwerk driver meegecompileerd in kernel – handmatig inladen mbv insmod, controle mbv lsmod – automatisch inladen bij opstarten, correcte naam in /etc/modules interfaces instellen: via ifconfig, fysische netw-krten eth0 & loopback routing config: via route hostname & nameserver instellen: hostname in /etc/hostname meeste distro’s gebr’n scripts om netw-krtn in te stellen iface aliasing: 1 fysieke netw-krt kan meerdere IP’s hebben diagnostische tools: – ping: gebruikt Instant Control Message Protocol, testen verbinding v protocol – traceroute: detectie fouten nr bestemming – tcpdump: netwerksniffer, controleert alle verkeer dat e netw-iface passeert, werkt in promiscuous mode (accepteert alle pakketten die passeren) – nmap: poortscanner, kijkt welke prtn openstaan op server – telnet: netwerktool (remote connection opzetten)
Beheer v internetwerken
ISO-7498-4: 5 mgmt beheergebieden: 1.
Configuratiebeheer: detectie/sturing v/d staat v/h netwerk + logische/fysische config • detailleren v/d parameters v/d netw-config • inventaris actieve topologie 7
2.
3. 4. 5.
• overzicht v/d operationele status v/h netw • associatie gebr-apparaten • wijzigen systeemconfig → MAC-kost: personeelskost om apparaat toe te voegen Performantiebeheer: sturing/analyse v/d throughput & errorrate v/h netw, opmaken historieken, verder dan foutbeheer → fouten minimaliseren • statistieken verz’n over werking inet • logs maken over staat systeem • optimalisatie werking netwerk Foutbeheer: detecteren, isoleren & bijsturen v abnormaal netwerkgedrag Vr vl beheerders is dit enigste aspect v netw-beheer. NOT Accountbeheer: verz’n en verwerken v geg’s ivm verbruik v bronnen (cpu, mem) & bedrijven willen detailrekening v diensten Veiligheidsbeheer: toegangcontrole tt netw-bronnen, downtijd dr hackers, virussen, minimaliseren • cre¨eren, wissen & regelen v veiligheidsdiensten • verspreiden v info ivm veiligh • rapporteren v voorvallen mbt veiligh • forceren veilige w8wrdn • toegangsbeheer op netw-nivo instellen • zorgen vr remote access v netw-elementen om diagnostics toe te laten
Classificering beheersdiensten volgens gebruik: 3 gebruikersmodi: • • •
monitoring: beheersinfo verz’n controle: apparaten manipuleren rapportering: apparaten melden abnormale gebeurtenissen
7.1
Ad Hoc beheertechieken
•
•
ICMP: Internet Control Message Protocol, netw-laag, sturen foutmeldingen, onbereikbrh,... verzorgt administratie v netwerk – ping: bereikbrh testen, versturen echo request, transporttijd & verlies% – traceroute: zenden probe-pakketten over UDP (naar poort die nt gebr w), bep Time To Live insteken, als je gateway diagram ontvangt TTL+1 en herzenden tt TTL-drempel bereikt OF tt ICMP Port unreachable → bedoelde app bereikt Passief beheer: onderscheppen & analyseren pakketten: TCPDump, Wireshark, ...
7.2
Fundamenteel axioma v actief netw-beheer
Weerslag v toevoegen v netw-beheer o/d beheerde knoopptn mt minimaal z, & e kleinste gemene deler v faciliteiten v/d diverse apparaten vormen 7.3
Concepten v netw-beheerprotocollen
•
Agent-beheerder model: elk object 4 eigenschappen: attrib, werking, meldingen die stuurt & relaties met andere obj’n – Agent: leeft i/h te beheren object, def ervan in Management Information Base (MIB), rapporteert actuele status a/d beheerder & voert bevelen uit v/d beheerder 8
–
Beheerder: console die globale kennis v netw onderhoudt (GUI, DB, comm-faciliteiten) ∗ Structure of Management Information (SMI): boomstruct vr object identifiers OID’s ∗ MIB: definieert info over actuele obj’n die beheerd/bestuurd w → groeperen: · meer ordentelijke toekenning OID’s · definieert obj’n die agenten mtn implementeren 1. System groep: moet geimpl w in alle beheerde knoopptn, bevat alg systeeminfo (sysDescr, sysObjectId, sysUpTime, sysContact, sysName, sysLocation & sysServices SysServices = welke diensten netw-apparaat potentieel k aanbieden, geheel getal, init 0, vr elke laag in OSI (1-7) wrvr app diensten k aanbieden w 2laag−1 toegevoegd a/d waarde 2. Interfaces groep: moet geimpl w in alle beheerde knoopptn, alg info over entiteiten i/d ifacelaag ∗ protocol (SNMP, CMIP,...)
7.4
Simple Network Management Protocol (SNMP)
1.
Filosofie: volgens axioma → weining bronnen gebr’n ⇒ 4 operaties: • get: gebruikt om specifieke beheersinfo o/t vragen (v 1 attrib) • get-next: zr kr8ige operatie, dr MIB-stuct wandelen • set: beheersinfo manipuleren • trap: dient om abnrmle gebeurtenissen te rapporteren ∼alarm gebruikt UDP (poort 161 & 162 (trap)): stuurt g pakket trug, werkt ook als probl’n in netw ↔ TCP Administratief raamwerk SNMP • community = verhouding tss 1 agent & 1+ SNMP beheerder(s) • boodschap bevat 2 delen: – community name (string v bytes) samen met extra info om te verifi¨eren of de zendende SNMP-entiteit tt comm behoort – data die SNMP-operatie bevat + operands • Authorisatie: – MIB view = set obj’n uit MIB zichtbr vr community – toegangsmodus = toegang tt elk obj uit MIB view vr community (read/write only) – comm profile: toegelaten bewerkingen op elk object uit MIB view uit community, intersectie v MIB view en toegangsmodus • foreign device = knooppt die beheerprotocol nt rechtstreeks ondersteunt (gn TCP/IP of slechts deel, repeaters, bridges, switches & nt-IP routers/hosts) • proxy agent = vertalen v/d protocolinteracties nr noodz interactie v apparaat SNMP boodschappen: • transmissieframe: UDP transport verz alle SNMP boodsch’n en alle boodsch’n gebruiken poort 161 (behalve trap=162), standrd gn boodsch’n > 484bytes accepteren • structuur: versie identifier, SNMP comm-name (vr authenticatie) & Protocol Data Units • soorten: polling boodsch’n (request/response PDU’s) & trap boodsch’n (optreden events) Nadelen: UDP = connectieloos (betrouwbr?), gn filtering v info (alle info v obj opvragen, zelf filteren) & pollen v info kan BW verbruiken (zo compact mog houden)
2.
3.
4.
9
8
Servers
8.1
Dynamic Host Configuration Protocol - DHCP
•
dynamische config v computers (uitdelen hostnamen/ip’s, instellen netmask, domeinnaam, nameserver) dynamische config: range opstellen, nt gekende hosts krijgen ip in range default leasetime: als te lang: vrije ip’s te laat vrij & als te kort: veel checks comb statisch/dynamisch: vaste pc’s statisch, laptops dynamisch probl: clients v buiten subnet die dhcp-info vragen → uitschakelen vr anderen (‘not authorative’)
• • •
8.2
Domain Name Service - DNS
• •
•
vgl ‘telefoonboek’: mapping IP’s op pc/domein-namen opzetten DNS-server nt triviaal, config mogelijkheden: – caching only: steunt op antw’n v andere servers – primary: bestand met DNS gegevens v domein wr deze server authoritive vr is – secondary = kopie v primary (meerdere, master & slaves) nodig als je email wil sturen binnen organisatie
8.3
E-mail: Simple Mail Transfer Protocol - SMTP
• • • • • •
mail effici¨ent & betrouwbr transporteren domein v/d postbus: postbus@domein SMTP-server opzoeken, staat i/d DNS MX records v/h domein TCP connectie opzetten met server op poort 25 mail zelf via SMTP versturen IMAP (sync tss kopie op server & client(s)) ↔ POP
9
Hacking: introductie
Hacker = pers die geniet v intelectuele uitdaging om o/e creatieve onorthodoxe manier a technische beperkingen te ontsnappen ↔ Cracker: slechte bedoelingen, gebr hackers kennis zonder te begrijpen 3 gebieden: SW uitbuiten (zwakheden), netwerken (sniffen & aanvallen) & cryptologie (pw kraken/raden, versleuteld verkeer)
10
9.1
Netwerkhacks
zelfde als progr-hack: eerst regels v/h systeem leren kennen, dan hoe je ze k gebr’n om tt gewenste result te komen 1.
2.
3.
9.2
Actief Sniffen: • ethernet & switch: adressering obv MAC, switch stuurt enkel nr bestemmeling → sniffen andere pc’s nt mogelijk • Adress Resolution Protocol ARP: nagaan wat MAC is adhv IP ⇒ omzeilen door ‘man in the middle attack’: ARP poisoning: • spoofing: bronadres vervalsen in pakket • systeem dat ARP-reply ontvangt past ARP-cache aan met ontvangen info (ook als IP-adres al bestt, ARP-replies altijd aanvaard ook als gn request) • ARP poisoning: vervalste ARP-replies sturen nr te sniffen systeem: ARP cache vergiftigen met foute info • praktisch: pingen (=arp-request), dan arp-cache bekijken, dan mbv Nemesis spoofing & script schrijven die dit om de 10s doet TCP Hijacking: mbv TCP-handshaking: Initial Sequence Number (ISN) over1komen, deze volgnrs gebruikt om ontvangst te checken, handshaking = sync’n v volgnrs. 1maal connectie: • elk pakket volgnr • per verz’n byte +1 (vb SEQ=10, len=9 → ltste bit=SEQ=29, 1stvolgende w SEQ=30) • elk pakket hft als ACK het ontv’n volgnr + # ontv’n bytes (vb ACK w 30) Hijacking = verbinding tss host & sl8offer overnemen, communiceren mt host alsof aanvaller sl8offer is, gebruik maken v gespoofde pakketten Hangende TCP-connecties: pakketten met fout volgnr (nt nr volgende laag dr), pakket ontv’n met eerder volgnr (verwijderen), pakket met te hoog volgnr (opslaan vr reconstructie) & beide kanten foute volgnrs (gedesync’de staat = hangende connectie) ⇒ bericht sturen nr 1 v/d 2, volgnr++ → pc a stuurt op oude teller, pc b krijgt foute volgnrs & reageert nt → desync’d RST-hijacking: invoegen authentiek ogend RST-bericht (reset) → als juiste volgnr & gespoofd adres → verbinding opnieuw opstellen mr met aanvaller Denial of Service
gn info stelen, mr toegang service verhinderen, vaak afh v slechte impl service, laten crashen v service • • •
Ping of Death: specificaties ICMP - echo max # bytes, nt nr gekeken → crash bij overschrijden. Vrijwel alle moderne BS’n beschermd Teardrop: fout bij samenstellen gefragmenteerde IP’s, offset opgeslagen in header zorgt vr samenstellen IP-pakket zonder overlap → sturen pakket mt overlappende offset ‘domme aanvallen’: service proberen overbelasten (als BW groot gn effect), resource uitputten (cpu-cycles, systeemprocessen), netwerkresource voll blokkeren dr overladen verbindingsaanvragen – Ping flooding: groot # ping pakketten sturen – versterkte aanvallen: spoofing & broadcast adressen (ping nr broadcast mr IP sl8offer, antw’n allemaal), zelfde subnet met vl actieve hosts, moeilijk 8rhalen v wie het komt (UDP: connectionless & poort kiezen) – gedistribueerde DOS-flooding (D-DOS): # hosts aanvallen om deamon te plaatsen, deamons voeren aanval uit op 1 sl8offer → groot effect, moeilijk traceren
11
•
SYN flooding: sl8offer ontvangt SYN = om verbinding op te zetten, zet deze o/e stack → veel SYN’s sturen → stack vol, gn nieuwe verb’n mr // spoofing Port Scanning: nagaan welke poorten nr verbindingen luisteren & accepteren dr proberen TCP op poort op te zetten → detecteerbr ⇒ – Stealth SYN-scan: halfopen scan, handshake nt afronden: SYN → SYN/ACK trug → RST (anders SYN flooding, poort geblocked, en dit mag, nts mis mee) – FIN, X-MAS & NULL-SCANS: verzenden onzinpakket nr elke poort op doelsysteem → als poort luistert: pakket genegeerd, anders RST-pakket trug (FIN = FINpakket, XMAS=FIN, URG, PUSH vlag aan, NULL=gn vlaggen) – Spoofing decoys: verbergen achter lokvogels → vervalste verbindingen v/d decoy IP’s tss echte poortscanverbindingen, decoys mtn echt bestaan anders SYN-flooding (halfopen verb’n) IDLE-scanning: idle-host als tss-stap gebruiken (=host die nts anders verzend/verstuurd), IPID’s mtn vrspelbr z → aanvaller strt SYN/ACK nr idle host (8rhlen IP-ID, meerdere keren om vrspelbrh na te gn) → gespoofd SYN sturen nr sl8offer → stuurt SYN/ACK naar idle host (IPID++), idle host strt RST trug → SYN/ACK nr idle host sturen, idle host strt RST trug met verhoogd IP ⇒ poort open op target NMAP: Network Mapper, poortscanner, open source
10
Firewall - FW
– •
•
10.1 Introductie Wat wel: nadruk op security, beveilingsbeleid afdwingen, activiteiten loggen & afschermen systemen Wat niet: beschermen tgn interne aanvallen, tgn onzichtbare connecties, tgn ‘day-zero attacks’, tgn virussen & zichzelf automatisch instellen 10.2 Pakketfiltering • • • • •
netw-verkeer in pakketten → IP FW: IP datagrammen, protocollen v transp-laag filteren inkomende/uitgaande pakketten forwarding FW: FW vr hub ↔ persoonlijke FW soorten FW’s: statische = stateless filterende FW (= filterende router), dynamische = statefull FW, application-level gateway, proxy pakketten: deny/accept op basis v header: GNU/Linux: – kernel 2.0: ipfwadm – kernel 2.2: ipchains: ‘ketens’ v regels wraan pakketten onderworpen w → input chain (inkomende pakketten), output chain & forward chain (wat gerouteerd mag w indien router) → deny all/accept all policy
12
(e)
• •
(f)
– kernel 2.4: iptables filteren in-pakketten: IP afzender (spoofing!) + IP bron (lokaal) + bronpoort + afz-poort (lokaal) filteren out-pakketten: IP afzender (lokaal) + IP bestemmeling + poorten
10.3 Ip-tables Figuur 1: ipchains - iptables
(a) ipchains
• • •
(b) iptables
3 standaardtables: filter (nrmle filters, met input/output/fw chains) + nat (specifiek vr Network Adress Translation, prerouting & output chains) & mangle (vr wijzigen pakketten) acties met pakketten: Accept - Drop (negeren) - Queue (nr userspace sturen) - Return (cf ipchains: deny) opties: multiport match (= meerdere prtn specifi¨eren), limit match (anticiperen op ‘bursts’) & mac match (filteren op mac)
10.4 Proxy • • • • •
Extra schakel tss client & server Doelstellingen: verkeer filteren, cachen, anonimiteit Richting: LAN-Internet = proxy ↔ Internet-LAN = reverse proxy werking zie fig transparante proxy: alsof directe verbinding met inet (http paketten via proxy, andere nt)
13
10.5 Firewall in infrastructuur • •
basic = 2 zones: internet - intranet simple = 3 zones: internet - De-Militarized Zone: DMZ - intranet ofwel 1 FW: tss DMZ+intranet & internet (DMZ & intranet gesplitst) ofwel 2 FW’s
(c) 2 zones - opstelling
(d) 3 zones - 1 FW
(e) 3 zondes - 2 FW’s
(f) 3 zones - opstellingen
14