Linux
Overzicht ¢ 1. RPM (RedHat Package Manager) ¢ 2. Bash (Born against shell) ¢ 3. Networking (ifconfig, route, netstat, tcpdump) ¢ 4. DNS (Bind) ¢ 5. DHCP ¢ 6. Xinetd (super daemon, ftp, pop, imap) ¢ 7. Apache ¢ 8. SMB (+SWAT) ¢ 9. Mail servers (Sendmail en qmail)
Dagindeling ¢ 08: :00 Introductie ¢ 09: :30 RPM, Bash, Networking ¢ 10: :45 pauze ¢ 10: :30 DNS, DHCP ¢ 12: :15 pauze ¢ 13: :00 Xinetd, Apache ¢ 15: :15 pauze ¢ 15: :00 SMB, Mail ¢ 17:00 - ? vragen
1. RPM (RedHat Package Manager) ¢ 1.1 packages src ¢ 1.2 debian redhat slackware mandrake ¢ 1.3 rpm (de tool) ¢ 1.4 packages vinden
1.1 packages src ¢ gebruiksvriendelijkheid ¢ dependencies ¢ version control ¢ uniformiteit ¢ platformonafhankelijk
1.2 debian redhat slackware mandrake ¢ eigen keuze ¢ maar ! ¢ keuze is afhankelijk van het doel ¢ NIET van persoonlijke willekeur/smaak
1.3 rpm (de tool) ¢ install " rpm -Uvh, rpm -Fvh ¢ remove " rpm --erase ¢ verify ¢ build ¢ query
1.4 packages vinden ¢ RedHat installatie CD's ¢ powertools (ftp://ftp.redhat.com) ¢ contrib (ftp://ftp.redhat.com) ¢ ¢ ¢ altijd RPM voor jou distributie en versie installeren
2. Bash (Born against shell) ¢ 2.1 Bash ¢ 2.2 syntax ¢ 2.3 voorbeeld scripts (/etc/rc.d/) ¢ 2.4 awk, sed ¢ 2.5 enkele oef.
2.1 Bash ¢ command interpreter ¢ Solaris --> ksh ¢ Windows --> dos ¢ Linux --> bash ¢ eigen syntax
2.2 syntax ¢ waarde toewijzen " a="hello world" ¢ waarde laten zien " echo $a ¢ if conditie " if [ "$a" = "hello world" ]; then echo "dit is mijn eerste bash programma" fi " if [ -d /etc ]; then echo "de directory /etc bestaat" fi
2.2 syntax (2) ¢ for lus " list=" " for item in $list do echo $item done
2.2 syntax (3) ¢ while lus " while true do /root/fs-sync/do-sync sleep 1800 done
2.3 voorbeeld scripts (/etc/rc.d/) ¢ /etc/rc.d/rc.sysinit ¢ /etc/rc.d/rc ¢ /etc/rc.d/rc.local
2.4 awk, sed ¢ awk " pattern scanning and processing language " cat /etc/passwd | awk -F":" '{ print $1}' ¢ sed " stream editor " cat /etc/passwd | sed -e 's/:/##/g'
2.5 enkele oef. ¢ maak voor alle users van het systeem een home directory aan ¢ controleer of alle home directory's die in /etc/passwd staan, ook effectief bestaan
3. Networking (ifconfig, route, netstat, tcpdump) ¢ 3.1 Device Configuratie ¢ 3.2 Virtual Hosts ¢ 3.3 Subnetten ¢ 3.4 Poorten IP adressen ¢ 3.5 Tcpdump
3.1 Device Configuratie ¢ eth0, eth1, eth2, eth3, ¢ /etc/sysconfig/network ¢ /etc/sysconfig/network-scripts/ ¢ /etc/hosts ¢ /etc/resolv.conf ¢ /etc/nsswitch.conf
3.2 Virtual Hosts ¢ Meerdere interfaces aan 1 fysiek device toewijzen " eth0:0, eth0:1, eth0:2, ¢ Elk device werkt volkomen onafhankelijk
3.3 Subnetten ¢ ns.sin.khk.be: subnet ( ) ¢ ns.khk.be: subnet ( ) ¢ default route walhalla: (zie /etc/sysconfig/network) " ¢ route add -net gw netmask eth0 "
3.4 Poorten IP adressen ¢ Wat? ¢ /etc/services ¢ /bin/netstat ¢ Portscans
3.5 Tcpdump ¢ pakket sniffer " tcpdump -i eth0 -n
4. DNS (Bind) ¢ 4.1 Geschiedenis ¢ 4.2 Hoe werkt het? ¢ 4.3 /etc/named.conf ¢ 4.4 round robin ¢ 4.5 hulpmiddelen bij debuggen
4.1 Geschiedenis ¢ Internet ¢ HOSTS.TXT ¢ Domain Name System (DNS)
4.1.1 Internet ¢ U.S. Departement of Defense's Advanced Research Projects Agency --> ARPAnet --> DARPAnet " research organizations ¢ TCP/IP --> BSD Unix (free) ¢ DARPAnet --> NSFNET (National Science Foundation) ¢NSFNET --> MCI, Sprint, PSINet en Uunet ¢
4.1.2 HOSTS.TXT ¢ 1970: ARPAnet --> HOSTS.TXT " een 100-tal hosts " SRI's Network Information Center --> SRI-NIC " veranderingen met " om de 2 weken HOSTS.TXT ftp'en ¢ TCP/IP --> explosie van het aantal hosts " Traffic and load " Name collisions " Consistency ¢ succes van DARPAnet --> dood van HOSTS.TXT
4.1.3 Domain Name System (DNS) ¢ Paul Mockapetris (USC's Information Science Institute) (1984) " RFC 882 en 883 (Requests for Comments documents) " RFC 1034 en 1035 " DNS security fixes, dynamische update protocol,... ¢ JEEVES (Paul Mockapetris) ¢ BIND 4.3 voor BSD Unix (Kevin Dunlap) ¢ ISC (Internet Software Consortium) "
4.2 Hoe werkt het? ¢ Structuur ¢ Delegatie ¢ Soorten name servers ¢ Data files ¢ Name resolving ¢ Adres resolving
4.2.1 Structuur ¢ The Internet Domain name space ¢ Top-Level Domains ¢ Further Down
4.2.1 Structuur ¢ The Internet Domain name space ¢ Top-Level Domains ¢ Further Down
4.2.2 Delegatie
4.2.3 Soorten name servers ¢ Root Name Servers ¢ Primary Master ¢ Secondary Master " slave " redundancy " load balancing
4.2.4 Data files ¢ Zone data files ¢ Primary Master " heeft de file ¢ Secondary Master " pikt ze op via zone transfer " bij veranderingen --> nieuwe file oppikken
4.2.5 Name resolving
4.2.6 Adres resolving
4.3 /etc/named.conf ¢ /var/named ¢ named.root ¢ master/ ¢ slave/ ¢ zone files
4.3.1 /var/named ¢ home directory van bind ¢ chroot naar deze dir
4.3.2 named.root ¢ Locaties van de root servers
4.3.3 master/ ¢ alle primary master zone file
4.3.4 slave/ ¢ Alle secondary master zone files
4.3.5 zone files ¢ SOA record entry ¢ NS ¢ MX ¢ A ¢ CNAME ¢ PTR
4.3.5 zone files (2)
4.3.5 zone files (3)
4.3.5 zone files (4)
4.3.5 zone files (5)
4.3.5 zone files (6)
4.3.5 zone files (7)
4.4 round robin ¢ Load balancing
4.5 hulpmiddelen bij debuggen ¢ host ¢ nslookup ¢ dig
4.5.1 host
4.5.2 nslookup
4.5.3 dig
5. DHCP ¢ 5.1 wat? ¢ 5.2 hoe? ¢ 5.3 linux implementatie " dhcpd (server) " dhcpcd of pumpd (client)
5.1 wat? ¢ DHCP --> Dynamic Host configuration protocol ¢ management ¢ veranderingen ¢ gevaren
5.2 hoe? ¢Feb 17 22:07:47 Ronin_Tech dhclient: DHCPDISCOVER on eth0 to port 67 interval 6 ¢Feb 17 22:07:53 Ronin_Tech dhclient: DHCPDISCOVER on eth0 to port 67 interval 7 ¢Feb 17 22:07:53 Ronin_Tech dhclient: DHCPOFFER from ¢Feb 17 22:07:56 Ronin_Tech dhclient: DHCPREQUEST on eth0 to port 67 ¢Feb 17 22:08:03 Ronin_Tech dhclient: DHCPREQUEST on eth0 to port 67 ¢Feb 17 22:08:10 Ronin_Tech dhclient: DHCPACK from
5.3.1 dhcpd (server) ¢ 1 centrale config file " /etc/dhcpd.conf ¢ log output --> /var/log/messages
5.3.2 dhcpcd of pumpd (client) ¢ 2 dhcp clients ¢ dhcp server afh. ¢ pumpd problemen als het op een andere interface dan de eerste gebruikt wordt !
6. Xinetd (super daemon, ftp, pop, imap) ¢ 6.1 xinetd of daemon ¢ 6.2 /etc/xinetd.d/ (ftp, pop, imap,....) ¢ 6.3 /etc/hosts.allow, /etc/hosts/deny ¢ 6.4 problemen bij gebruik van xinetd
6.1 xinetd of daemon ¢ xinetd daemon ¢ apache?, ftp?, ssh?, telnet?,... ¢ dubbele opl?
6.2 /etc/xinetd.d/ (ftp, pop, imap,....) ¢ elke service eigen confg file ¢ flexibel
6.3 /etc/hosts.allow, /etc/hosts/deny ¢ access control ¢ niet 100% perfect " --> afh. van de juiste werking van xinetd " --> fw steeds beter
6.4 problemen bij gebruik van xinetd ¢ groot aantal connecties per min. " --> xinetd schakelt zich uit... ¢ vb: transparante proxy: fw proxy client HTTP request proxy request HTTP request local redirect trought xinetd > >
7. Apache ¢ 7.1 HTTP/1.0, HTTP/1.1 ¢ 7.2 Basisconfiguratie ¢ 7.3 Virtual Hosts ¢ 7.4 PHP
7.1 HTTP/1.0, HTTP/1.1 ¢ HyperText Transfer Protocol ¢ RFC 2616 ¢ Uitbreidingen: " SSL " JAVA "... verzoek antwoord
7.1 HTTP/1.0, HTTP/1.1 (2) GET HTTP/1.1 host: localhost Referer: User-Agent: Netscape HTTP/ OK Date: Sun, 21 Nov :41:08 GMT Server: Apache/1.3.9 (Unix) (Red Hat/Linux) Last-Modified: Sun, 21 Nov :30:31 GMT ETag: "180a-af " Accept-Ranges: bytes Content-Length: 175 Content-Type: text/html Test BOE telnet 0 80
7.1 HTTP/1.0, HTTP/1.1 (3) GET HTTP/1.1 host: localhost Referer: User-Agent: Netscape GET URL PROTOCOL host: server Referer: verwijzing User-Agent: client : lege regel
7.1 HTTP/1.0, HTTP/1.1 (4) HTTP/ OK Date: Sun, 21 Nov :41:08 GMT Server: Apache/1.3.9 (Unix) (Red Hat/Linux) Last-Modified: Sun, 21 Nov :30:31 GMT ETag: "180a-af " Accept-Ranges: bytes Content-Length: 175 Content-Type: text/html Test BOE Protocol Status Status-melding Date: Datum Server: ServerOS & serversoftware Last-Modified: Datum aanpassing pagina ETag: Entity Tag Accept-Ranges: bytes Content-Length: lengte Content-Type: type Lege regel PAGINA
7.1 HTTP/1.0, HTTP/1.1 (5) HTTP-server A PAtCHy server
7.2 Basisconfiguratie ¢ vroeger nu ¢ basisconfiguratie ¢ httpd.conf
7.2.1 vroeger nu ¢ Vroeger " /etc/httpd/conf/httpd.conf " /etc/httpd/conf/srm.conf " /etc/httpd/conf/access.conf ¢ Laatste versie " /etc/http/conf/httpd.conf " Andere bestanden vervallen
7.2.2 basisconfiguratie ¢ Globale instellingen " aantal server " logfiles ¢ Serverconfiguratie " UID " Gebruikersrechten ¢ Virtual hosts
7.2.3 httpd.conf ¢ meerdere secties ¢ zie voorbeeld
7.3 Virtual Hosts Andere pagina s per URL ¢ BindAdress ¢ ¢ HTTP/1.0 HTTP/1.1
7.4 PHP ¢ ~ASP ¢ Hypertext Preprocessor ¢ mod_php " extra rpm
8. SMB (+SWAT) ¢ 8.1 smb en nmb ¢ 8.2 /etc/smb.conf ¢ 8.3 SWAT ¢ 8.4 domain controller ¢ 8.5 problemen ¢ 8.6 Windows 2000
8.1 smb en nmb ¢ smb --> file en print sharing daemon ¢ nmb --> netbios daemon --> resolutie van netbios names ¢ 2 aparte daemons
8.2 /etc/smb.conf ¢ centrale config file ¢ 1 global section ¢ per share 1 sectie ¢ man smb.conf voor alle syntaxes
8.3 SWAT ¢ opzetten in xinetd ¢ webtool voor de config van SMB ¢ manuele herstart aangeraden
8.4 domain controller ¢ smb kan PDC spelen ¢ BDC onmogelijk ¢ domain logins ¢ 1 SMB kan oneindig aantal domains beheren
8.5 problemen ¢ encrypted passwords ¢ NMB over meerdere subnetten " remote announce ¢ file system permissies ¢ ACL maar met laatste versie mogelijk
8.6 Windows 2000 ¢ domain concept volledig veranderd ¢ file en printer sharing mogelijk
9. Mail servers (Sendmail en qmail) ¢ 9.1 servers ¢ 9.2 SMTP ¢ 9.3 sendmail config ¢ 9.4 m4 ¢ 9.5 aliassen ¢ 9.6 virtual host ¢ 9.7 relaying ¢ 9.8 backup
9.1 servers ¢ normale mailservers " sendmail ¢ zware systemen " qmail ¢ speciale functionaliteit: " mailfooter: qmail " masqerading: sendmail "....
9.2 SMTP EHLO zender.domain.be HELO zender.domain.be MAIL From: RCPT To: DATA xxxxxxxxxxxxxxxxxxxxxxxxxx. QUIT
9.3 sendmail config ¢ m4 ¢ aliasen & mailinglijsten ¢ virtual hosts ¢ relaying ¢ backup mailservers
9.4 m4 ¢ maken van een sendmail configuratie ¢ /usr/lib/sendmail.cf ¢ definiëren van gewenste blokken ¢ opgeven van parameters ¢ sendmail.cf maken
9.5 aliassen ¢ /etc/aliases ¢ newaliases ¢ 4 soorten " server:dag,rsmeyers,wim " server::include: /etc/admins " server:/dev/null " test:|/usr/local/scripts/testmail ¢ newaliases ¢ meerdere alias-files
9.6 virtual host ¢ Aliases per domein ¢ /etc/mail/virtusertable ¢ volgorde " aliases " virtual users " local delivery
9.7 relaying smtp.ergens.net
9.7 relaying ¢ Om SPAM te voorkomen ¢ afzender moet lokaal zijn ¢ of voorkomen in de relay-allow ¢ andere anti-spam-maatregelen " /etc/mail/access
9.8 backup ¢ MX-record in DNS ¢ relaying!! ¢ Queue-time ¢ queue moven ¢ mailq mail.acunia.com MX 10 mail.hostit.be MX 100