Uitbouw van een netwerk infrastructuur

Maat: px
Weergave met pagina beginnen:

Download "Uitbouw van een netwerk infrastructuur"

Transcriptie

1 Departement Industriële Wetenschappen (INWE) Vakgroep Informatica Academiejaar Uitbouw van een netwerk infrastructuur Wim Daelemans Promotor: Joris Moreau Scriptie voorgedragen tot het behalen van de graad van Industriëel Ingenieur Informatica

2

3 Departement Industriële Wetenschappen (INWE) Vakgroep Informatica Academiejaar Uitbouw van een netwerk infrastructuur Wim Daelemans Promotor: Joris Moreau Scriptie voorgedragen tot het behalen van de graad van Industriëel Ingenieur Informatica

4 Woord vooraf Mijn dank gaat uit naar mijn interne begeleider, dhr. Joris Moreau. Hij verschafte mij de nodige richtlijnen voor het tot stand brengen van dit werk, en las het grootste stuk ervan na. Daarnaast wil ik ook dhr. Peter Willems, en andere werknemers van vzw Capelderij, bedanken voor hun medewerking en vertrouwen. Tenslotte een woord van dank aan mijn ouders, voor hun morele steun. Wim Daelemans Gent, mei 2004

5 Inhoudsopgave Woord vooraf 2 Inleiding 7 1 Situering Vroegere situatie Primitief netwerkje voor administratie Andere pc s voor hulpverleners Behoeftes Vernieuwingen Windows versus Linux Netwerk Gateway en modem Server Internet verbinding Website Printserver Aanleg netwerk Beschrijving situatie Keuze netwerkmateriaal Glasvezel rootswitch Gemengde rootswitch Geen rootswitch Softwarematig switchen via pc Uiteindelijke oplossing: gebruik maken van converters Opbouw netwerk Logische opbouw Fysische opbouw Beveiliging MAC-Address Spoofing ARP Spoofing IP Spoofing

6 Inhoudsopgave Configuratie van netwerkmateriaal Firmware upgrade Poort configuratie VLAN s Gateway installatie en configuratie Keuze hardware en software Keuze hardware Keuze software Beveiliging Probleem met Open Source software Lokale aanvallen versus netwerk aanvallen Draaiende hoeveelheid code beperken Inbraak zo snel mogelijk ontdekken en melden Installatie van het OS Installatie CD-ROM Installatieprocedure voor het basis Debian systeem Upgrade naar Adamantix Configuratie en beveiliging van het OS Installatie van extra pakketten Keuze van de Linux-kernel Kernel configuratie Kernel compilatie Opstartbaar maken van de kernel Verdere beveiliging Netwerk configuratie Firewall DHCP Server Raamplanbeheer Vroegere situatie Mogelijke oplossingen Ideale oplossing Commerciële oplossing Workflow via File sharing van Word-documenten via netwerk Database systeem Zuiver CVS systeem Combinatie CVS, L A TEX en scripting Keuze van implementatie software Programmeertaal Database server Opmaken en produceren van het document

7 Inhoudsopgave Gebruikershandleiding ter beschrijving van structuur en mogelijkheden Gebruikers De gebruikersinterface Foutmelding Word template bestand creëren Nieuwe paragraaftypes De raamplanversie aanmaken Nieuw raamplan Werkverdeling Inhoud raamplan bekijken/bewerken Geproduceerd Word-document verkrijgen Implementatie details Visual Studio.NET project Bestanden Het MVC ontwerpmodel Het template systeem en de klasse TemplatePage Eigen controls Menubalk Selectiebalk Cascading style sheets Database klasse Aanmelden en Active Directory Word DCOM object Internationalisatie Foutafhandeling Volgorde van opladen Het installeren van de toepassing op een productieserver Microsoft Word-Document DCOM object Microsoft SQL Server Microsoft IIS Internet verbinding Keuze van de lijn Router Configuratie ADSL-modem Gegevens Connectie met modem Opzetten ADSL verbinding Aanmaken van de gepaste routes Forwarding Pingen Linux Gateway Configuratie zonder Linux Gateway

8 Inhoudsopgave 6 6 Mailserver Inleiding Installatie Pre-installatie Hoofdinstallatie Configuratie MMC Exchangetools Verplaatsen van de Mailbox Store naar andere partitie Limiet mailboxen instellen Wijzigen van het domein Internet mail ontvangen Basis beveiliging Mailboxen aanmaken Mailbox instellingen aanpassen De clients Printserver Configuratie van de printserver Configuratie van de clients Configuratie van de Windows 98/Me clients Configuratie van Windows XP clients Referentielijst 89 Index 90

9 Inleiding Als onderwerp voor dit eindwerk werd gekozen voor het uitbreiden van een netwerk infrastructuur. Deze titel is nogal vaag omdat er vrij uiteenlopende taken moesten worden volbracht. Eerst en vooral moest het bestaande netwerk worden uitgebreid naar een groter netwerk dat zich over meerdere gebouwen uitstrekt. Hiervoor werd professionele netwerkapparatuur aangekocht, geïnstalleerd en geconfigureerd. Vervolgens moesten er verschillende diensten worden aangeboden op het netwerk. Zo moesten alle clients op het netwerk gebruik kunnen maken van één enkele gedeelde Internet verbinding. Er moest ook kunnen gebruik gemaakt worden van gezamenlijke printers, en er moesten bestanden kunnen worden gedeeld op het netwerk. Een andere belangrijke vereiste was een infrastructuur. Elke medewerker moest een eigen mailbox krijgen. Het en moest zowel lokaal werken (tussen medewerkers onderling), als extern (tussen een medewerker en een willekeurige Internet gebruiker). Tenslotte was er ook nood aan een netwerktoepassing waarmee op een efficiënte manier bepaalde verslagen konden worden opgesteld en beheerd. Voor het verwezenlijken van dit alles werden verschillende systemen en technologieën gebruikt. Zo bestond een deel van het werk uit het installeren en configureren van netwerkapparatuur, het configureren van een Windows server, het opzetten van een Linux gateway, en het programmeren van een netwerktoepassing. Er werd dus niet fanatiek gekozen voor ofwel een zuivere Windows omgeving, ofwel een zuivere Linux omgeving. Het beste uit beide werelden werd gecombineerd. De rode draad door dit alles was de beveiliging. Persoonlijk vind ik een informatica systeem weinig waard als er geen zorg werd besteed aan de beveiliging ervan. Wegens tijdsgebrek werd niet alles steeds paranoïde beveiligd, maar er werd wel altijd aangegeven hoe dit zou moeten gebeuren. Hopelijk beleeft u veel plezier aan het lezen van dit eindwerk, en steekt u er iets van op. 7

10 Hoofdstuk 1 Situering Het MPI 1 Capelderij is een instelling voor jeugdhulpverlening in Opdorp 2 (deelgemeente van Buggenhout). Op het terrein zijn verschillende gebouwen aanwezig, omringd door vijvers en prachtige natuur. In de televisiereeks Stille Waters werd er dan ook dankbaar gebruik gemaakt van deze omgeving. Tot de belangrijkste gebouwen behoort onder andere het kasteel. Hierin bevindt zich het bureau van de directeur, evenals de administratie. Momenteel zitten er ook een paar hulpverleners. Een ander gebouw op het terrein is de villa. In dit gebouw is het merendeel van de hulpverleners gevestigd. In dit gebouw is ook de woonplaats gevestigd van één enkele jongere. Als derde belangrijke gebouw kunnen we de school vernoemen. Het gaat hier om de vrije beroepsschool B.O. 3, eveneens behorende tot de vzw Capelderij. Deze school zal in de toekomst ook van Internet toegang moeten voorzien worden. Verder zijn er op het terrein nog verschillende appartementsgebouwen, waarin de jongeren zelf gevestigd zijn. 1.1 Vroegere situatie Dit is allemaal mooi en wel, het lijkt zelfs bijna op een sprookje. Wat is nu eigenlijk het probleem? Wel, zoals je waarschijnlijk al kon raden: de informatica infrastructuur. 1 Medisch Pedagogisch Instituut 2 Het middelpunt van Vlaanderen 3 Bijzonder Onderwijs 8

11 Hoofdstuk 1. Situering Primitief netwerkje voor administratie Voor de administratie was er reeds een primitief netwerkje aanwezig. Hiervoor werd een kleine switch/router gebruikt die ook verbonden was met een Telenet ethernet modem, en zo het netwerk van een gedeelde Internet verbinding voorzag. Via deze switch werden een paar pc s, met clientsoftware voor administratie, verbonden met de server, waarop de database draaide voor deze software. Deze server (van het merk Compaq) draait Windows 2000 Server (versie ) met service pack 3. Hij is voorzien van één Intel Pentium III 1133Mhz processor en 512MB RAM geheugen, en biedt de mogelijkheid om een tweede processor bij te plaatsen. Voor opslag was hij oorspronkelijk uitgerust met twee hardeschijven van 40GB in RAID 1 (dus 40GB effectieve opslagruimte). Momenteel zijn dat er twee van 80GB geworden. Voor het administratieve programma draait op deze server het DBMS MS SQL Server. De server werd geleverd door het bedrijf NC Computing. De software werd voordelig aangekocht via de AVW 4 organisatie van Sumika Andere pc s voor hulpverleners De hulpverleners werken ook op pc s, maar deze waren oorspronkelijk niet met het primitief netwerkje verbonden. Ze gebruikten deze pc s vooral voor het opmaken van jongerenverslagen, die men raamplannen noemt. Het probleem is, dat verschillende hulpverleners aan dezelfde verslagen moeten kunnen werken. Een verslag handelt over een bepaalde jongere, en elke hulpverlener (bijvoorbeeld de gezinsbegeleider of de logopedist) voegt daar zijn bijdrage aan toe. De toenmalige werkwijze ging als volgt. Iedere hulpverlener opende een sjabloonbestand in Word. Dit werd dan aangevuld, opgeslagen en op een diskette geplaatst. Wanneer iedereen zijn deel afgewerkt had, wat maximaal kon duren tot zes maanden na het vorige raamplan, werden alle diskettes afgeleverd aan de coach, de verantwoordelijke voor dat speciefieke raamplan. Die knipte en plakte alle afzonderlijke teksten in één globaal Word document, en maakte dan de opmaak uniform. Vervolgens werd het document afgedrukt en doorgegeven zodat iedereen het kon inkijken. 1.2 Behoeftes Internet: Er zijn computers waarop steeds betrouwbare mensen werken, en er zijn er waarop mogelijk onbetrouwbare mensen werken. Deze werkposten zijn verspreid over 3 gebouwen (de villa, het kasteel en de school), die onderling op 150m afstand van elkaar liggen. Beide soorten werkposten moeten Internet toegang krijgen. Er zou dus een betrouwbaar netwerk moeten komen, waarop de medewerkers werken, en een onbetrouwbaar netwerk, waarop de clients enkel worden gebruikt om te surfen. Toch moeten 4 Automatisatie Vlaamse Welzijnszorg

12 Hoofdstuk 1. Situering 10 beide netwerken via dezelfde fysieke netwerkinfrastructuur naar het kasteel worden geleid, want daar bevindt zich de Internet gateway. Firewall: Tussen het Internet en het lokaal netwerk, alsook tussen het betrouwbaar deel van het lokaal netwerk en het onbetrouwbaar deel, moet een firewall geplaatst worden. Eigen domeinnaam: De vzw Capelderij wenst de domeinnaam capelderij.be. boxen: Elke werknemer moet een eigen mailbox krijgen, en een bijhorend adres van de vorm Website: De vzw Capelderij wenst ook een eigen website, onder het adres Deze zal onderhouden worden door mensen met een zeer beperkte informatica kennis. Printserver: In het printlokaal van het kasteel komt een printer, waarop via het betrouwbare netwerk moet kunnen worden geprint. Geoptimaliseerd raamplanbeheer: De hulpverleners moeten via het netwerk op een efficiënte manier aan de raamplannen kunnen werken. Verschillende personen moeten gelijktijdig aan hetzelfde raamplan kunnen werken, en de reeds ingevulde delen van andere medewerkers kunnen inkijken. 1.3 Vernieuwingen Windows versus Linux Oorspronkelijk was het de bedoeling van zoveel mogelijk diensten aan te bieden op een Linux server. Zo zou ik bijvoorbeeld bij voorkeur een Sendmail mailserver geïnstalleerd hebben, en MySQL in combinatie met Java Server Pages of iets dergelijks voor het raamplanbeheer. Een van de nadelen is dan dat er op dezelfde machine als waarop de firewall geïnstalleerd is nog een pak andere services uitgevoerd worden. Dit is niet ideaal qua beveiliging. Het grote voordeel van het uitvoeren van al deze diensten op een Linux machine is de stabiliteit, performantie, de hoge beschikbaarheid van documentatie en hulp, en natuurlijk ook de onafhankelijkheid van commerciële belangen. De gehele Linux oplossing zou namelijk volledig gratis zijn geweest. De zaken zijn echter iets anders uitgedraaid. Toen het bedrijf NC Computing, dat de server en support leverde aan de instelling, hoorde van de veranderingen werd onmiddellijk een vergadering belegd waarop ik eveneens aanwezig was. Uit die vergadering, waarin vrij agressief uitgehaald werd naar mij, mijn eindwerk en Linux, werd vooral de ondersteuning van de configuratie op lange termijn aangehaald. Wanneer er problemen zouden optreden na afloop van mijn eindwerk, wie zou dan de support leveren? NC Computing levert geen support voor

13 Hoofdstuk 1. Situering 11 Linux, enkel voor Windows systemen. Aangezien de vzw in de toekomst verder wou met NC Computing, moest er dus een compromis gesloten worden. Als mailserver is uiteindelijk gekozen voor Microsoft Exchange Server Een bijkomend voordeel is dat er, wanneer we bovendien met Outlook clients werken, kan gewerkt worden met het MAPI protocol van Microsoft. Hierdoor werken server en clients optimaal samen. Alle s, contacts, agenda s,... worden centraal op de server bewaard. Bovendien is het mogelijk om agenda s te delen zodat de medewerkers, indien toegestaan, de agenda van andere medewerkers kunnen raadplegen en/of aanpassen. Voor de ontwikkeling van het raamplanbeheer werd gekozen voor de programmeertaal ASP.NET. Hiervoor is het.net Framework vereist, maar dit is gratis te downloaden. IIS (webserver van Microsoft) is ook aangewezen, en maakt standaard deel uit van het Windows 2000 Server besturingssysteem. Als databank systeem tenslotte werd gebruik gemaakt van Microsoft SQL Server, omdat deze reeds aanwezig was voor de administratieve toepassing. In de Windows en Exchange wereld is ook Active Directory niet uit te sluiten. Hiervan werd dan ook zoveel mogelijk gebruik gemaakt. Ook de file- en printersharing werd op de Windows Server geïmplementeerd. Tenslotte werd ook een DNS (voor het domein capelderij.local ) en DHCP server voor het betrouwbare netwerk geconfigureerd Netwerk Voor alle eerder vernoemde behoeften is het fysieke netwerk van essentieel belang. Daarom werd het ook grondig en professioneel uitgebreid. Voor de verbindingen tussen de gebouwen werd er bijvoorbeeld glasvezel kabel gebruikt. In de gebouwen zelf werd nieuwe CAT6 bekabeling aangelegd, en werden racks met patchpanelen geplaatst. Verder werden er SNMP manageable switchen aangekocht en geconfigureerd. Om betrouwbare werkposten van onbetrouwbare te scheiden werd gebruik gemaakt van VLAN s. Voor meer informatie over dit alles verwijs ik u door naar hoofdstuk Gateway en modem We zullen een extra pc bijplaatsen die als tweede server dienst doet, en die we voortaan de gateway noemen. Zijn hoofdtaak is, in combinatie met de modem, het aanbieden van Internet aan het gehele netwerk. Er is maar één publiek IP-adres beschikbaar, zodat er aan NAT 5 zal moeten gedaan worden. Hij zal ook het enige apparaat zijn dat zowel op het onbetrouwbare deel van het netwerk als op het betrouwbare deel bereikbaar is (omdat beide delen Internet toegang nodig hebben). Tenslotte zal de gateway ook dienst doen als firewall tussen het Internet en het lokale netwerk, en tussen het betrouwbare deel van het lokale netwerk en 5 Network Address Translation

14 Hoofdstuk 1. Situering 12 het onbetrouwbare. Het spreekt vanzelf dat deze server goed moet beveiligd worden. De installatie en configuratie van de gateway wordt behandeld in hoofdstuk 3, die van de modem in Server Op de reeds bestaande Compaq server, we noemen hem voortaan de server, zal naast het bestaande administratieprogramma nu ook het raamplanbeheer uitgevoerd worden, evenals MS Exchange server, Active Directory en de DHCP server voor het betrouwbare netwerk. Het raamplanbeheer kan ook gebruik maken van de databank met administratieve gegevens die op de server aanwezig is. De server is ook voorzien van een tapedrive om alles te backuppen. Het raamplanbeheer wordt behandeld in hoofdstuk 4, en voor de configuratie van de mailserver kan je in hoofdstuk 6 terecht Internet verbinding Het MPI huurt een eigen domein, namelijk capelderij.be. We gaan voor dit domein ook een eigen mailserver configureren. Een vast IP adres is bijgevolg een vereiste. Ook een degelijke upload snelheid, en onbeperkt transfer volume waren belangrijke factoren bij het kiezen van een specifieke Internet verbinding. Zie hoofdstuk Website Aangezien mensen met een beperkte informaticakennis moeten instaan voor het onderhoud van de website, en vanwege tal van andere voordelen, werd oorspronkelijk gekozen voor een CMS (Content Management System): Typo3. Wegens het aanwerven van een informaticus door het MPI is deze behoefte echter vervallen Printserver De printer bevindt zich in een apart lokaal waar geen werkpost of server aanwezig is. Omdat een USB kabel maar kan gebruikt worden voor een zeer beperkte lengte (5m zonder tussenliggende hubs), werd er een ethernet printserver aangekocht. Voor de configuratie ervan zie hoofdstuk 7.

15 Hoofdstuk 2 Aanleg netwerk 2.1 Beschrijving situatie Het netwerk verbindt verschillende componenten, verspreid over drie gebouwen. In het hoofdgebouw, het kasteel, zijn volgende zaken aanwezig: een kopieerapparaat, een gewone printer, twee servers (de server en de gateway), een ethernet modem voor de Internet verbinding, en ongeveer 6 werkposten. Het tweede gebouw, de villa, telt momenteel 6 werkposten (in de toekomst maximaal 12). Tenslotte zal na een verbouwing ook nog de school aangesloten worden met maximum 10 werkposten. In de verre toekomst kunnen ook extra gebouwen (van de leefgroepen) netwerktoegang vereisen. Tussen het kasteel en de villa ligt er reeds een SX multimode glasvezelkabel (50/125 µm). De bedoeling is dat alle werkposten (zowel betrouwbare als onbetrouwbare) Internet toegang krijgen, en dat men op de betrouwbare pc s ook nog administratieve taken en het raamplanbeheer kan uitvoeren. 2.2 Keuze netwerkmateriaal Voor de netwerkapparatuur kwamen verschillende merken in aanmerking: SMC, Cisco, 3Com, Allied Telesyn, D-Link,... Oorspronkelijk koos ik voor 3Com switchen in combinatie met Allied Telesyn converters. De verkoper bij firma De Volder (waar de netwerkapparatuur aangekocht werd) raadde mij echter ten zeerste aan alle apparatuur van hetzelfde merk te nemen. Aangezien 3Com geen aparte glasvezel-ethernet converter heeft, en aangezien Allied Telesyn een zeer gerespecteerd merk is, koos ik uiteindelijk voor het laatste. Een belangrijk probleem dat zich stelde was de grote afstand tussen de 3 gebouwen onderling, namelijk ongeveer 150m. Gewone twisted pair kabel mag echter maar gebruikt worden voor afstanden kleiner dan 100m. Bij hogere afstanden kan o.a. het correct detecteren van collisions niet meer verzekerd worden. Daar komt nog bij dat er tussen 2 gebouwen reeds een glasvezelkabel gelegd was, en deze dus maar beter kon gebruikt worden. Het probleem met glasvezel technologie is echter de kost van de netwerkapparatuur. In de volgende paragrafen 13

16 Hoofdstuk 2. Aanleg netwerk 14 overloop ik de mogelijke alternatieven. Een algemene opmerking hierbij is dat ik omwille van de betere toekomstperspectieven geopteerd heb voor een gigabit backbone. Bij al deze oplossingen speelde het specifieke productengamma van enkele belangrijke merken een grote rol, evenals de beschikbaarheid, levertermijn en prijs Glasvezel rootswitch Voortaan gebruiken we de term rootswitch voor een switch die centraal staat in het netwerk. Het is als het ware de wortel van de boomstructuur van ons netwerk. Hier gebruiken we een rootswitch voor glasvezel, bestaande uit 6 glasvezel poorten. De switchen op het volgende niveau worden dan via een glasvezel uplink met deze rootswitch verbonden, alsook de servers. Nadelen: Zeer dure rootswitch Servers vereisen glasvezelverbindingen (glasvezel-netwerkkaart + korte glasvezelkabel) naar rootswitch Gemengde rootswitch We zouden als rootswitch een gewone twisted pair ethernet switch kunnen nemen, die voorzien is van 2 uitbreidingssloten voor GBIC 1 modules. We zouden dan 2 SX GBIC modules kunnen plaatsen in deze rootswitch voor de verbinding met de villa en de school. De servers krijgen dan een gewone twisted pair gigabit verbinding naar deze rootswitch. Nadelen: Er zijn maar 2 uitbreidingssloten beschikbaar zodat maar maximaal 2 verafgelegen gebouwen aan te sluiten zijn Geen rootswitch We zouden in elk gebouw een 10/100Mbit switch kunnen plaatsen met 2 SX GBIC modules per switch. Zo kunnen we een soort gigabit ringstructuur creëren door in de cirkel elke switch met zijn 2 buren te verbinden. We kunnen de ring eventueel openlaten om routing loops te vermijden (wat eigenlijk op een lineaire structuur neerkomt), of we kunnen de switchen configureren zodat ze gebruik maken van het Spanning Tree Protocol (STP). Het STP vermijdt routing loops en houdt een eventuele redundante verbinding ter beschikking voor als de primaire verbinding zou uitvallen. Nadelen: 1 Gigabit Integrated Circuit

17 Hoofdstuk 2. Aanleg netwerk 15 Op deze manier wordt er 1 gigabit verbinding gedeeld door meerdere communicerende gebouwenparen De servers zelf kunnen niet via een gigabit verbinding aangesloten worden op het netwerk (tenzij ze, aangezien we maar 2 servers hebben, verplaatst zouden worden naar de cirkel onderbreking) Onderbrekingen in de ring zijn nefaster voor het netwerk Softwarematig switchen via pc Deze oplossing voorziet een pc van een paar gigabit glasvezel netwerkkaarten. Op deze manier verkrijgen we een zelfgebouwde gigabit glasvezelswitch. Nadelen: Glasvezel netwerkkaarten vereisen een PCI-X bus (64 bit/133 MHz) die enkel op moederborden uit een duurdere klasse te vinden is Deze PCI bus heeft een maximale doorvoersnelheid van 1017MB/s (±8 Gbps 2 ). Dit betekent dat de som van alle datastromen die via onze server passeren niet groter kan zijn dan 8Gbps. Bij een hardwareswitch wordt deze interne doorvoersnelheid de backplane genoemd. Bij een gigabit switch is deze backplane veel hoger dan 8Gbps, bijvoorbeeld 24Gbps bij de AT-9410GB Uiteindelijke oplossing: gebruik maken van converters De beste oplossing qua prijs/kwaliteitsverhouding bleek bekomen te worden via het gebruik van Gigabit Ethernet media converters. Deze maken het mogelijk over te gaan van een twisted pair gigabit ethernet kabel naar een gigabit glasvezel kabel. Zo kunnen we de laagst gelegen switchen voorzien van een SX GBIC module voor het aansluiten van een gigabit glasvezel uplink. Aan de andere zijde van elke glasvezelkabel plaatsen we zo n media converter. Deze converters kunnen dan via UTP bekabeling met een gewone gigabit ethernet switch verbonden worden. 2.3 Opbouw netwerk Een overzicht van merk/type van alle netwerkapparatuur kan je vinden in tabel Logische opbouw Een schema van deze opbouw is te zien in figuur 2.1. Ik heb gekozen voor de oplossing met 2 Gigabit per seconde

18 Hoofdstuk 2. Aanleg netwerk 16 Naam Locatie Type rootswitch Kasteel AT-9410GB kindswitch 1 Villa AT-8326GB kindswitch 2 School AT-8326GB mediaconvertor 1 Kasteel AT-MC1004 mediaconvertor 2 Kasteel AT-MC1004 GBIC 1 Villa AT-G8SX GBIC 2 School AT-G8SX gateway Kasteel Desktop pc op Linux server Kasteel Server op Win2000 Server printserver Kasteel D-Link DP-301U kopieerapparaat Kasteel ADSL-modem Kasteel Thomson Speedtouch 510 Tabel 2.1: Overzicht netwerkapparatuur de converters 3 zoals vermeld in Alle switchen en converters zijn van het merk Allied Telesyn. Er werd gekozen voor manageable switchen, o.a. omwille van hun extra beveiligingsmogelijkheden. Als rootswitch koos ik voor de AT-9410GB 4 switch, met 10 10/100/1000T poorten, 2 GBIC slots en een 24Gbps backplane. Hierop wordt de gateway, de server, de printserver, het kopieerapparaat, mediaconvertor 1 en mediaconvertor 2 aangesloten. mediaconvertor 1 leidt naar kindswitch 1 en mediaconvertor 2 naar kindswitch 2. kindswitch 1 en kindswitch 2, beiden van het type AT8326GB 5, zijn elk voorzien van 24 10/100Mbit poorten, een 12.8Gbps backplane en 2 GBIC slots 6. kindswitch 1 wordt uitgebreid met GBIC 1 en kindswitch 2 met GBIC 2 zodat op beiden een glasvezelkabel kan aangesloten worden. De clients in de villa worden op de kindswitch 1 gestoken, de clients in het kasteel voorlopig rechtstreeks op de rootswitch. De reden waarom er voor 2 glasvezelverbindingen geen GBIC modules in de rootswitch werden geplaatst, maar gigabit media converters werden gebruikt, is omdat de rootswitch op deze manier vrij te plaatsen is in het gebouw (twisted pair kabel is zeer eenvoudig te leggen). De clients in de school zijn untrusted, dit wil zeggen dat ze eventueel zouden kunnen gebruikt worden om de informatica infrastructuur te hacken. De clients in de villa kunnen zowel trusted als untrusted zijn. Die van het kasteel zijn trusted. Om te voorkomen dat de untrusted clients de trusted clients in de war brengen, worden ze in een aparte VLAN geplaatst (voor meer info zie 2.4)

19 Hoofdstuk 2. Aanleg netwerk 17 Figuur 2.1: Logische opbouw Fysische opbouw In de netwerkkamer in het kasteel bevinden zich de rootswitch, een gigabit media converter voor elk verbonden gebouw, een ADSL verbinding, een ethernet ADSL modem, de reeds aanwezige database server (voor administratie) en de nieuwe Linux server. Normaal zouden we hier een extra switch plaatsen waarop de clients worden aangesloten, maar omdat er nog genoeg aansluitmogelijkheden zijn op de rootswitch, en deze auto-sense poorten heeft, kunnen we de clients rechtstreeks op de gigabit switch aansluiten. In de 2 gewone bureau s, het bureau van de directeur en het secretariaat bevinden zich client pc s. In het printlokaal bevinden zich de printserver en het kopieerapparaat, die beiden voorzien zijn van een netwerkverbinding. Een grondplannetje is te zien in figuur 2.2. In de villa worden alle werkposten via UTP kabel verbonden met kindswitch 1, die zich in het bureau bevindt waar de glasvezelkabel aankomt. De school zal eerst verbouwd worden, en wordt voorlopig nog niet aangesloten. Een overzicht van de IP-adressering zie je in tabel 2.2.

20 Hoofdstuk 2. Aanleg netwerk 18 Figuur 2.2: Grondplan kasteel 2.4 Beveiliging We gaan ons indekken tegen 3 manieren die kunnen aangewend worden om de veiligheid van het netwerk in het gedrang te brengen MAC-Address Spoofing De eerste methode die kwaadwillige personen kunnen gebruiken is het ingebakken MAC-adres van de netwerkkaart negeren, en een vals adres gebruiken in de verzonden frames. Op deze manier gaat de switch het zelf ingestelde MAC-adres in zijn dynamische MAC-adres tabel aan deze poort koppelen. Toekomstige frames vanuit het netwerk, met dit MAC-adres als doel, zouden dan zo bij de hacker kunnen terechtkomen. Dit kan misbruikt worden door als vals MAC-adres het adres van een server te nemen, en te doen alsof hij de server zelf is door bijvoorbeeld dezelfde services aan te bieden. Zo kunnen dan vertrouwelijke gegevens zoals wachtwoorden bemachtigd worden. We kunnen dit voorkomen door op elke poort van de switch maar een paar, expliciet ingestelde MAC adressen toe te laten. Dit doen we via de statische MAC-adres tabel, en door de poort op Secure in te stellen (zie 2.5.2).

21 Hoofdstuk 2. Aanleg netwerk 19 Object IP-adres server printserver kopieerapparaat gateway rootswitch kindswitch Trusted clients Untrusted clients gateway Tabel 2.2: IP-adresseringsschema ARP Spoofing Men kan ook valse ARP broadcasts op het netwerk sturen, waarin staat dat de hacker zijn echt MAC-adres nu associeert aan een ander IP-adres dan zijn voorzien adres, bijvoorbeeld aan het IP-adres van de server. Zo sturen clients dan informatie bedoeld voor de server, naar het verkeerde MAC-adres. We zouden dit kunnen voorkomen door op elke client een statische ARP tabel in te stellen, waarin het IP van de server gelinkt wordt met zijn echte MAC-adres. Dit vraagt natuurlijk heel wat extra werk aan configuratie. Ik heb gekozen om de betrouwbare hosts volledig te scheiden van de onbetrouwbare door middel van VLAN s. Op deze manier kunnen de onbetrouwbare hosts onderling elkaar wel het leven zuur maken, maar krijgen ze in geen geval vertrouwelijke gegevens afkomstig van betrouwbare hosts toegestuurd. Een probleem dat we wel moeten oplossen is, dat Internet toegang voor zowel onbetrouwbare als betrouwbare hosts beschikbaar moet zijn. Ofwel plaatsen we 2 netwerkkaartjes in de server, voor elke VLAN één. Ofwel maken we gebruik van een tagged port die tot meerdere VLAN s tegelijkertijd kan horen (zie 2.5.3) IP Spoofing Een laatste methode, die in feite meestal in combinatie met ARP Spoofing wordt gebruikt 7, is het vervalsen van het bron IP-adres in de IP header, zodat pakketjes ogenschijnlijk van een andere host afkomstig zijn. Zo kan bepaalde informatie worden geaccepteerd, die normaal enkel toegelaten wordt van bepaalde vertrouwelijke IP-adressen. We kunnen dit oplossen door, bijvoorbeeld in firewall rules), eerder het MAC-adres te gebruiken dan het IP-adres, of door pakketten van adressen die niet kunnen komen uit een bepaalde VLAN te verwerpen. 7 misbruikt

22 Hoofdstuk 2. Aanleg netwerk Configuratie van netwerkmateriaal Firmware upgrade Eerst en vooral upgraden we de firmware van de switchen. Daarbij moeten we eerst de bootloader downloaden in de switch, en daarna de image file. De bootloader kunnen we enkel downloaden door zelf een TFTP server op te zetten. Hiervoor kunnen we bijvoorbeeld gebruik maken van de AT-TFTP server die we gratis kunnen downloaden 8. Deze server voeren we vervolgens uit op een willekeurige pc, met een gewone UTP-kabel verbonden met een van de poorten van de switch. We zorgen ervoor dat deze server de meest recente bootloader (bijvoorbeeld boot.rom) ter beschikking stelt. Vervolgens geven we de switch een ip-adres in dezelfde range als dat van onze server. We verbinden hiervoor een pc via de seriële COM-poort met de switch. Daarna connecteren we op de switch via Terminal Emulation software, zoals bijvoorbeeld de HyperTerminal van Microsoft, die standaard in Windows XP te vinden is. We hebben nu een zogenaamde local management session gestart. Na inloggen kunnen we dan via de menustructuur (figuur 2.3) een gepast IP-adres geven. Figuur 2.3: Local Management Session Via datzelfde menu kunnen we de switch ook de opdracht geven om zijn nieuwe bootloader te downloaden. Hiervoor geven we het ip-adres op van de TFTP server, plus de naam van het 8

23 Hoofdstuk 2. Aanleg netwerk 21 bestand ( boot.rom in ons voorbeeld). Op een gelijkaardige manier kunnen we ook de image file op de switch downloaden. kunnen dit echter evengoed doen via Xmodem. We Op deze manier werd de software van de AT-8326GB naar versie geupgraded, en die van de AT-9410GB naar versie [2, 3] Poort configuratie In tabel 2.3 vind je een overzicht van de instellingen voor de rootswitch, in tabel 2.4 voor kindswitch 1. We zorgen ervoor dat op elke poort enkel het MAC-adres van het verbonden Poort Verbinding naar Tagged op VID Untagged op VID Secure Level 1 server S 2 gateway 123, 2 1 S 3 printserver S 4 kopieerapparaat S 5 Client S 6 Client S 7 Client S 8 Client S 9 Client S 10 kindswitch 1 123, 2 1 N Tabel 2.3: Poortconfiguraties rootswitch Poort Verbinding naar Tagged op VID Untagged op VID Secure Level 1 Client S 2 Client S 3 Client S 4 Client S 5 Client S 6 Client S 23 Bjorn - 2 S 25 rootswitch 123, 2 1 N Tabel 2.4: Poortconfiguraties kindswitch 1 apparaat toegelaten wordt. Hiervoor zetten we het Secure Level van alle poorten op beide switchen op Secure. Daardoor zal de switch geen nieuwe dynamische MAC-adressen bijleren,

24 Hoofdstuk 2. Aanleg netwerk 22 en enkel de huidige gebruiken (met een oneindige levensduur indien de switch nooit wordt herstart). We doen dit vooraleer de apparaten verbonden worden met de switch, zodat de eventuele verzameling dynamische adressen leeg is. Nu kunnen we in de statische MAC-tabel van elke poort het juiste MAC-adres toevoegen. Let op: bij toevoegen van een entry in de statische MAC-tabel moeten we naast de poort en het MAC-adres ook een VID opgeven (zie hiervoor 2.5.3)! Wanneer een bepaalde poort deel uitmaakt van meerdere VLAN s (zoals die van gateway) moeten we per poort een entry toevoegen voor elke VLAN waarop we de poort willen gebruiken. De enige poorten die niet op Secure worden gezet zijn de poorten die verbonden zijn met een andere switch, omdat we die andere switch vertrouwen, en er anders voor die poort een hele lijst MAC-adressen zouden moeten worden opgegeven. Alle niet gebruikte poorten worden expliciet uitgeschakeld VLAN s Een VLAN is een groep van poorten die zich op verschillende switchen kunnen bevinden. Verschillende VLAN s kunnen naast elkaar bestaan op dezelfde switch. Ze vormen aparte segmenten, en hosts van het ene VLAN kunnen geen rechtstreekse informatie sturen naar hosts van een ander VLAN. Enkele voordelen: Het broadcast domein is beperkt tot één enkele VLAN, wat de netwerkbelasting in grote netwerken enorm kan verlagen Wanneer bepaalde hosts van segment veranderen, kan men rekening houden met deze wijziging door enkel de switch (eventueel vanop afstand) te herconfigureren. Er zijn geen manuele interventies (zoals het versteken van kabels) meer nodig in de netwerkruimte. Door het feit dat VLAN s onderling geen informatie kunnen uitwisselen, kunnen we op deze manier onbetrouwbare hosts scheiden van betrouwbare. Het is vooral omwille van dit laatste voordeel dat we VLAN s gaan implementeren. We maken gebruik van de 802.1Q VLAN mode, omdat deze ons, ook bij gebruik van meerdere switchen, kan verzekeren dat op geen enkel moment pakketten bedoeld voor het ene VLAN op een ander VLAN terecht kunnen komen. We maken 2 VLAN s genaamd trusted en untrusted met als VLAN identifier (VID) respectievelijk 123 en 2. Wanneer bijvoorbeeld een frame bedoeld is voor VLAN trusted, dan zal het frame gedurende zijn hele reis doorheen opeenvolgende switchen een VID gelijk aan 123 dragen. De switchconfiguratie voor VLAN s wordt in de handleiding van Allied Telesyn ([8]) nogal onduidelijk uit de doeken gedaan. De configuratie is op zich dan ook een beetje verwarrend. Dankzij uitgebreid testen van verschillende situaties werd alles echter duidelijker.

25 Hoofdstuk 2. Aanleg netwerk 23 Elke poort kan zich voor elke VLAN waarvan hij deel uitmaakt op 2 manieren gedragen. Ofwel gedraagt hij zich op een bepaald VLAN als een Tagged Port, ofwel als een Untagged Port. Elke poort gedraagt zich voor exact 1 VLAN als Untagged Port, en voor een willekeurig aantal andere VLAN s als Tagged Port. De VLAN waarop een poort zich gedraagt als Untagged Port kunnen we instellen door zijn VID in te stellen als Port VID (PVID) voor die poort. Een poort als Tagged Port laten deel uitmaken van een VLAN doen we door deze poort toe te voegen aan de VLAN in kwestie. Wat de termen Tagged Port en Untagged Port juist inhouden wordt uitgelegd aan de hand van twee voorbeelden. Een frame komt de switch binnen Is de binnenkomende frame niet voorzien van een VLAN-tag, dan vult de switch deze VLAN-tag automatisch op met de PVID van de poort. Is de binnenkomende frame WEL voorzien van een VLAN-tag, en de tag bevat een VID van één van de VLAN s waarvan de poort deel uitmaakt, dan wordt de frame ongewijzigd binnengelaten. Op deze manier is ELK frame dat zich binnen een switch bevindt steeds voorzien van een VLAN-tag. Een frame wil de switch uit De MAC-tabel wordt doorzocht om de juiste uitgaande poort te vinden. Indien het hardware adres nog niet te vinden is in deze MAC-tabel, dan wordt de frame naar alle poorten gebroadcast. Een frame zal enkel een poort uittreden indien het een VLAN-tag bevat van één van de VLAN s waarvan de poort deel uitmaakt. Is de poort een Untagged Port op dit VLAN, dan wordt de tag eerst verwijderd uit het frame. Is de poort een Tagged Port op dit VLAN dan wordt het frame niet gewijzigd. De poorten waarop zich onbetrouwbare clients bevinden, stellen we in als Untagged Port van VLAN 2. De poorten waarop zich betrouwbare clients bevinden, evenals die van de server, de printserver en het kopieerapparaat, stellen we in als Untagged Port van VLAN 123. Bepaalde poorten maken deel uit van beide VLAN s, en worden ingesteld als Tagged Ports van VLAN 123 en VLAN 2. Voorbeelden van zulke poorten zijn de poort die naar een andere switch leidt en de poort waarop de gateway is geplaatst. Willen de devices op zulke poort ook effectief kunnen communiceren met beide VLAN s, dan moeten ze de 802.1Q standaard volgen, en van beide VLAN s op de hoogte zijn. Omdat elke poort op exact 1 VLAN moet ingesteld zijn als Untagged Port (dit VLAN doet dan dienst als een soort default VLAN) stellen we deze poorten in als een Untagged Ports van VLAN 1.

26 Hoofdstuk 2. Aanleg netwerk 24 Onbetrouwbare clients kunnen op deze manier enkel het netwerk op als lid van VLAN 2. Onze gateway kan op deze manier, door zijn VLAN-tag in te stellen, één van beide VLAN s kiezen [8].

27 Hoofdstuk 3 Gateway installatie en configuratie 3.1 Keuze hardware en software In principe zouden we een DMZ 1 moeten opzetten, waarin zich de mailserver en webserver bevinden. Tussen deze DMZ en het Internet, evenals tussen deze DMZ en het lokale netwerk, zou dan een firewall moeten worden geplaatst. Bij voorkeur is dit dan een hardware-firewall omwille van de snelheid en veiligheid. Een hardware-firewall is ook zeer eenvoudig vanop afstand te updaten, zodat eventuele veiligheidslekken in de firewall-software 2 eenvoudig kunnen worden gedicht. Wegens het beperkte budget echter, kon geen echte DMZ worden opgezet, en kon ook geen gebruik worden gemaakt van hardware-firewalls en extra servers. Ik heb gekozen om de mailen webserver op het lokale netwerk te plaatsen (de Windows server die daar reeds aanwezig was), en om tussen dit lokale netwerk en het Internet een gateway te plaatsen. Deze gateway kan dan voorzien worden van een software-firewall Keuze hardware De gateway is verbonden met het Internet, met het trusted netwerkgedeelte, en met het untrusted netwerkgedeelte. Hij verzorgt de routing tussen deze netwerken, alsook firewall functies. Aangezien dit geen rekenintensieve bewerkingen zijn volstaat een oudere pc, namelijk een Pentium III 450MHz, die reeds ter beschikking was. Hij werd voorzien van een extra gigabit netwerkkaart, zodat hij de gigabit poort op de rootswitch ten volle kan benutten Keuze software Er is nood aan een besturingssysteem dat goed te beveiligen valt, zeer stabiel is, vlot draait op een oudere pc, en voor een zo laag mogelijke kostprijs zeer professionele functies uitvoert. 1 Demilitarized Zone 2 Ook een hardware-firewall bevat software 25

28 Hoofdstuk 3. Gateway installatie en configuratie 26 Hiervoor is Linux zeer geschikt. Het voldoet aan al deze vereisten en is bovendien volledig gratis. Nu komt het er op aan om de juiste distributie uit te kiezen. Uit ervaring weet ik dat Debian GNU/Linux 3 een zeer goede distributie is voor de vereiste functionaliteit. Volgende eigenschappen spelen daar een grote rol in: Debian is volledig gebaseerd op niet-commerciële software, tenzij er tijdens de installatie gekozen wordt om ook commerciële pakketten beschikbaar te maken De meeste van de standaard tools komen van het GNU project 4, met als voornaamste sponsor de Free Software Foundation (FSF ). Hierdoor is deze distributie zeer geliefd in de Open Source gemeenschap. Daardoor werken er veel vrijwilligers aan mee, staat alles los van commerciële belangen, en is er veel en gratis documentatie voor te vinden. Er werken bijvoorbeeld meer dan 900 vrijwilligers mee aan het onderhoud van de pakketten voor dit OS. De standaard versie, Woody genaamd, is bedoeld voor productieomgevingen. Hierbij staat stabiliteit en veiligheid centraal. Een gevolg hiervan is dat er dikwijls met iets oudere pakketten wordt gewerkt, omdat die hun degelijkheid reeds bewezen hebben in het verleden. Er wordt ook moeite gedaan om fouten te halen uit deze oudere versies, in plaats van steeds beroep te doen op de nieuwste officiële releases van softwarepakketten (die naast bug-fixes ook nieuwe functionaliteit leveren, en bijgevolg ook nieuwe fouten introduceren). De standaard installatie is zeer minimaal: er wordt enkel het hoogst nodige geïnstalleerd 5. Zo heeft men een goed overzicht van welke services er standaard draaien, namelijk bijna geen enkele. Dit is zeer interessant voor de beveiliging van het systeem, waar een grondige kennis van het gehele systeem een vereiste is. Hoe minder functionaliteit er standaard aanwezig is, hoe eenvoudiger het is om deze grondige kennis te verkrijgen. Het OS is voorzien van een zeer goed pakketbeheersysteem (Package management system). Dit systeem maakt het mogelijk om zowel binaire pakketten als broncode pakketten eenvoudig te installeren, en om deze pakketten in de toekomst eenvoudig te kunnen updaten, en dit zonder verlies van configuratiebestanden. Uiteindelijk koos ik voor de distributie Adamantix 6, die is gebaseerd op Debian GNU/Linux. Deze distributie spitst zich nog eens extra toe op beveiliging. Ze probeert een hoog beveiligingsniveau te behalen (het Common Criteria LSPP AEL 5 niveau of hoger), maar dit De minimale installatie neemt slechts ongeveer 40MB schijfruimte in beslag! 6

29 Hoofdstuk 3. Gateway installatie en configuratie 27 op een gebruiksvriendelijke manier. Zo werden bijvoorbeeld alle pakketten gecompileerd met een aangepaste compiler waardoor de software beter beveiligd wordt tegen buffer overflow aanvallen. 3.2 Beveiliging Geen enkel systeem is 100% waterdicht. Hiervan zijn verschillende oorzaken. Enerzijds ontstaan er beveiligingslekken door programmeerfouten in de software. Ongeveer 50% van deze lekken zijn te wijten aan wat men noemt buffer overflows. Aangezien hedendaagse software zo complex en uitgebreid is, en uit duizenden regels code bestaat, is het bijna onmogelijk om deze foutvrij te maken. De tijd nodig om een fout te ontdekken is omgekeerd evenredig met het percentage resterende fouten. Anderzijds is er de configuratie van software en hardware. We moeten, onder andere via het toekennen van toegangsrechten, exact definiëren wie welke permissies heeft. Eveneens moeten we ervoor zorgen dat niemand zich ongeoorloofd toegang kan verschaffen tot bepaalde gegevens, bijvoorbeeld door netwerkconnecties af te luisteren. Terwijl programmeerfouten te wijten zijn aan de programmeurs van de betreffende software, zijn fouten in de configuratie het gevolg van onvoldoende kennis, of nalatigheid van de systeembeheerder. Toch kunnen we ons, als niet-programmeur, zo goed mogelijk beschermen tegen die mogelijke programmeerfouten Probleem met Open Source software Bij Open Source software is de broncode vrij te downloaden, te bekijken, aan te passen en te verspreiden. Dit heeft zowel voordelen als nadelen. Enerzijds is het voor hackers veel eenvoudiger om veiligheidsgaten op te sporen, aangezien ze rechtstreeks kunnen zoeken in de originele code. Veiligheidsgaten worden dus veel sneller gevonden. Dit heeft natuurlijk ook een positieve kant: de gaten kunnen zo veel sneller worden gedicht. Uiteindelijk zal Open Source software vaak dus minder fouten bevatten dan andere software. Er is ook een grotere openheid rond veiligheidsgaten, een commerciële firma zal eerder geneigd zijn deze te verzwijgen, zodat er sneller patches worden beschikbaar gesteld Lokale aanvallen versus netwerk aanvallen Er zijn twee categorieën van aanvallen: lokale aanvallen en netwerk aanvallen. Lokale aanvallen kunnen plaatsvinden wanneer de hacker een lokale gebruikersaccount heeft. Met deze account kan hij met andere woorden aanmelden op de Linux machine, en een gebruikers-shell verkrijgen. Zo kan hij bestanden lezen, processen manipuleren en programma s uitvoeren, indien hij beschikt over de gepaste rechten. Heeft hij deze lokale account echter niet, dan moet

30 Hoofdstuk 3. Gateway installatie en configuratie 28 de hacker zich in eerste instantie beperken tot toepassingen die netwerkverbindingen accepteren. Dit verlaagt het aantal inbraakmogelijkheden drastisch. Het gevaar bestaat er echter wel in dat, via het uitbuiten van een beveiligingslek in een netwerktoepassing, toch een lokale shell kan opgestart worden. Deze shell wordt dan uitgevoerd met hetzelfde gebruikersaccount als datgene waarmee de betreffende netwerktoepassing werd uitgevoerd. Een van de problemen met Linux is dat het gebruikersaccount waarmee een toepassing wordt opgestart dikwijls het root account is. Dit komt omdat bepaalde taken, zoals bijvoorbeeld het binden van een netwerktoepassing op een lagere tcp-poort, de rechten van het rootaccount vereisen. De oplossing voor dit probleem is gebruik maken van een systeem als RSBAC. Dit systeem maakt het mogelijk om voor elk programma precies te definiëren welke rechten er nodig zijn, en dit zijn er niet meer dan nodig. Zelfs het root-account heeft zeer weinig rechten. Aanpassingen in de configuratie kunnen enkel worden verwezenlijkt door het systeem te herstarten, en via een speciale RSBAC-soft kernel te booten. Wegens tijdsgebrek werd RSBAC niet geïmplementeerd Draaiende hoeveelheid code beperken Een eerste maatregel die we kunnen treffen is de hoeveelheid draaiende code beperken. Hoe groter de hoeveelheid code, hoe groter de kans op programmeerfouten. Het verlagen van de hoeveelheid draaiende code kan enerzijds worden verwezenlijkt door het beperkten van het aantal opgestarte services tot de hoogst nodige. Anderzijds kunnen we ook de Linux kernel zo klein mogelijk houden. Dit kan door de kernel te hercompileren, en dit met zo weinig mogelijk functionaliteit. Voor meer informatie zie paragraaf Inbraak zo snel mogelijk ontdekken en melden Een laatste onderdeel in de beveiliging is intrusion detection. Hierbij gaat het over de detectie van een inbraak, niet over het voorkomen ervan. Dit is een niet te verwaarlozen onderdeel van de beveiliging. Aangezien geen enkel systeem 100% waterdicht is, moeten we er op zijn minst voor zorgen dat, wanneer er dan toch wordt ingebroken, we er tenminste van op de hoogte worden gebracht zodat we meteen kunnen ingrijpen. Men kan bijvoorbeeld na installatie van het systeem, waarop op dat moment nog niet is ingebroken, hashwaardes berekenen van alle belangrijke programmabestanden. We slaan deze hashwaardes op een veilige plaats op. Wanneer we nu achteraf op geregelde tijdstippen deze hashwaardes herberekenen, en vergelijken met de originele, kunnen we de integriteit ervan verifiëren. Een andere taak is het controleren van de logbestanden. Er bestaan programma s om deze logbestanden periodiek te onderzoeken op verdachte meldingen. Eens er problemen zijn vastgesteld ondernemen deze tools een gepaste actie, zoals het verzenden van een naar de beheerder.

31 Hoofdstuk 3. Gateway installatie en configuratie Installatie van het OS Zoals reeds eerder vermeld installeren we de Linux-distributie Adamantix. Deze is echter volledig gebaseerd op Debian. De installatieprocedure bestaat uit het installeren van een minimale Debian-distributie, en het vervolgens upgraden van dat systeem naar de Adamantixdistributie Installatie CD-ROM Eerst en vooral moet de image van de eerste installatie CD-ROM worden gedownload. Dit kan bijvoorbeeld van de ftp-server van Belnet 7. Het bestand dat daar moet gedownload worden heet debian-30r2-i386-binary-1_nonus.iso. Dit image bestand moet vervolgens op een CD-ROM worden gebrand. Tenslotte moet de opstartvolgorde op de te installeren pc zo worden ingesteld, dat de pc eerst zal proberen op te starten via de CD-ROM drive. Dit gebeurt via het BIOS. Na installatie moeten we deze opstartvolgorde opnieuw wijzigen zodat er enkel van de hardeschijf wordt opgestart. We kiezen ook een BIOS-wachtwoord, zodat niemand deze opstartvolgorde terug zou kunnen wijzigen om bijvoorbeeld van een diskette of CD-ROM op te starten. Indien dat zou gebeuren wordt het aanwezige Linux systeem namelijk volledig genegeerd, en heeft die persoon alle rechten Installatieprocedure voor het basis Debian systeem De installatieprocedure wijst zichzelf uit. Daarom wordt er enkel gewezen op zaken die afwijken van de standaard instellingen. Wanneer ons gevraagd wordt naar de partitionering van de schijf (dit is er een van 80GB), dan doen we dit volgens tabel 3.1. We kiezen voor elke partitie, met uitzondering van een paar kleine, voor het bestandssysteem EXT3. Dit bestandsysteem is gebaseerd op EXT2, uitgebreid met journaling. Journaling maakt het veel eenvoudiger om een bestandsysteem te herstellen na een crash. Voor de keuze van het partitioneringsschema werd rekening gehouden met volgende factoren: Elke directorystructuur waarop een gebruiker schrijfrechten heeft, zoals /home of /tmp, wordt best op een aparte partitie geplaatst. Dit verlaagt de kans op een DoS 8 aanval waarbij het / -koppelpunt volledig wordt opgevuld, wat kan resulteren in een onbruikbaar systeem. Elke directorystructuur waarin de benodigde plaats variëert, bijvoorbeeld /var, moet ook op een aparte partitie. Bij Debian is deze best wat groter omdat gedownloade pakketten (de apt cache) in /var/cache/apt/archives worden bewaard. 7 ftp://ftp.belnet.be/mirror/ftp.debian.org/debian-cd/images/3.0_r2/i386/ 8 Denial of Service

32 Hoofdstuk 3. Gateway installatie en configuratie 30 Partitie Koppelpunt Grootte (MB) Bestandssysteem hda1 /boot 20 EXT2 hda2 (swap) 512 (swap) hda5 / 2000 EXT3 hda6 /usr 4000 EXT3 hda7 /home 3000 EXT3 hda8 /tmp 256 EXT2 hda9 /var 2500 EXT3 hda10 /var/mail 1000 EXT3 hda11 /usr/local 1000 EXT3 hda12 /data EXT3 Tabel 3.1: Overzicht partities Elke directorystructuur waarop we distributie onafhankelijke software wensen te installeren, wordt ook best op een aparte partitie geplaatst, bijvoorbeeld /usr/local. Deze aparte partities zullen namelijk niet worden verwijderd als Debian opnieuw zou moeten geïnstalleerd worden. Het heeft ook zin om alle statische data op een eigen partitie te zetten, en deze als read-only te koppelen. Nog beter zou zijn om ze op een medium te plaatsen waarvan het technisch uitsluitend mogelijk is te lezen (zoals een CD-R schijfje). Tijdens het vervolg van de installatieprocedure kiezen we voor MD5 passwords en Shadow passwords. We gebruiken geen tasksel of dselect, maar installeren pakketten achteraf handmatig via apt-get install pakketnaam. Anders zouden er te veel ongewenste pakketten worden geïnstalleerd. Er wordt ons ook om de mail instelling van Exim gevraagd, de standaard MTA 9 van Debian. Daarbij geven we volgende zaken op: Satellite system (er wordt geen post lokaal bezorgd, maar alles wordt doorgestuurd naar een andere mailserver) Computer system s name: gateway.capelderij.local domainname: capelderij.be smarthost: mail.capelderij.local (de mailserver waarnaar alle post wordt doorgestuurd) 9 Mail Transport Agent

33 Hoofdstuk 3. Gateway installatie en configuratie 31 administrator mail: davy (alle mail bedoeld voor de beheerder wordt naar gebruiker davy gestuurd) Achteraf kunnen we deze configuratie procedure eventueel opnieuw doorlopen via eximconfig. Tenslotte kiezen we een goed wachtwoord voor de root-account Upgrade naar Adamantix Voordat we ook maar één extra pakket hebben geïnstalleerd passen we het bestand /etc/apt- /sources.list aan. Hierin worden de bronnen vermeld waarvan het package management system zijn pakketten download. De inhoud van dit bestand moeten we vervangen door: deb ftp://ftp.szczepanek.de/adamantix/ stable main contrib deb stable-security main contrib Daarna voeren we de volgende commando s uit: apt-get update apt-get install libncurses5 apt-get dist-upgrade 3.4 Configuratie en beveiliging van het OS Installatie van extra pakketten We installeren volgende extra pakketten: emacs21 (onze favoriete editor) ssh (om vanop afstand een shell te verkrijgen over een SSL verbinding) make, gcc (gcc-2.95), cpp (cpp-2.95), libc6-dev en libncurses5-dev (voor het hercompileren van de kernel) iproute (en atm-tools) vlan (om de vlan devices aan te maken) libpam-cracklib (en cracklib-runtime, cracklib2, file) sudo logcheck (logbestand analyse), en bijgevolg ook logcheck-database, perl, perl-modules, logtail debsums (md5 file system integrety check), en bijgevolg ook libdigest-md5-perl Dit kan via de opdracht apt-get install pakketnaam.

34 Hoofdstuk 3. Gateway installatie en configuratie Keuze van de Linux-kernel De Linux-kernel De Linux-kernel is de kern van het besturingssysteem. Het is het gemeenschappelijke onderdeel van alle Linux distributies. Alle andere gebruikte programma s, userland tools, kunnen vrij gekozen worden, maar de Linux-kernel is hetgene waar het besturingssysteem zijn naam aan te danken heeft. De standaard Linux kernel (in zijn zuivere vorm) is verkrijgbaar in broncode 10. Zulke zuivere kernel wordt de mainstream kernel genoemd. Sommige distributies noemen hem soms ook de vanilla kernel. Deze wordt verder ontwikkeld door een team van kernel developers, waaronder Linus Torvalds. De meestgebruikte versie is momenteel 2.4.x, maar de eerste versies in de 2.6.x reeks zijn ondertussen ook al klaar. Patches Dikwijls zijn er voorzieningen en stuurprogramma s nodig die in de kernel thuishoren (omdat ze bijvoorbeeld rechtstreeks toegang tot de hardware vereisen), maar er niet standaard zijn in opgenomen. Daarom kan je her en der kernel patches terugvinden. Een patch brengt de nodige wijzigingen/uitbreidingen aan aan de mainstream kernel sources. Om conflicten te vermijden is het best van uitsluitend patches toe te passen voor de juiste kernel-versie. Configuratie Na het patchen van de kernel kunnen we overgaan tot de configuratie ervan. Hierbij duiden we aan welke onderdelen er statisch in de kernel moeten worden gecompileerd, welke delen als module, en welke onderdelen helemaal niet. Een statisch gecompileerd onderdeel is altijd geladen wanneer de kernel draait. Een module kunnen we echter at runtime in of uit de draaiende kernel halen op het gewenste moment (zonder dat herstarten van het OS nodig is). We kunnen hierbij nog opmerken dat we de configuratie uiteindelijk kunnen opslaan in een bestand, dat we later bij andere kernel sources eventueel kunnen importeren. Het onderling exporteren en importeren van zulke bestanden is enkel mogelijk voor kernels uit dezelfde reeks (bijvoorbeeld alle kernels in de 2.4.x reeks). Compilatie Uiteindelijk kunnen we overgaan tot het compileren van de kernel. Na compilatie krijgen we een zogenaamde kernel image die alle statisch gecompileerde code bevat. Dit bestand kunnen we dan verplaatsen naar de /boot partitie en hem vervolgens opgeven aan de boot manager zodat hij kan geboot worden. We kunnen ook de modules compileren. Bij het draaien van 10

35 Hoofdstuk 3. Gateway installatie en configuratie 33 de nieuwe kernel image kunnen dan de gewenste modules geladen worden. Soms kan men op bepaalde sites voorgecompileerde modules vinden voor een bepaalde kernel versie (een soort beschikbaar gestelde driver). Pakketten De meeste Linux distributies bieden voorgecompileerde kernels aan (zowel de kernel image als de modules). Deze kunnen dan eenvoudig geïnstalleerd worden via het package management system van de desbetreffende distributie. Welke opties er statisch zijn gecompileerd, welke als module, en welke helemaal niet, is natuurlijk op voorhand bepaald en kan niet gewijzigd worden. Daarom worden er standaard meestal voldoende onderdelen als modules meegeleverd, zodat de kans groot is dat de benodigde module beschikbaar is. Een bepaald kernel pakket is ook maar geldig voor één bepaalde architectuur (aangezien de kernel voorgecompileerd is). Zo kan het zijn dat er bijvoorbeeld enkel een i386 versie aangeboden wordt (voor Intel 386 processoren en recenter) zodat er geen nieuwe instructies of optimalisaties gebruikt worden van de recentste processoren. Als voorbeeld is in tabel 3.2 een opsomming gegeven van sommige kernel image pakketten in de distributie Adamantix. In dit overzicht zien we dat er pakketten bestaan voor verschillende Intel processoren. Per processor zijn er dan nog eens verschillen in de meegecompileerde opties. Daarnaast biedt Adamantix ook een pakket aan met de kernel-sources. Deze bronbestanden zijn reeds voorzien van een hele reeks interessante patches. Na het installeren van zo een pakket moeten we dus de kernel nog configureren, compileren en uiteindelijk installeren (zodat hij geboot wordt). Een voorbeeld van zo een pakket in Adamantix: kernel-source us: Linux kernel source for version with Debian patches Op de website van Adamantix staat duidelijk vermeld welke configuratie opties er moeten gewijzigd worden om de normal kernel, de sec kernel, of de soft kernel te bekomen. Onze keuze We hebben verschillende patches nodig ten opzichte van de mainstream kernel, bijvoorbeeld voor VLAN ondersteuning, RSBAC, PaX,... Deze patches zijn allemaal aanwezig in de Adamantix kernelpakketten, maar bijvoorbeeld niet allemaal in de originele Debian pakketten. Vervolgens willen we een aantal onderdelen in de kernel hebben. In de standaard image pakketten van Adamantix zit bijvoorbeeld geen VLAN ondersteuning. Bovendien willen we, met het oog op veiligheid, zo weinig mogelijk code in de draaiende kernel. Want hoe meer programmacode er draait, hoe groter de kans op veiligheidslekken waarvan misbruik kan gemaakt worden. Ideaal is dus het eerder vermelde kernel-source pakket te installeren, vervolgens onze zelf gekozen configuratie te laden, en te compileren (met buffer overflow protectie, zie verder).

36 Hoofdstuk 3. Gateway installatie en configuratie 34 kernel-image us Linux kernel image for version on 386. kernel-image sec - us Linux kernel image for version on 386. kernel-image soft - us Linux kernel image for version on 386. kernel-image switch - us Linux kernel image for version on 386. kernel-image tsc - us Linux kernel image for version on Pentium-Classic. kernel-image tsc-sec - us Linux kernel image for version on Pentium-Classic. kernel-image tsc-soft - us Linux kernel image for version on Pentium-Classic. kernel-image tsc-switch - us Linux kernel image for version on Pentium-Classic. kernel-image us Linux kernel image for version on PPro/Celeron/PII/PIII/PIV. kernel-image sec - us Linux kernel image for version on PPro/Celeron/PII/PIII/PIV. kernel-image smp - us Linux kernel image for version on PPro/Celeron/PII/PIII/PIV SMP. kernel-image smp-sec - us Linux kernel image for version on PPro/Celeron/PII/PIII/PIV SMP. kernel-image smp-soft - us Linux kernel image for version on PPro/Celeron/PII/PIII/PIV SMP. Tabel 3.2: Kernel image pakketten Dit kan eventueel in een automatisch script worden geplaatst. Stel dat er een nieuwe kernel versie beschikbaar is, moeten we enkel het juiste source-pakket downloaden, onze configuratie opties laden en compileren. We moeten dus niet alle benodigde patches voor de nieuwe kernel versie gaan zoeken en downloaden, want dat valt niet te automatiseren en brengt dus veel extra werk mee. Werk dat nu wordt gedaan door de Adamantix ontwikkelaars Kernel configuratie Na het installeren van het pakket kernel-source us pakken we de bronbestanden uit, verplaatsen we ons naar de nieuwe directory, en voeren het commando make menuconfig uit. We krijgen dan een menustructuur te zien waar we volgende wijzigingen dienen aan te brengen: Processor type and features (Pentium-III/Celeron(Coppermine)) Processor family

37 Hoofdstuk 3. Gateway installatie en configuratie 35 --> compilatie optimalisaties voor onze Pentium III processor Symmetric multi-processing support --> ons toestel heeft maar 1 processor UIT PCMCIA/CardBus support PCMCIA/CardBus support --> we hebben geen PCMCIA/CardBus UIT General setup ACPI Support ACPI Support IN Processor IN --> Wanneer onze processor niets te doen heeft mag er stroom bespaard worden Networking options Packet Socket IN --> voor dhcpd Network packet filtering (replaces ipchains) IN --> we gebruiken ook packet filtering in onze firewall (via iptables) Socket Filtering IN --> voor dhcpd IP: Netfilter Configuration Connection tracking (required for masq/nat) IN --> we willen aan NAT doen FTP protocol support IN IRC protocol support IN IP tables support (required for filtering/masq/nat) IN --> we willen aan packet filtering en NAT doen netfilter MARK match support (NEW) IN --> voor onze bandwidth control Multiple port match support (NEW) IN --> handig om in 1 regel meerdere poorten te ëspecifiren Connection state match support (NEW) IN --> nodig i.v.m. onze NAT Packet filtering (NEW) IN --> om de standaard table " filter" te gebruiken Full NAT (NEW) IN --> we willen ook de table " nat" gebruiken voor onze NAT MASQUERADE target support (NEW) --> we gebruiken een device met een wisselend IP adres (PPPoE verbinding) REDIRECT target support (NEW) IN

38 Hoofdstuk 3. Gateway installatie en configuratie 36 --> handig om aanvragen op bepaalde poorten te forwarden naar lokale machines, of om een transparante proxy in te stellen Transparent proxying (NEW) <M> --> voor onze ZORP firewall TPROXY target support (NEW) <M> --> ZORP (eventueel) tproxy match support (NEW) <M> --> ZORP (eventueel) LOG target support IN --> om vreemde zaken door iptables te laten loggen (TODO) 802.1Q VLAN Support IN --> om onze VLAN instellingen te kunnen doen QoS and/or fair queueing QoS and/or fair queueing IN --> voor onze bandwidth control HTB packet scheduler (NEW) IN SFQ queue (NEW) IN SCSI support SCSI support UIT --> we hebben geen scsi devices, en ook geen iomega parallelepoort zipdrive Network device support Allow Net Devices to contribute to /dev/random UIT --> zie Adamantix kernel info Ethernet (10 or 100Mbit) Ethernet (10 or 100Mbit) IN 3COM cards IN 3c590/3c900 series (592/595/597) "Vortex/Boomerang" support (NEW) IN --> voor onze ingebouwde 3 Com PCI 3C905B-TX EISA, VLB, PCI and on board controllers UIT --> niet nodig Ethernet (1000 Mbit) Intel(R) PRO/1000 Gigabit Ethernet support IN --> voor onze Intel(R) PRO/1000 MT Desktop Adaptor) PPP (point-to-point protocol) support IN --> onze PPPoE adsl verbinding heeft dit nodig PPP support for async serial ports (NEW) IN --> adsl verbinding PPP MPPE encryption (NEW) IN --> zie adamantix kernel Character devices

39 Hoofdstuk 3. Gateway installatie en configuratie 37 /dev/agpgart (AGP Support) --> we gaan geen grafische toepassingen draaien Direct Rendering Manager (XFree86 DRI support) --> zelfde reden UIT UIT File systems Quota support IN --> zodat we eventueel voor bepaalde gebruikers beperkingen i.v.m. opslagruimte kunnen opleggen Ext3 journalling file system support IN --> grootste deel van onze partities zijn in EXT3 DOS FAT fs support UIT --> laten we uit zodat onze backup hardeschijf in geen geval kan gemount worden vanuit een draaiend os (veiligheid) Virtual memory file system support (former shm fs) UIT --> niet nodig ISO 9660 CDROM file system support IN Microsoft Joliet CDROM extensions IN --> voor als we is een microsoft cdtje plaatsen met lange bestandsnamen Network File Systems NFS file system support UIT --> niet nodig NFS server support UIT --> niet nodig SMB file system support (to mount Windows shares etc.) IN --> voor backups op netwerkshared van \server Sound Sound card support --> we gaan onze sound chipset niet gebruiken UIT PaX options We zetten alle opties op behalve " Randomize ET\_EXEC base (NEW)" --> zie Adamantix kernel information Kernel compilatie We compileren de kernel door het volgende commando uit te voeren: make ADAMANTIX=y dep clean bzimage modules modules\_install Zonder de optie ADAMANTIX=y stopt het compileren met de foutmelding: /root/src/kernel-source /include/asm/unistd.h:379: Invalid asm statement:

40 Hoofdstuk 3. Gateway installatie en configuratie 38 /root/src/kernel-source /include/asm/unistd.h:379: fixed or forbidden register 3 (bx) was spilled for class BREG Opstartbaar maken van de kernel Na het compileren van de kernel voeren we volgende commando s uit: cp /root/src/kernel-source /arch/i386/boot/bzimage /boot/vmlinuz ln -s /boot/vmlinuz /norsbac Vervolgens passen we het configuratiebestand /etc/lilo.conf aan van onze bootmanager, en voegen volgende gegevens toe: default=norsbac image=/norsbac label=norsbac read-only restricted Tenslotte herschrijven we onze bootsector via het commando lilo -v Verdere beveiliging Voor verdere beveiliging van het OS verwijs ik u door naar de Securing Debian Manual 11 waarin stap voor stap alle aanpassingen worden beschreven. Van deze handelingen werd het grootste deel effectief toegepast. 3.5 Netwerk configuratie De gateway is via één enkele netwerkkaart met een tagged poort van de switch verbonden. We maken nu 2 fictieve netwerk devices aan, zodat het lijkt alsof we een netwerkkaart hebben op VLAN 123, en een andere op VLAN 2. Dit doen we via de tool vconfig: vconfig add eth0 123 vconfig add eth0 2 Vervolgens geven we het configuratiebestand /etc/network/interfaces de volgende inhoud: # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface 11

41 Hoofdstuk 3. Gateway installatie en configuratie 39 auto lo iface lo inet loopback # The first network card - this entry was created during the Debian installation # (network, broadcast and gateway are optional) auto eth1 iface eth1 inet static address netmask network broadcast gateway auto eth0 iface eth0 inet static address netmask network broadcast auto eth0.123 iface eth0.123 inet static vlan-raw-device eth0 address netmask network broadcast auto eth0.2 iface eth0.2 inet static vlan-raw-device eth0 address netmask network broadcast We laten ook forwarding toe door in het bestand /etc/network/options de optie ip forward=yes toe te voegen. Via firewall regels moeten we dan wel verboden trafiek blokkeren. 3.6 Firewall Om de firewall configuratie in te stellen, te testen en door te voeren maken we gebruik van het pakket iptables-utils. De configuratie gebeurt in twee bestanden, namelijk /etc/iptables.conf.in voor de regels, en /etc/iptables.conf.var voor de constanten.

42 Hoofdstuk 3. Gateway installatie en configuratie 40 Daarna voeren we volgende commando s uit voor het activeren van de configuratie: iptables-gen iptables-commit Het is ook aan te raden om i.p.v. bepaalde trafiek door te sturen naar het interne netwerk, gebruik te maken van proxy servers. standaard in de Adamantix-distributie beschikbaar is. Dit kan bijvoorbeeld door de proxyserver Zorp, die 3.7 DHCP Server Na het installeren van het pakket dhcp passen we het configuratiebestand /etc/dhcpd.conf als volgt aan: subnet netmask { } subnet netmask { } subnet netmask { } subnet netmask { option routers ; option subnet-mask ; option domain-name-servers ; } range ; default-lease-time 21600; max-lease-time 43200; Merk op dat voor elk bestaand subnet een verwijzing moet geplaatst worden.

43 Hoofdstuk 4 Raamplanbeheer Voor elke jongere in de instelling wordt er om de 6 maanden een raamplan opgesteld. Dit is een soort verslag over het gedrag en de vorderingen van de jongere in de afgelopen 6 maanden. Verschillende mensen werken samen aan zo n verslag, maar meestal werkt iedereen aan zijn eigen vaste paragrafen. Zo zal de pedagogisch coördinator instaan voor de paragrafen Medisch verslag en Hypothesen en strategie, en de schoolorthopedagoge voor de paragraaf School. 4.1 Vroegere situatie Vóór de herstructurering was elke medewerker in het bezit van een Word-sjabloon voor de raamplanstructuur. Dit wordt hier nu wel sjabloon genoemd, maar het was werkelijk de meest primitieve vorm van een sjabloon. Elke medewerker vulde dan op de gepaste plaatsen (de paragrafen waarvoor hij verantwoordelijk was) inhoud toe. De andere delen liet hij leeg. Vervolgens werd het half afgewerkte document op een diskette geplaatst, en deze werd dan uiteindelijk bezorgd aan de coach van dat raamplan. Deze coach opende dan alle documenten van alle medewerkers voor dat raamplan, en knipte en plakte de inhoud van die documenten samen tot één afgewerkt document. Vervolgens moest de coach de opmaak uniform maken (elke medewerker had zo zijn eigen regeltjes i.v.m. opmaak en structuur), de titeltjes nummeren, manueel een inhoudstafel aanmaken, de medewerkerstabel op het einde van het raamplan opstellen, en de administratieve gegevens invullen (die eerst op het secretariaat moesten bekomen worden). Nadelen: Men kon geen tijdelijk resultaat van het raamplan inkijken. Er moest gewacht worden tot het raamplan volledig afgewerkt was door de coach, en aan iedereen werd doorgegeven (een afgedrukt exemplaar passeerde via persoonlijke postvakjes langs elke medewerker). 41

44 Hoofdstuk 4. Raamplanbeheer 42 Veel werk voor de coach: het aanvragen van administratieve gegevens, het samenstellen van alle documenten, de opmaak in orde brengen, de titels nummeren en de inhoudstabel en medewerkerstabel opstellen. Er was geen centrale opslagplaats voor de raamplannen. Een afgedrukt exemplaar was achteraf (eens het afgewerkt was) enkel beschikbaar op het bureau van de coach, voor zover het op dat moment niet uitgeleend was aan iemand anders. Door het gebruik van een diskette moest men zich van de ene werkplaats naar de andere verplaatsen (soms in verschillende gebouwen). Geen duidelijke informatie over wie welke aanpassingen heeft gedaan. Een wildgroei van verschillende opmaak stijlen was mogelijk. Iedere coach kan zonder problemen het werk van andere personen lezen en aanpassen, en dit zonder ook maar één spoor achter te laten. 4.2 Mogelijke oplossingen Er bestaan verschillende mogelijke oplossingen voor dit probleem. Het moeilijkste is vermijden dat wanneer meerdere personen gelijktijdig aan dezelfde paragraaf werken, er conflicten optreden. Als er 2 personen een paragraaf elk op hun eigen manier aangepast hebben, en beide versies van de paragrafen worden ongeveer gelijktijdig teruggestuurd naar de server, welke versie is dan de juiste? En hoe zorgen we ervoor dat de wijzigingen van beide personen in rekening worden gebracht. We zullen deze situatie voor de eenvoud onmogelijk maken in ons ontwerp, in plaats van er echt voorzieningen voor te treffen. In wat nu volgt zal ik kort enkele alternatieven bespreken. De uiteindelijk gekozen en uitgewerkte oplossing wordt daarna in detail besproken Ideale oplossing Wanneer je erover nadenkt, zou de meest ideale oplossing er misschien best als volgt kunnen uitzien. Wanneer verschillende personen A, B en C aan hetzelfde document werken, zouden de wijzigingen van persoon A (bijvoorbeeld het typen van een teken) rechtstreeks (in realtime) zichtbaar moeten zijn op het scherm van persoon B en C, met eventueel de vermelding van de naam van persoon A. Het gedeelte (liefst zo klein mogelijk, bijvoorbeeld de zin) waaraan persoon A aan het werken is kan dan misschien best vergrendeld worden. Ook achteraf moet duidelijk kunnen opgevraagd worden wie welk deel heeft opgesteld, en wanneer. Om de opmaak uniform te maken kan een systeem als L A TEX worden gebruikt, waarbij via extra tags tussen de reguliere tekst de logische opbouw wordt opgegeven in plaats van de fysische. Om

45 Hoofdstuk 4. Raamplanbeheer 43 de toegang van bepaalde delen te ontzeggen aan andere gebruikers zou men eventueel ook extra tags voor en na de tekst in kwestie kunnen plaatsen. Zulke oplossing vraagt een speciaal geschreven netwerkapplicatie die in realtime verbonden is met alle andere applicaties. De vraag is of het schrijven van zo een complex programma wel echt de moeite loont. Misschien is het toch beter bestaande, eventueel gratis, middelen te gebruiken om deze ideale oplossing te benaderen Commerciële oplossing Er bestaat momenteel een zeer geschikte oplossing die veel van deze problemen oplost, namelijk Microsoft Office Dit product biedt de mogelijkheid om in team te werken. Men kan de naam en online status van alle andere teamleden op elk moment bekijken. Men kan dan gezamenlijk aan documenten werken die gebaseerd zijn op sjablonen. Deze gedeelde documenten bevinden zich in zogenaamde Document Workspaces. Wanneer een bevoegd persoon een sjabloon aanpast, dan zal de opmaak van alle hierop gebaseerde documenten mee veranderen. Word, Excel en PowerPoint vergelijken een lokale kopie van het document regelmatig met de originele versie op de server, en zetten alle veranderingen in de afzonderlijke kopieën bij elkaar. In de Professional Edition van Office 2003 zit ook een geavanceerde toegangsbeveiliging. De maker van een document kan dan via het rechtenbeheer (Information Rights Management) voor het document, of zelfs voor afzonderlijke stukken van het document, instellen welke andere gebruikers het mogen lezen, bewerken of alleen maar becommentariëren. Het nadeel, zoals steeds bij zulke commerciële oplossingen, is de kostprijs. Microsoft Office 2003 vereist minimaal Windows 2000 met Service Pack 3 op alle werkstations, Windows XP wordt aangeraden. Voor een groot deel van de nieuwe functies, die gezamenlijk werken aan documenten mogelijk maken, zijn ook Windows Server 2003 en de SharePoint Portal Server vereist op de server. Wanneer we op 10 bestaande pc s met Windows 98 willen upgraden naar Windows XP Professional kost dat het MPI ongeveer 2000d. Office Pro 2003 upgrades kosten voor 10 pc s 3290d. De Windows 2003 Enterprise Server kost 2400d, en de SharePoint Server 7050d. Tezamen komen we aan een som van 14740d(alleen nog maar voor software), wat onbetaalbaar is voor een kleine vzw zoals Capelderij. Gelukkig kunnen een aantal van deze pakketten via Sumika aan een goedkopere prijs worden aangekocht, maar het blijft een grote investering. [10] Workflow via Een eenvoudige oplossing bestaat erin een soort workflow te creëren. Men vertrekt van een leeg sjabloon. Iedere werknemer plaatst zijn deel erin en mailt het vervolgens door naar de volgende persoon, tot het document langs alle medewerkers is gepasseerd en uiteindelijk bij de coach terecht komt. Het voornaamste voordeel t.o.v. de huidige situatie is dat men niet meer

46 Hoofdstuk 4. Raamplanbeheer 44 van werkplaats naar werkplaats moet wandelen om de huidige versie door te geven. Wanneer men bovendien de andere medewerkers steeds een kopietje bezorgd van de , zijn deze steeds op de hoogte van de reeds afgewerkte paragrafen. Een groot deel van de nadelen blijft echter aanwezig File sharing van Word-documenten via netwerk Een andere oplossing is het delen van een Word-document op een netwerkshare. Wanneer een persoon dit document opent, vergrendelt MS Office dit volledige document. Men kan dus niet met meerdere mensen gelijktijdig aan hetzelfde document werken. Om dit gedeeltelijk op te lossen kan men de verschillende paragrafen (die meestal elk afzonderlijk bij een bepaalde persoon horen) in aparte documenten plaatsen. Deze aparte documenten kunnen dan later handmatig samengevoegd worden tot één groot. Deze laatste stap zouden we eventueel kunnen automatiseren via scripts die het Office Object model aanspreken (cfr ). Voordelen: Geen tijdverlies door verplaatsen van werkplaats naar werkplaats Alle personen kunnen tegelijkertijd aan hun eigen deel werken Alle delen staan centraal op een server Rechten kunnen per deeldocument worden ingesteld Database systeem Vorig systeem van file sharing kan gesimuleerd worden in een database toepassing. De aparte paragrafen worden dan aparte velden in de GUI. In de database gaat het dan om verschillende entry s. Deze velden kunnen in de GUI vergrendeld worden op het moment dat iemand anders deze bewerkt. Het wordt ook eleganter om verslagen van jongeren te beheren. Voordelen: Alle voordelen aangehaald in Het overzicht van de verslagen en het beheer ervan worden eleganter uitgevoerd Zuiver CVS systeem CVS 1 is een systeem dat eigenlijk is bedoeld om met een heel team van programmeurs aan dezelfde broncode van programma s te werken. Voor je begint te werken haal je de nieuwste versie van alle documenten binnen via CVS. Vervolgens wijzig je de nodige delen. Na 1 Concurrent Version System

47 Hoofdstuk 4. Raamplanbeheer 45 je werk plaats je de documenten via CVS terug op de server. Wanneer iemand anders in die periode ook wijzigingen heeft aangebracht aan je gewijzigd document, worden deze veranderingen samengevoegd (dit samenvoegen heet mergen in het Engels). Gebeurden deze wijzigingen op verschillende plaatsen in het document, dan is de kans groot dat dit mergen zonder problemen verloopt. Gebeurden de wijzigingen bij beide personen aan dezelfde regels, dan kunnen er conflicten ontstaan. Deze worden echter duidelijk weergegeven door het systeem, en kunnen eenvoudig handmatig worden gecorrigeerd. De bestanden moeten wel best gewone tekstbestanden zijn. We kunnen bijvoorbeeld geen Word-document gebruiken met opmaak erin. Voordelen: Geen tijdverlies door verplaatsen van werkplaats naar werkplaats. Men kan met meerdere personen tegelijkertijd aan dezelfde tekst werken (niet alleen elk aan hun eigen deel). Alle wijzigingen worden in detail bijgehouden (wie welk deel wanneer toegevoegd heeft). Mogelijkheid om op elk moment een rollback te doen naar gelijk welke vroegere situatie Combinatie CVS, L A TEX en scripting Wanneer we enkele van de voorgaande technieken combineren met scripting kunnen we misschien wel komen tot een snel implementeerbare oplossing die dicht tegen ons ideale oplossing komt. De paragrafen kunnen bijvoorbeeld worden opgesteld en aangepast via CVS. Achteraf kunnen de paragrafen worden samengevoegd, en kunnen LaTeX tags worden bijgeplaatst, via scripts. Na het compileren met een LaTeX compiler (eveneens geautomatiseerd) verkrijgen we het uiteindelijke opgemaakte document. 4.3 Keuze van implementatie software Na het bespreken van de mogelijke oplossingen met het personeel, werd er uiteindelijk gekozen voor het programmeren van een webgebaseerde toepassing, met een ondersteunende gegevensbank. Zo kan men werken op gelijk welk werkstation dat is voorzien van een internet browser. Dit werkstation moet natuurlijk verbonden zijn met de server. Dit kan via het lokale netwerk, of zelfs via het Internet Programmeertaal Als programmeertaal werd gekozen voor C# in ASP.NET. De toepassing werd ontwikkeld in Visual Studio.NET. Op de productieserver hoeft deze ontwikkelingsomgeving echter niet aanwezig te zijn. Op de productieserver moet enkel zowel het.net framework aanwezig zijn

48 Hoofdstuk 4. Raamplanbeheer 46 (gratis verkrijgbaar en eveneens noodzakelijk voor Exchange server) als de MS IIS webserver (standaard aanwezig in Windows server versies, en eveneens vereist voor Exchange server) Database server Als database server koos ik voor Microsoft SQL Server 2000 omdat dit reeds aanwezig was op de Windows server. Het werd trouwens ook gebruikt door de reeds aanwezige administratie software. Hiervan kon eveneens handig gebruik gemaakt worden om bepaalde administratieve gegevens voor de raamplannen uit deze reeds bestaande database op te halen Opmaken en produceren van het document Om de velden in onze database programmatisch samen te smelten tot een opgemaakt document werd gebruik gemaakt van DCOM objecten. Deze maken het mogelijk om vanuit een programma (zoals onze ASP.NET toepassing) een Word template bestand te openen, allerlei handelingen te doen zoals locaties opzoeken, tekst invoegen, tabellen aanmaken, inhoudstafel produceren,... en uiteindelijk het resultaat op te slaan in een ander Word bestand. Voor dit alles werd MS Word 2003 gebruikt. Bij installatie van dit product worden de nodige dll bestanden automatisch toegevoegd. 4.4 Gebruikershandleiding ter beschrijving van structuur en mogelijkheden Gebruikers Wanneer je als medewerker wilt deel uitmaken van het raamplanbeheer systeem, of indien je er wilt gebruik van maken, dan moeten volgende zaken gebeuren. Jouw gebruikersaccount moet bestaan in Active Directory, of erin aangemaakt worden (bijvoorbeeld via Active Directory Users and Computers). Vervolgens moet de gebruiker toegevoegd worden aan de groep met de naam raamplanbeheer. Tenslotte moet er een keer aangemeld worden via deze gebruiker op het raamplanbeheer systeem, zodat de medewerker opgenomen wordt in de gegevensbank. Vanaf dan is de medewerker gekend en kan hij, bijvoorbeeld via werkverdeling, ingeschakeld worden voor een bepaald raamplan De gebruikersinterface Wanneer we de gewenste URL in onze internet browser opgeven, bijvoorbeeld dan moeten we ons eerst aanmelden. Na het ingeven van een correct gebruikersnaam en wachtwoord paar zien we de gevraagde pagina. Alle pagina s hebben een uniforme layout (zie

49 Hoofdstuk 4. Raamplanbeheer 47 Figuur 4.1: Het raamplanbeheer systeem figuur 4.1). Dit komt de gebruiksvriendelijkheid ten goede. In de titelbalk zien we als welke gebruiker we zijn aangemeld. Bovenaan de webpagina bevindt zich de menubalk (figuur 4.2). De knop die geselecteerd is Figuur 4.2: De menubalk wordt in een paars kleurtje weergeven, de andere actieve opties in het donker blauw, en de niet actieve opties (niet aan te klikken op dat moment) in het lichtblauw. Net onder de menubalk bevindt zich de selectiebalk (figuur 4.3). Hier kunnen we in de viewer modus een paar extra opties kiezen.

50 Hoofdstuk 4. Raamplanbeheer 48 Figuur 4.3: De selectiebalk In het midden van de pagina zien we de effectieve inhoud, en onderaan bevindt zich de statusbalk (4.4). In deze balk wordt meer informatie gegeven over de verwachte handeling in Figuur 4.4: De statusbalk een bepaalde situatie Foutmelding Wanneer er een fout optreedt, wordt deze weergegeven in een zelfgemaakte foutpagina zoals te zien is in figuur 4.5. Deze foutpagina past natuurlijk binnen de uniforme layout en wordt in Figuur 4.5: De foutpagina het midden gedeelte weergegeven (tussen selectiebalk en statusbalk). Er wordt zoveel mogelijk informatie getoond om de gebruiker een idee te geven over de oorzaak Word template bestand creëren Eerst en vooral moeten we specifiëren hoe het uiteindelijk geproduceerd bestand er moet uitzien. Daartoe maken we in Word de volledige vormgeving, en slaan we dit bestand op als

51 Hoofdstuk 4. Raamplanbeheer 49 een Word template bestand (.dot). Zo maken we het titelblad, de (lege) tabel voor administratieve gegevens, alle titels en ondertitels,... Het is belangrijk dat we voor de titels gebruik maken van opmaakprofielen (bijvoorbeeld 1. Kop1, 1.1. Kop2, Kop3,...) zodat we achteraf automatisch een inhoudstafel kunnen laten opmaken. Elk paragraafje tekst in het uiteindelijk geproduceerd document noemen we heel toepasselijk een paragraaf, en elke paragraaf heeft een paragraaftype. Elk raamplan bestaat uit steeds dezelfde paragraaftypes. Per paragraaftype krijgen we voor elk raamplan natuurlijk een andere paragraaf inhoud. Het is de bedoeling dat er overal waar er in ons Word document inhoud moet ingevoegd worden bladwijzers geplaatst worden. Een bladwijzer is een verwijzing die je op een bepaalde plaats in het document kan aanbrengen, en een bepaalde naam kan geven. Bij het produceren van het uiteindelijk Word document voor een bepaald raamplan, wordt er op de plaats van elke bladwijzer de juiste inhoud geplaatst door ons programma. We kunnen gebruik maken van 3 soorten bladwijzers in ons sjabloonbestand. 1. Eerst en vooral hebben we een paar vaste bladwijzers. Dat zijn de bladwijzers met de namen inhoudsopgave (hier zal de inhoudstafel geplaatst worden), medewerkerstabel (hier komt de medewerkerstabel), datum (hier komt de datum van het huidige raamplan) en datumvorig (hier komt de datum van het vorige raamplan van dezelfde jongere). 2. Verder hebben we bladwijzers die dezelfde naam dragen als de overeenkomstige kolomnamen uit bepaalde tabellen in de administratieve toepassing, horende bij de jongere waarover het raamplan handelt. Zo hebben we bijvoorbeeld VGEMCOD voor het postnummer van de gemeente waar de jongere woont, VBEWNAT voor de nationaliteit van de jongere, VBEWMOEDER voor de naam van de jongere zijn moeder, en VBEWOMS voor de naam van de jongere zelf. Sommige velden komen echter 2 keer voor in het document. Zo wordt de naam en geboortedatum van de jongere zowel in de administratieve tabel geplaatst, als op het titelblad. Het probleem is dat elke bladwijzernaam uniek moet zijn. We kunnen dus bijvoorbeeld niet twee maal een bladwijzer met de naam VBEWOMS plaatsen. Daarom werd er voor het veld VBEWOMS een andere bladwijzer naam in het leven geroepen, en voor het veld VBEWGEB een bladwijzer geboortedatum. Deze bevatten gewoon een kopie van de overeenkomstige velden. 3. Tenslotte voegen we voor elk paragraaftype op de gewenste plaatsen een bladwijzernaam naar keuze in. Deze bladwijzernamen moeten wel overeenkomen met de opgegeven naam in de aangemaakte (of aan te maken) paragraaftypes in ons raamplanbeheer systeem (zie hoofdstuk 4.4.5). Hier volgen een paar tips voor het werken met bladwijzers. Ten eerste is het handig als je de bladwijzers effectief ziet staan in het document. Daarom openen we in Word het menu Extra en kiezen Opties. In het tabblad Weergave vinken we bij Weergeven de optie Bladwijzers

52 Hoofdstuk 4. Raamplanbeheer 50 aan. Vanaf nu zien we alle bladwijzers in het document door middel van een soort grijze cursor. Een tweede handigheid is het creëren van een sneltoets voor het invoegen/editeren van bladwijzers. Daarvoor klikken we in het menu Extra op Aanpassen... In het tabblad Opdrachten klikken we onderaan op de knop Toetsenbord... In het nu volgende scherm kiezen we uit de lijst Categorieen het item Alle opdrachten, en vervolgens uit de lijst Opdrachten het item BladwBewerken. Nu gaan we in het vakje Druk op nieuwe sneltoets staan, en drukken we onze sneltoets, bijvoorbeeld Ctrl+B. We kunnen dan ook zien of de sneltoets al aan een andere functie is toegewezen. Zijn we zeker van onze sneltoetskeuze dan klikken we op de knop Toewijzen. Als we vanaf nu in ons Word document op een willekeurige plaats gaan staan, en we drukken op onze sneltoets, dan kunnen we op die plaats een bladwijzer invoegen. Stond er daar al een, dan kunnen we hem op deze manier aanpassen. Wens je via de menuutjes te werken, dan kan je een bladwijzer toevoegen/wijzigen via het menu Invoegen, Bladwijzer Nieuwe paragraaftypes Wanneer we in ons nieuw Word sjabloonbestand bladwijzernamen toevoegen, waar nog geen overeenkomstig paragraaftypes voor zouden bestaan in ons raamplanbeheer systeem, dan moeten we deze eerst aanmaken. Daarvoor klikken we op Paragraaftypes in de menubalk. Vervolgens kiezen we de discipline die bevoegd is om het nieuwe paragraaftype te editeren (bijvoorbeeld gezinsbegeleider of logopedist), een willekeurige titel (die wordt getoond in onze raamplanviewer, net boven een paragraaf van dit type, maar die verder geen betekenis heeft) en de naam van de bladwijzer die we hebben gebruikt om aan te geven waar dit paragraaftype moet worden geplaatst in ons document. Na het klikken op de knop Toevoegen wordt het paragraaftype toegevoegd in de lijst. Alle toevoegingen kunnen worden geannuleerd via de knop Annuleren, of worden bevestigd door de knop Bevestigen. Aangemaakte paragraaftypes kunnen achteraf niet meer worden verwijderd, enkel gedeactiveerd in de nieuwste raamplanversie (zie 4.4.6) De raamplanversie aanmaken Eens we onze nieuwe structuur via een nieuw Word template bestand hebben opgemaakt, en eventueel nieuwe paragraaftypes hebben aangemaakt, kunnen we hieruit een nieuwe raamplanversie creëren. Vanaf dat moment zullen alle nieuw aangemaakte raamplannen op deze versie gebaseerd worden. We klikken op Nieuwe versie in de menubalk. Daar kunnen we links alle niet-actieve paragraaftypes zien (nieuw aangemaakte types zijn standaard niet-actief), en rechts alle actieve. Met de knoppen >> en << kunnen paragraaftypes tussen deze 2 categorieën worden verplaatst. Onderaan kunnen we het pad naar ons nieuw Word template bestand opgeven (we kunnen ook Browse... klikken). Wanneer we tenslotte op de knop Aanmaken klikken, wordt de nieuwe

53 Hoofdstuk 4. Raamplanbeheer 51 versie toegevoegd aan onze gegevensbank en, zoals vermeld, worden alle vanaf nu aangemaakte raamplannen hierop gebaseerd Nieuw raamplan Een nieuw raamplan aanmaken is zeer eenvoudig. We klikken gewoon op de knop Nieuw RP in de menubalk. Vervolgens selecteren we de jongere waarvoor we het nieuwe raamplan willen starten uit de lijst (deze lijst van jongeren wordt opgehaald uit de administratie database). We kiezen ook de datum. Deze datum kan bijvoorbeeld in de toekomst liggen. Wanneer we op de knop Aanmaken klikken, wordt een nieuw raamplan voor de geselecteerde jongere en de ingevulde datum aangemaakt. Dit houdt in dat er een lege paragraaf wordt aangemaakt voor elk actief paragraaftype (elk paragraaftype in de nieuwste versie), horende bij dit raamplan. Het raamplan wordt ook gekoppeld aan deze nieuwste versie, en dus ook aan het bijbehorende Word template bestand. Diegene die een raamplan aanmaakt, wordt automatisch de coach van dit raamplan Werkverdeling Indien we de coach zijn van een raamplan, kunnen we ten alle tijde de werkverdeling ervan aanpassen. Men kan op 2 manieren op het scherm terecht komen om de werkverdeling aan te passen. Ofwel na het aanmaken van een nieuw raamplan, ofwel na het klikken op de knop Werkverdeling in de menubalk, nadat we in de Viewer een raamplan hadden geselecteerd. Men kan hier voor elke gewenste discipline een gepaste medewerker opgeven. Eens de lijst van disciplines en overeenkomstige medewerkers voor het huidige raamplan is opgegeven, klikken we op de knop Bevestigen Inhoud raamplan bekijken/bewerken De inhoud van een raamplan bekijken/bewerken doen we via de raamplan viewer. Die openen we door op de knop Viewer te klikken in de menubalk. Vervolgens kiezen we een jongere uit de jongerenlijst. Daarna een raamplan van die jongere uit de raamplanlijst (vanaf nu is het ook mogelijk om op werkverdeling te klikken, of op.doc zie ), en tenslotte kiezen we de gewenste discipline uit de disciplinelijst. We zien nu alle paragrafen voor de gekozen discipline van het geselecteerde raamplan. Wanneer we zelf opgegeven zijn voor deze discipline in de werkverdeling voor het geselecteerde raamplan, dan kunnen we elk van de getoonde paragrafen ook editeren via de knop Editeren die dan onder elke paragraaf verschijnt Geproduceerd Word-document verkrijgen Na het selecteren van een raamplan via de viewer (zie 4.4.9) kunnen we op de knop.doc klikken in de menubalk, om een raamplan document te produceren. Er wordt ons dan au-

54 Hoofdstuk 4. Raamplanbeheer 52 tomatisch een downloadaanvraag voorgesteld van het geproduceerde Word document. Dit document is niets meer dan het template bestand van de gepaste versie, waarbij alle bladwijzers zijn vervangen door de gepaste inhoud voor het geselecteerde raamplan. Dit document kan ten alle tijde opnieuw geproduceerd worden via deze knop, en dit natuurlijk voor alle bestaande raamplannen in het systeem, ongeacht hun versie. 4.5 Implementatie details In dit gedeelte wordt beschreven hoe het programma uitgewerkt werd Visual Studio.NET project Na het opstarten van Microsoft Visual Studio.NET kiezen we in het menu File voor New en vervolgens Project... We kiezen onder de rubriek Visual C# Projects voor ASP.NET Web Application. We geven ook een locatie op, namelijk Bestanden We maken de volgende bestanden aan in ons project (wanneer er een aspx pagina wordt vermeld bedoelen we impliciet eigenlijk ook het bijbehorende code behind bestand met extensie.aspx.cs): Constanten.cs In de klasse Constanten plaatsen we onze constanten d.m.v. statische strings, bijvoorbeeld: public static string PAD_ERROR = "/Raamplanbeheer/Error.aspx";. In onze stringnamen gebruik ik het voorvoegsel PAD_ voor constanten die naar een bepaalde pagina verwijzen (absoluut pad), het voorvoegsel MENU_ voor constanten die de afzonderlijke menuknoppen aanduiden in een Menu object (verzameling van MenuKnoppen), en het voorvoegsel SESSIE_ voor parameternamen van objecten die op de sessie worden geplaatst. Error.aspx Dit is de foutpagina naar waar verwezen wordt bij het optreden van een fout (zie ) Login.aspx en Logout.aspx Login.aspx is de pagina die automatisch wordt opgeroepen wanneer de gebruiker nog niet is ingelogd. Hij hoeft dus niet zelf naar deze pagina te surfen om in te loggen: dit gebeurt automatisch wanneer een willekeurige pagina wordt opgeroepen en de gebruiker niet is ingelogd.

55 Hoofdstuk 4. Raamplanbeheer 53 Na het inloggen wordt automatisch teruggekeerd naar deze willekeurige pagina. Logout is bedoeld om te gebruiker uit te loggen, ofwel zodat er vervolgens met een andere gebruiker kan worden ingelogd, ofwel wanneer de pc een onbetrouwbare pc is waarop andere mensen anders de sessie zouden kunnen voortzetten. Web.config Hier bevinden zich een aantal variabelen waarvan we verwachten dat de informatica verantwoordelijke ze achteraf eenvoudig moet kunnen aanpassen. Ook de authenticatie instellingen worden hier gedeeltelijk gedaan (zie ). waardes: Hier volgen de variabelen en hun standaard <!-- Word verslag --> <add key="wordtem" value="i:\\inetpub\\wwwroot\\raamplanbeheer\\maakdocument\\ templates\\" /> <add key="worddoc" value="i:\inetpub\wwwroot\raamplanbeheer\maakdocument\ documents\" /> <add key="worddocurl" value="/raamplanbeheer/maakdocument/documents/" /> <!-- Active directory --> <add key="adpath" value="ldap://1punt7.capelderij.be/dc=capelderij,dc=be" /> <add key="defaultdomain" value="capelderij.be" /> <!-- Database --> <add key="connstring" value="provider=sqloledb;data Source=(local);Initial Catalog=raamplanbeheer;Trusted_Connection=yes;" /> <add key="bewonersdb" value="bewon.dbo.bbwbewon" /> <add key="externeview" value="bewon.dbo.bbwbewon bew INNER JOIN Bewon.dbo.BBWHADRS kop ON bew.vbewcod=kop.vbewcod INNER JOIN Bewon.dbo.BVADRES adr ON kop.vadrescod=adr.vadrescod INNER JOIN Bewon.dbo.BVGEMEEN gem ON adr.vgemcod=gem.vgemcod AND adr.vgemnr= gem.vgemnr" /> Global.asax Hierin wordt de methode Application_AuthenticateRequest gedefiniëerd voor het authenticatie systeem (zie ) en de methode Application_BeginRequest voor het internationalisatiessysteem (zie ). LdapAuthentication.cs Bevat de LdapAuthentication klasse die instaat voor de communicatie met de Active Directory.

56 Hoofdstuk 4. Raamplanbeheer 54 De directory eigenitems Deze directory bevat volgende bestanden: DDLMetLabel.cs (een DropDownList met een label ervoor, bedoeld voor de selectiebalk), Menu.cs (een collectie van MenuKnoppen) MenuKnop.cs (een menuknop inclusief status) PaginaTitel.cs (de titel bovenaan in de titelbalk van de internet browser) SLButton.cs (een gewone Button die we in de selectiebalk kunnen plaatsen) TBMetLabel (een TextBox met een label ervoor, bedoeld voor in de selectiebalk te plaatsen) De directory maakdocument met het bestand MaakWord.aspx Deze pagina creëert het Word document van een geselecteerd raamplan. De directory models Deze bevat het bestand Model.cs (de interface klasse Model, waarvan alle model klassen moeten worden afgeleid) en het bestand DatabankModel.cs (de model klasse voor onze MS SQL Server database connectie). De directory raamplandefinitie Met de bestanden NieuwRaamplan.aspx (om een nieuw raamplan te creëren) en WerkverdelingEditor.aspx (om de werkverdeling ervan aan te passen). De directory raamplanviewer Met de bestanden ParagraafEditor.aspx (om een paragraaf te editeren nadat op de knop Editeren werd geklikt naast een paragraaf in de viewer) en RaamplanViewer.aspx (de viewer zelf). De directory resources Bevat de resource files voor het ondersteunen van verschillende talen: MyResources.resx dient voor de standaardtaal (niet gebruikt), en MyResources.nl.resx voor het Nederlands.

57 Hoofdstuk 4. Raamplanbeheer 55 De directory structuur Met de bestanden NieuweParagraaftypes.aspx (voor het aanmaken van nieuwe paragraaftypes) en NieuweVersie.aspx (voor het creëren van een nieuwe raamplanversie). De directory templatepage Hierin bevindt zich het bestand TemplatePage.cs (al onze pagina s zijn van de klasse TemplatePage afgeleid, zie Ook ons CSS bestand template1.css bevindt zich hier, evenals een paar JPG bestanden zoals error_boobs.jpg en kasteel.jpg Het MVC ontwerpmodel We bouwen onze applicatie volgens het MVC model. Dat staat voor Model, View, Controller. Het model is de representatie van datgene waar de gebruiker probeert mee te communiceren. In onze toepassing gaat het om het MS SQL Server DBMS. Er moeten gegevens uit opgehaald worden, en vervolgens aan de gebruiker worden voorgesteld. Deze voorstelling is de taak van de view. Dit zijn onze aspx pagina s, en soms ook een gedeelte van de achterliggende code behind files wanneer er via code zaken worden toegevoegd aan de pagina. Tenslotte is er een systeem dat acties van de gebruiker (gewoonlijk muis en toetsenbord acties) verwerkt. Dit is de taak van de Controller. In onze applicatie wordt dit verwezenlijkt door een gedeelte van de code behind files, en door onze TemplatePage die zich tussen al onze pagina s en de klasse Page bevindt. In figuur 4.6 wordt het een en ander geschetst. Zo zien we dat de ASP(X) pagina instaat voor de view, en omgezet wordt naar een nieuwe webpagina die naar de gebruiker wordt gestuurd. De aspx pagina kan voor het produceren van de view gegevens opvragen uit het model (bijvoorbeeld een aantal paragrafen). Vervolgens vult de gebruiker een Web Form op deze pagina in, en onderneemt hij een actie (zoals het klikken op een knop). Deze actie wordt verwerkt door het code behind bestand (aspx.cs) en door de ViewController. Om de aanpassingen door te voeren, raadpleegt het code behind bestand het model. Ons code bestand is dus ook afgeleid van de ViewController (onze TemplatePage). Deze ViewController regelt o.a. de authenticatie van de gebruiker, en welke pagina s hij mag bekijken en welke niet. Wanneer we ergens in onze toepassing verwijzen naar een andere pagina, dan zou dit moeten gebeuren via de ViewController. Dit is effectief zo voor de fout pagina. Voor verwijzingen naar andere pagina s echter wordt gebruik gemaakt van een klasse Constanten, zodat we hetzelfde resultaat bereiken: wanneer er pagina s van naam veranderen moet ons programma maar op één plaats worden gewijzigd, namelijk in de Constanten klasse [7].

58 Hoofdstuk 4. Raamplanbeheer 56 Figuur 4.6: Het MVC model in ASP.NET Het template systeem en de klasse TemplatePage Om alle pagina s een uniforme structuur en opmaak te geven, en ook om het mogelijk te maken achteraf alternatieve structuren en opmaak te ontwikkelen, en die eventueel naast de huidige te gebruiken, werd er goed nagedacht over een template systeem. Vroeger (bijvoorbeeld in ASP) werden zulke template systemen verwezenlijkt door bovenaan en onderaan elke pagina een include te doen van steeds dezelfde bestanden, en natuurlijk ook door gebruik te maken van Cascading Style Sheets (CSS). Nu met de introductie van ASP.NET, en de verregaande object georiënteerdheid ervan, zijn er betere technieken mogelijk. Alle pagina s in ASP.NET zijn eigenlijk klassen, afgeleid van de bovenklasse Page. Wat we gaan doen is al deze pagina klassen niet meer afleiden van Page, maar van een nieuwe tussenklasse TemplatePage die op haar beurt van de klasse Page is afgeleid. In deze nieuwe klasse kunnen we dan bepaalde methodes overschrijven, en nieuwe methodes, eigenschappen,velden,... bijmaken. Om te weten wat en hoe we moeten overschrijven, is het belangrijk om de volgorde te weten waarin de methodes worden aangeroepen, en wat er wanneer gebeurt. Daarover meer in volgende deelparagrafen. Ik bespreek eerst wat ik aangepast heb.

59 Hoofdstuk 4. Raamplanbeheer 57 Eigenschap PageTitle Wanneer we de waarde van deze eigenschap (string) instellen, dan wordt de Text eigenschap van het achterliggende PaginaTitel-object ingesteld. Eigenschap StatusMessage Wanneer we de waarde van deze eigenschap (string) instellen, wordt de eigenschap Text van het achterliggende Label-object ingesteld. Eigenschap MenuItems Deze eigenschap stelt het achterliggende Menu-object in. Dit object bevat de menuknoppen voor in de menubalk. Eigenschap SelectieItems Deze eigenschap stelt het achterliggende ArrayList-object in. Dit object bevat alle WebControls die in de selectiebalk worden geplaatst. Veld resources Dit is een object van het type ResourceManager. taal-specifieke gegevens op te halen, zoals teksten en opschriften. Dit object gaan we gebruiken om onze Eigenschappen ErrorCode en ErrorString Stellen een foutnummer en foutstring in wanneer er een fout optreedt. Eigenschap ModelObject Deze eigenschap stelt het achterliggende Model-object in. Via dit object kunnen we methodes aanroepen om gegevens op te halen uit ons model, of dit nu ons DatabankModel is (om de gegevens uit onze MS SQL Server databank te halen) of een andere deelklasse van Model. Eigenschap UserId Deze eigenschap bevat de id van de gebruiker die momenteel is aangemeld. De constructor In de constructor van de TemplatePage klasse worden een groot deel van de vorige items geïnitialiseerd, en wordt het menu opgebouwd.

60 Hoofdstuk 4. Raamplanbeheer 58 De methode OnInit en volgelingen Als het niet om de login- of om de foutpagina gaat, wordt de logout-menuknop geactiveerd en krijgt het userid veld het id van de aangemelde gebruiker. De methode BuildPage wordt hier ook aangeroepen, met als argument een HtmlForm-object teruggegeven door de methode GenerateHtmlForm. Dit wil zeggen dat eerst de methode GenerateHtmlForm wordt aangeroepen. Hierin wordt een nieuw HtmlForm-object gemaakt waarin we bijna de volledige pagina gaan opbouwen. De nodige HTML-code wordt erin geplaatst, de menubalk wordt opgebouwd (m.b.v. de methode AddMenuItems), de selectiebalk wordt opgebouwd (m.b.v. de methode AddSelectionItems), alles wat op dat moment in de Controls collectie zit van de pagina (met andere woorden alles wat in de bijbehordende aspx pagina aanwezig is, aangevuld met wat in onze code behind file via code werd toegevoegd) wordt eruit gehaald en aan de form toegevoegd (m.b.v. de methode AddControlsFromDerivedPage), en tenslotte wordt de statusbalk toegevoegd. Dit volledig nieuwe form object wordt dan meegegeven aan de methode BuildPage. Deze laatste methode plaatst al het nodige in de Controls collectie van de pagina, die ondertussen is leeggemaakt, en waarvan de inhoud zich nu ergens in het Form object bevindt. Dit houdt in: de HTML-code voor en na de form (zoals ook de verwijzing naar ons CSS-bestand), en het Form object zelf. Tenslotte wordt de methode OnInit() van de bovenklasse opgeroepen. De methode GetResource Deze methode heeft een string als parameter. Aan de hand van deze parameter wordt de bijbehorende string opgehaald uit het juiste resource bestand (voor de juiste taal). De methode SetErrorCode Met deze methode wordt het veld errorcode ingesteld, en eventueel ook het veld errorstring. Met enkel een numerieke errorcode wordt er óók een passende string opgehaald uit het resource bestand. De extra parameter dient vooral voor situatie afhankelijke extra info. Vervolgens gebeurt er automatisch een transfer naar de error.aspx pagina (die de ingestelde velden gebruikt voor het weergeven van de fout informatie) [1] [4] Eigen controls Deze paragraaf vermeldt een paar opmerkingen i.v.m. eigen controls waarover in volgende paragrafen wordt gesproken. De meesten ervan zijn afgeleid van bestaande controls, en overschrijven de methode Render(HtmlTextWriter output). Dit heeft als voordeel dat ze rechtstreeks aan de Controls collectie van de pagina kunnen worden toegevoegd, en dat ze geparst worden net zoals de andere controls. De eenvoudigste manier om een nieuwe control aan te maken is via het menu File, Add New Item... Daar kiezen we in Web Project Items -->

61 Hoofdstuk 4. Raamplanbeheer 59 UI --> Web Custom Control. Wanneer we deze control ook in een aspx-pagina willen gebruiken, moeten we verdere acties ondernemen, en de control compileren naar een dll file. Maar dit is allemaal niet nodig: we voegen ze enkel toe vanuit code Menubalk Het menu zit vervat in een object van de zelfgemaakte klasse Menu. Dit is een gegevensstructuur die objecten van de klasse MenuKnop bevat. Het speciale aan deze gegevensstructuur is dat de volgorde van de menuknoppen moet vastliggen, maar dat er toch ook efficiënt een bepaalde menuknop via een string-indexer moet kunnen opgehaald worden. Dit is handig wanneer bijvoorbeeld de status van een reeds aanwezige menuknop moet aangepast worden in een of ander code behind bestand. Daarom werd er intern gebruik gemaakt van een object van de klasse ArrayList, om de objecten in volgorde op te slaan, en ook van een hashtabel om de plaats van een object in de ArrayList via een string-indexer ogenblikkelijk terug te vinden. Een MenuKnop zelf heeft een eigenschap Text (voor het opschrift), een eigenschap Link (die de hyperlink achter de menuknop instelt), en een eigenschap Toestand die de volgende waarden kan aannemen: Actief: Er kan op de knop geklikt worden Inactief: Er kan niet op de knop geklikt worden Geladen: De pagina achter de link is momenteel geladen Zoals reeds eerder vermeld wordt de menubalk aangemaakt in de constructor van de klasse TemplatePage. De eigenschappen van een knop naar keuze kunnen natuurlijk achteraf aangepast worden (bijvoorbeeld de eigenschap Toestand) Selectiebalk De selectiebalk wordt gevormd uit het selectieitems veld in onze TemplatePage. Dit is een eenvoudige ArrayList, waarbij alle elementen moeten afgeleid zijn van de klasse Control, zodat ze rechtstreeks, na casten naar Control, aan de Controls collectie van de pagina, of van een form, kunnen worden toegevoegd Cascading style sheets Her en der in de geproduceerde html code worden er class properties bij html tags toegevoegd. Zo kunnen we vanuit een CSS de opmaak afhandelen. Door een andere TemplatePage te schrijven kunnen we de volledige structuur van alle pagina s wijzigen: bijvoorbeeld het menu links, en statusbalk bovenaan. Door te verwijzen naar een ander CSS bestand, eveneens in de TemplatePage, kunnen we de volledige opmaak wijzigen: bijvoorbeeld alle kadertjes en boordjes groter, kleuren anders,...

62 Hoofdstuk 4. Raamplanbeheer 60 Binnenin het CSS bestand zijn wel subtiele verschillen i.v.m. het bereik van de instellingen. Zo slaat TABLE.basistabel bijvoorbeeld enkel op tabellen die de klasse basistabel dragen, niet op geneste tabellen. Bijvoorbeeld bij de TABLE.basistabel TH echter zullen de instellingen slaan op alle TH elementen onder de tabel met klasse basistabel: niet enkel op de TH elementen van de tabel zelf, maar ook van al de geneste tabellen, tenzij er verder in de boomstructuur van elementen een meer specifieke instelling opduikt Database klasse Bepaalde dingen verschillen van gegevensbron tot gegevensbron, en zelfs van DBMS tot DBMS, ook al maken we voor allen gebruik van klassen die op interfaces uit System.Data zijn gebaseerd. Zo verschilt bijvoorbeeld het gebruik van parameters, of het gebruik van datum notaties. Daarom schuiven we de scheidingslijn op, zodat er meer (specifieke) code in de model klasse wordt gestopt, en minder in de aanroepende codestukken. We maken een interface model, waarin we alle methodes definiëren. We kunnen dan het ModelObject in onze gehele applicatie beschouwen als een object van het type Model, ongeacht welke deelklasse we gebruiken (en dus ongeacht welke gegevensbron). Hier volgen twee voorbeelden van zulke methodes: 1. DataSet geefwerkverdeling(int raamplanid); We geven een raamplan id mee, en we krijgen een DataSet terug met de werkverdeling voor dat raamplan. Veel code (zoals het definiëren van een connectiestring, het aanroepen van een adapter,...) verdwijnt dus in de implementatie van deze interface. 2. void updatewerkverdeling(int raamplanid, DataSet ds); We geven de gewijzigde dataset terug mee, tezamen met het raamplan id. De wijzigingen worden doorgevoerd in ons model. Voor onze toepassing hebben we de implementatieklasse DatabankModel gemaakt (afgeleid van Model) voor de connectie met het MS SQL Server DBMS Aanmelden en Active Directory We gebruiken active directory voor 2 zaken: 1. Om de combinatie login en wachtwoord te controleren 2. Om via de login de volledige naam van de medewerker te achterhalen Om van de directory services klassen te kunnen gebruik maken moeten we eerst een referentie in ons project toevoegen. Dit gebeurt als volgt: We klikken met de rechtermuisknop op References (in onze Solution Explorer) en kiezen Add reference. In het.net tabblad selecteren we System.DirectoryServices.dll, we klikken op de knop Select en tenslotte

63 Hoofdstuk 4. Raamplanbeheer 61 op Ok. In de bestanden waarin we gebruik wensen te maken van de directory services, plaatsen we bovenaan using System.DirectoryServices;. Via onze klasse LdapAuthentication kunnen we gebruik maken van volgende methodes: 1. bool IsAuthenticated(string domain, string username, string pwd) Deze methode controleert of de meegegeven gebruikersnaam en wachtwoord kloppen voor het opgegeven domein. 2. void vervangnamen(dataset medewerkersds, string path) Deze methode vervangt de waarde in de kolom naam (oorspronkelijk de loginnaam) door de volledige naam, voor alle rijen van de meegegeven DataSet. 3. string GetGroups() Geeft een string terug met alle groepen waartoe de eerder geauthenticeerde gebruiker behoort. De groepen zijn gescheiden door middel van pipeline-tekens. We maken gebruik van de Forms authentication mode. Daarom plaatsen we het volgende in het bestand Web.config, onder <configuration><system.web>: <authentication mode="forms"> <forms loginurl="login.aspx" name="adauthcookie" timeout="60" path="/"> </forms> </authentication> <authorization> <allow roles="raamplanbeheer" /> <deny users="*" /> </authorization> <identity impersonate="true" /> Het eerste blok stelt de authenticatie mode in, evenals de loginpagina (login.aspx), de cookienaam van het cookie dat we gaan gebruiken voor onze loginsessie, en het aantal minuten waarna de loginsessie verloopt. Let op, deze loginsessie timeout is volledig onafhankelijk van de sessie timeout! De sessie timeout stellen we in door aan <configuration> <system.web> <sessionstate> het attribuut timeout="60" toe te voegen. De loginsessie timeout en de sessie timeout zetten we best op dezelfde waarde. Merk op dat de timeouts gelden na het ingestelde aantal minuten inactiviteit. Dus bij elke actie worden ze terug gereset. Het tweede blok laat enkel gebruikers toe die zich in de groep raamplanbeheer bevinden, de rest wordt geweigerd. Het laatste blok tenslotte zorgt ervoor dat de windows identiteit waaronder de webpagina voor de ingelogde gebruiker uitgevoerd wordt gelijk is aan die van

64 Hoofdstuk 4. Raamplanbeheer 62 IIS. Dit is IUSR CAPELDERIJSRV voor onze productieserver (IIS 5.0), en NT AUTHORITY\NETWORK SERVICE voor onze ontwikkelingsserver (IIS 6.0). Volgende (pseudo)code wordt uitgevoerd wanneer er op de loginknop wordt geklikt na het invullen van de gebruikersnaam en wachtwoord: Als ActiveDirectoryLogin(gebruikersnaam, wachtwoord) succesvol { groepen = haalgroepenopuitactivedirectory(gebruikersnaam) ticket = Maakauthenticatieticket(login, huidige datum, hudige datum + 60min, groepen) encrypteer(ticket) cookie = maakcookie(ticket) Keer terug naar oorspronkelijk aangevraagde pagina } Het volgende plaatsen we in het Global.asax.cs bestand (voorbeeld in pseudo code): protected void Application_AuthenticateRequest(Object sender, EventArgs e) { cookie = vraagcookieop Als cookie niet leeg { ticket = decrypteer(geefcookieinhoud(cookie)) Als decrypteren gelukt { groepen = haalgroepenuitcookie(cookie) principal = creeernieuweprincipal(haalnaamuitcookie(cookie), groepen) Context.User = principal } } } Als er dus geen geldige geëncrypteerde cookie wordt meegegeven, zal er geen geldige principal op de pagina context worden geplaatst door de methode Application AuthenticateRequest. Hierdoor zal de login pagina opnieuw getoond worden. Deze maakt een correct geëncrypteerde cookie aan wanneer de login gegevens via Active Directory zijn goedgekeurd. Merk op dat zowel de login van de ingelogde gebruiker, als zijn groeplidmaatschap worden doorgestuurd via een cookie, en dus lokaal bij de client zelf worden bewaard. De gebruiker kan deze gegevens echter niet zelf wijzigen, aangezien de cookie versleuteld is, en de sleutel op de server bewaard wordt. Bovenstaande werkwijze wordt overigens door Microsoft zelf voorgesteld[5].

65 Hoofdstuk 4. Raamplanbeheer Word DCOM object Wanneer de gebruiker op de menuknop klikt om een Word document te genereren wordt er via een DCOM object een Word instantie geopend op de server (al dan niet zichtbaar). Hierin worden alle bladwijzers overlopen, en door de gepaste inhoud vervangen. Zo worden alle paragrafen op de juiste plaats ingevoegd, wordt de medewerkers tabel opgebouwd, en wordt tenslotte een inhoudstafel gegenereerd. Om te achterhalen hoe dit er in programmacode uitziet, kunnen we handig gebruik maken van een functie in Word: Nieuwe macro opnemen... in het menu Extra, macro. Tijdens het opnemen doen we alle net beschreven handelingen. Wanneer we de opname stoppen gaan we via het menu Extra, macro naar Macro s..., selecteren onze macro en kiezen Bewerken. We zien nu de achterliggende code in Visual Basic. Het is niet noodzakelijk de meest optimale code om de gewenste handelingen uit te voeren, en het is ook geen C# code, maar het helpt ons wel een heel stuk vooruit. Om gebruik te kunnen maken van een COM object moeten we eerst de gapaste referentie in ons project toevoegen. Dit gebeurt als volgt: We klikken met de rechter muisknop op References (in onze Solution Explorer) en kiezen Add reference. In het COM tabblad selecteren we Microsoft Word 11.0 Object Library, we klikken op de knop Select en tenslotte op Ok. In de bestanden waarin we gebruik wensen te maken van een Word DCOM object, plaatsen we bovenaan using Word;. Wanneer we onze toepassing willen uitvoeren, moeten we zien dat de juiste beveiligingsgroep de juiste uitvoerrechten heeft om een Microsoft Word-Document DCOM object op te starten. Meer informatie hierover kan u vinden in 4.6. Het programmeren van COM objecten is redelijk onhandig. Bij de meeste procedure aanroepen worden er als parameters namelijk referenties verwacht. Dit wil zeggen dat we voor elke parameter een object moeten aanmaken, en dit als referentie moeten doorgeven. Wanneer we de waarde voor een bepaalde parameter niet wensen te specifiëren, geven we een referentie naar een object van het type System.Reflection.Missing.Value mee. Hieronder volgt een voorbeeld ter illustratie. Wat we doen is de bladwijzer opzoeken met de naam inhoudsopgave, en op die plaats een inhoudstabel toevoegen. owordapp bevat een object van de klasse Word.ApplicationClass, waarin reeds een document is geopend. object missing = System.Reflection.Missing.Value; object waar = true; object onwaar = false; object tableid = "inhoudstafelken"; object legestring = ""; object upperheadinglevel = 1; object lowerheadinglevel = 3;

66 Hoofdstuk 4. Raamplanbeheer 64 naamvanbookmark = "inhoudsopgave"; owordapp.selection.goto(ref gotobookmark, ref missing, ref missing, ref naamvanbookmark); owordapp.activedocument.tablesofcontents.add(owordapp.selection.range, ref waar, ref upperheadinglevel, ref lowerheadinglevel, ref onwaar, ref tableid, ref waar, ref waar, ref legestring, ref waar, ref waar, ref waar); owordapp.activedocument.tablesofcontents[1].tableader = WdTabLeader. wdtableaderspaces; owordapp.activedocument.tablesofcontents.format = WdTocFormat.wdTOCClassic; Een ander probleem was dat er na het opslaan en sluiten van het Word document via een COM object, een instantie van Word achterbleef in het geheugen. Wanneer er met andere woorden in de loop der tijd 1000 keer een Word document zou worden geproduceerd, zouden er 1000 Word instanties (van meer dan 10MB/stuk) in het geheugen achterblijven wat onvermijdelijk voor problemen zou zorgen. De volgende code was nodig om alle restanten uit het geheugen te verwijderen: // het sluiten en vrijgeven van de openstaande documenten owordapp.documents.close(ref savechanges, ref missing, ref missing); System.Runtime.InteropServices.Marshal.ReleaseComObject(oWordDoc); oworddoc = null; // sluiten en vrijgeven van de Word applicatie owordapp.application.quit(ref missing, ref missing, ref missing); System.Runtime.InteropServices.Marshal.ReleaseComObject(oWordApp); owordapp = null; GC.Collect(); Internationalisatie De applicatie werd ook voorzien voorzien op uitbreidingen in andere talen. Dit omdat het Nederlands natuurlijk geen wereldtaal is, maar vooral omdat het een goede gewoonte is om op deze manier te programmeren. We maken eerst de nodige resource files aan. Dit doen we door met de rechtermuisknop op het mapje resources te klikken in de Solution Explorer, en vervolgens op Add New Item. Daar kiezen we Web Project Items, Resources, Assembly Resource File. Op deze manier maken we een MyResources.resx aan, en een MyResources.nl.resx. De eerste is voor de standaard taal (maar gaan we niet opvullen), de tweede voor het Nederlands. Het gaat hier om een xml-bestand dat een gegevenstabel bevat. Deze tabel kunnen we via Visual Studio eenvoudig aanvullen na het dubbelklikken op het bestand. We gebruiken de kolommen name

67 Hoofdstuk 4. Raamplanbeheer 65 en value om een aantal naam-waarde paren op te geven. Zo voegen we bijvoorbeeld de naam nieuweparagraaftypesm toe met de waarde Kies de gepaste gegevens voor het nieuwe paragraaftype. In alle andere resource files (voor de andere talen) voegen we dezelfde naam toe, met als waarde de vertaling ervan in de gepaste taal. Een ander voorbeeld: 4 als naam, Fout bij het aanmaken van het nieuwe raamplan als waarde. Dit is de foutboodschap voor de fout met id gelijk aan 4. De volgende stap is het aanvullen van het Global.asax.cs bestand: protected void Application_BeginRequest(Object sender, EventArgs e) { Thread.CurrentThread.CurrentCulture = new CultureInfo("nl-NL"); Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture; } Tenslotte passen we ozne TemplatePage.cs aan: private ResourceManager _resources; protected override void OnInit(System.EventArgs e) {... ResourceManager temp = (ResourceManager)Application["resources"]; if (temp == null) { Application["resources"] = new ResourceManager( "Raamplanbeheer.resources.MyResources", Assembly.GetExecutingAssembly()); } _resources = (ResourceManager)Application["resources"]; } Deze code controleert of de resources zijn geladen in de applicatie, en indien niet wordt er een instantie van gemaakt en in de applicatie geladen. Achteraf kunnen we via _resources.getstring("nieuweparagraaftypesm") bijvoorbeeld de waarde ophalen in de gepaste taal. [6] Foutafhandeling Overal waar we een fout verwachten, vangen we ze op via een try/catch blok. Vervolgens kunnen we een zelf gedefiniëerde foutmelding oproepen via bijvoorbeeld SetErrorCode(7,fout.ToString()). De functie SetErrorCode is een zelf geschreven methode in de TemplatePage klasse. Deze stelt de errorcode en errorstring variabelen in, en doet

68 Hoofdstuk 4. Raamplanbeheer 66 vervolgens een transfer naar de Error.aspx pagina. In Error.aspx zelf kunnen we aan deze variabelen via ((TemplatePage)Context.Handler).ErrorCode en ((TemplatePage)Context.Handler).ErrorString ErrorCode en ErrorString zijn eigenschappen voor de lokale variabelen errorcode respectievelijk errorstring van PageTemplate Volgorde van opladen Het werken met de tussenliggende pagina TemplatePage en ons template systeem bracht ook een hoop moeilijkheden en nadelen met zich mee. Om een nieuwe pagina op te bouwen moet men met meer zaken rekening houden dan alleen maar de pagina af te leiden van PageTemplate i.p.v. Page. Hieronder zie je de volgorde waarin alles opgestart en aangeroepen wordt, en waarmee je moet rekening houden: Initialisatie van de pagina 1. Eerst wordt de constructor van de afgeleide klasse opgeroepen. We kunnen hier eventueel een paar eigen controls initialiseren. Daarmee bedoel ik bijvoorbeeld webcontrols die handmatig zijn aangemaakt in het code behind bestand, en niet diegene die in de aspx pagina voorkomen. 2. Vervolgens wordt de constructor van TemplatePage opgeroepen. Hierin worden lokale variabelen geïnitialiseerd, en het menu opgebouwd. De werkverdeling knop, de.doc knop en de logout knop worden standaard op inactief gezet. 3. Dan wordt OnInit van de afgeleide klasse opgeroepen. Hier kunnen we onze eigen controls toevoegen aan this.controls. 4. Dit is de laatste kans (en aangewezen plaats) om nog eigen controls toe te voegen via this.controls, om zelf menu-items toe te voegen aan MenuItems, of om selectie-items toe te voegen aan SelectieItems. 5. Helemaal op het einde van de OnInit methode van de afgeleide klasse, wordt de OnInit methode van TemplagePage opgeroepen. Hierin wordt de userid variabele opgevuld die via de eigenschap UserId kan worden opgevraagd. De ResourceManager wordt hier ook geïnitialiseerd. En tenslotte wordt de volledige pagina opgebouwd via ons templatesysteem. Dit wil zeggen dat alle controls reeds in this.controls moeten aanwezig zijn, want ze worden er nu uitgehaald en in onze volledig zelf opgebouwde paginastructuur gestopt.

69 Hoofdstuk 4. Raamplanbeheer Pas vanaf nu kunnen we de UserId opvragen en de taalstrings bekomen (via GetResource). 7. Dan wordt de OnLoad van de basisklasse opgeroepen. 8. Nu gaat het systeem de viewstate herstellen (dus ook of er al dan niet een event opgeroepen werd!!) via de Page Init methode. Belangrijk is dus dat alle controls op dit moment in this.controls aanwezig zijn (wat onrechtstreeks gebeurde via ons template systeem in vorige stappen)! Ook belangrijk is dat ze in de zelfde volgorde en plaats zitten in this.controls, als voorheen!! Stel dat we bijvoorbeeld enkel bij een postback een menuitem toevoegen in de OnInit, dan zal de index in this.controls van alle volgende controls wijzigen en de viewstate niet correct meer kunnen worden hersteld. Laden van de pagina De pagina wordt geladen, met de bijbehorende event. Deze event roept Page Load op indien we dit zo ingesteld hebben in onze Code Behind file. Het laden van de pagina gebeurt altijd, ook wanneer de pagina geladen wordt na het drukken op een knop bijvoorbeeld. We moeten wel in gedachten houden dat de viewstate op dit moment reeds hersteld is, en dat we dus geen drastische wijzigingen meer moeten doen aan de inhoud van een control (willen we gebruik maken van het automatische viewstate herstel). Validaties of controles Ik heb mijn eigen validators moeten schrijven, want om de een of andere reden werkten de standaard validators van.net niet via ons templatesysteem. Gebeurtenissen afhandelen De gebeurtenissen van de gepaste controls treden eventueel op, en worden afgehandeld. Genereren pagina en afsluiten De pagina wordt gerenderd, extra verborgen velden worden toegevoegd, de gebeurtenis Page Unload wordt opgeroepen en de informatie van de pagina wordt uit het geheugen verwijderd. Wanneer we eigen controls hadden gemaakt, zoals menuknoppen, dan mogen deze aangepast worden (de status of de link bijvoorbeeld) tot op dit moment. Hier wordt namelijk de methode Render opgeroepen van de control, zodat die definitief vertaald wordt in html code. Ons Model kan ten alle tijde opgevraagd worden via de eigenschap ModelObject. Was deze nog niet geïnitialiseerd, dan gebeurt dat op dat moment.

70 Hoofdstuk 4. Raamplanbeheer 68 Een algemene opmerking: wanneer we willen dat.net zelf een aantal zaken voor ons regelt, zoals het herstellen van de inhoud van de controls + hun viewstate, dan moeten deze controls op de juiste momenten in this.controls aanwezig zijn!! Wanneer we ze bijvoorbeeld toevoegen aan onze SelectionItems, dan zullen ze pas aanwezig zijn in this.controls NA het afhandelen van de OnInit methode! Wanneer we enkel de eerste keer een webcomponent zoals een dropdownlist opvullen (aan dataset koppelen en binden), en dit NA de OnInit (na het toevoegen van de component aan this.controls indien die er nog niet in aanwezig was), dus bijvoorbeeld in de Page Load, en volgende keren niet (ook niet koppelen aan dataset!!) dan zal OOK de inhoud worden hersteld van de component, en vervolgens de viewstate. 4.6 Het installeren van de toepassing op een productieserver Volgende zaken moeten aanwezig zijn op de productieserver 2 : Windows2000 of hoger Active Directory Microsoft SQL Server 2000.NET Framework (te downloaden) Internet Information Services (IIS) 5.0 of hoger Microsoft Word 2003 Op onze productieserver draait IIS 5.0, dus de webtoepassing draait onder de windows gebruiker IUSR CAPELDERIJSRV. Moest dit IIS 6.0 zijn, dan was het de groep NT AUTHORITY\NETWORK SERVICE Microsoft Word-Document DCOM object Eerst en vooral moet deze gebruiker (of groep) het recht hebben om een Microsoft Word- Document DCOM object op te starten. Dit kunnen we instellen via de Component Services tool: DCOMCNFG.EXE. Daar kiezen we bij Console Root --> Component services --> Computers --> My Computer --> DCOM Config met de rechter muisknop op Microsoft Worddocument. Vervolgens kiezen we properties. In het Security tabblad kiezen we Launch Permissions --> Customize --> Edit. Daar voegen we onze gebruiker/groep toe. De user/groep moet ook kunnen schrijven in de map waar het output bestand moet geplaatst worden. Daarom geven we de gebruiker/groep NTFS schrijfrechten op de directory I:\Inetpub\wwwroot\Raamplanbeheer\maakDocument\documents. 2

71 Hoofdstuk 4. Raamplanbeheer Microsoft SQL Server 2000 We veronderstellen dat MS SQL Server 2000 reeds is geïnstalleerd. Databank aanmaken 1. We klikken met rechter muisknop op icoontje rechtsonder in de taakbalk en kiezen voor MS SQL Server - Start. Of we kunnen via Services in het Control Panel de service MSSQLSERVER starten. 2. We starten de Enterprise manager via Startmenu --> All programs --> Microsoft SQL Server --> Enterprise manager. 3. Bij Console Root --> Microsoft SQL Servers --> SQL Server Group --> (local) (Windows NT) --> Databases kunnen we via onze rechter muisknop voor New Database... kiezen (of via menu Action --> New Database...). We kunnen hier een naam opgeven (raamplanbeheer), en eventueel ook de namen van de files waarin de database zal worden opgeslagen. 4. Nu zien we onder Databases de nieuwe database raamplanbeheer die we hebben aangemaakt. Wanneer we die openen kiezen we voor Tables. Daar kunnen we op dezelfde manier (bijvoorbeeld rechter muisknop) kiezen voor New Table... We maken via deze gui al onze kolommen aan met bijpassende types. Handmatig inhoud toevoegen Na het aanmaken van een tabel kunnen we met onze rechter muisknop op deze tabel klikken en vervolgens open table --> return all rows kiezen. Onderaan het overzicht van de rijen kunnen we nieuwe rijen toevoegen. We voegen zo al onze statische gegevens toe. Automatisch script genereren Nadat onze tabellen en onze statische gegevens aangemaakt zijn, klikken we met de rechter muisknop op onze database, en vervolgens op All tasks - Generate SQL Script... Script laden Wanneer we achteraf ons script willen laden, of uitbreiden, kunnen we dit doen via de tool SQL Query Analyzer. We kiezen trouwens steeds voor Windows Authentication, zodat al onze Windows gebruikers automatisch ook database gebruikers zijn. Uit de dropdownlist bovenaan selecteren we onze database raamplanbeheer. Met de opdracht Parse Query kunnen we ons script controleren. Met Execute Query voeren we het effectief uit.

72 Hoofdstuk 4. Raamplanbeheer 70 Toegang vanuit ASP.NET Aangezien onze SQL Server ingesteld staat op Windows only authenticatie (SQL server en IIS webserver op zelfde machine) moeten we ervoor zorgen dat de gebruiker waaronder IIS ASP pagina s draait toegang heeft tot onze database. Dit is dus IUSR CAPELDERIJSRV voor IIS 5.0. Om dit account toegang te geven klikken we in SQL Server Enterprise Manager met de rechtermuisknop op Console Root --> Microsoft SQL Servers --> SQL Server Group --> (local) (Windows NT) --> Security --> logins, en vervolgens new login. Als naam geven we de IUSR_CAPELDERIJSRV op. Bij Defaults stellen we eventueel onze database raamplanbeheer in. Vervolgens vinken we op het Tabblad Database Access onze database raamplanbeheer aan, en de gepaste rollen: public en db_owner. Hetzelfde doen we nu voor de administratieve database Microsoft IIS 5.0 Nu rest ons nog enkel het installeren van de webapplicatie zelf. Daartoe kiezen we in Visual Studio.NET nog een laatste maal voor Rebuild all. Vervolgens kopiëren we de volledige directory Raamplanbeheer (met ons gehele project erin) vanop onze ontwikkelingsserver naar onze productieserver in de map C:\Inetpub\wwwroot. Daarna openen we Internet-servicebeheer via Start - Programma s - Systeembeheer. Daar klikken we met de rechter muisknop op Internet Information Services --> *capelderijsrv --> standaardwebsite --> Raamplanbeheer en kiezen eigenschappen. In het tabblad Map kiezen we bij Instellingen voor toepassing op de knop Maken. Dit maakt van onze map Raamplanbeheer een toepassing. De optie Machtigingen uitvoeren mag op Alleen scripts blijven staan.

73 Hoofdstuk 5 Internet verbinding 5.1 Keuze van de lijn Als Internet verbinding werd gekozen voor een Skynet ADSL I-Line Fixed IP voor scholen. Dit is een verbinding gelijkaardig aan de Skynet ADSL Office Line Fixed IP. Eigenschappen- /voordelen van deze lijn zijn: Permanente en volledige toegang: alle poorten zijn beschikbaar (in tegenstelling tot concurrentie!) Download: maximum 1Mbps Upload: maximum 256Kbps Transfervolume: onbeperkt (in tegenstelling tot concurrentie!) Vast IP adres: accounts Hosting: 10MB Unix-webruimte (PHP en MySQL) Dit alles voor een 37d per maand (voor scholen, bibliotheken en ziekenhuizen). 5.2 Router Volgens Skynet was de enige mogelijkheid om deze lijn te benutten gebruik maken van een speciale CISCO Router 826. Voor deze router zou een maandelijkse huur moeten worden betaald van 22,49d. Ik was er echter van overtuigd dat de router totaal overbodig was, en dat een gewone Alcatel (Thomson) Speedtouch 510 Ethernet ADSL modem zou volstaan. Bij Skynet konden ze mij hieromtrent echter geen enkele informatie verschaffen. Op Internet 71

74 Hoofdstuk 5. Internet verbinding 72 waren er nog mensen met de vraag of het echt niet zonder CISCO router kon, maar nergens stond een bruikbaar antwoord. Uiteindelijk heb ik een werkende configuratie gevonden, zonder de CISCO router. In volgende hoofdstukken volgt de werkwijze voor het configureren van de Alcatel Speedtouch 510 ADSL modem voor een Skynet ADSL Office Line of I-line Fixed IP. 5.3 Configuratie ADSL-modem Gegevens De volgende zaken waren gegeven: IP WAN (ons publiek IP-adres): MASK WAN: GATEWAY: Deze gegevens werden gekozen i.v.m. de verbinding tussen modem en netwerk (gateway): IP LAN: (standaard adres van modem) MASK LAN: IP Linux Gateway: Connectie met modem Een basisconfiguratie kan gedaan worden via de webinterface van de modem. Maar om de geavanceerdere instellingen te doen die nodig zijn in ons geval, moeten we werken via de CLI (Command Line Interface). Dit doen we simpelweg via een telnet connectie: telnet De pc waarop we de telnet client draaien moet natuurlijk in dezelfde IP-range zitten. Vervolgens kunnen we op twee manieren gebruik maken van de menuopties. Ofwel kiezen we een opdracht door stap voor stap in de boomstructuur af te dalen, het commando in te typen zonder parameters, en vervolgens via vraag en antwoord de nodige parameters op te geven. Bijvoorbeeld: =>ip [ip]=>rtadd dst = [dstmsk] = [label] =

75 Hoofdstuk 5. Internet verbinding 73 [gateway] = [intf] = [metric] = Het overeenkomstige volledige commando wordt hierna getoond (en uitgevoerd). We kunnen dit trouwens steeds terugroepen uit de history via de cursor toetsen. Het volledige commando ziet er zo uit: :ip rtadd dst= /24 gateway= Deze testroute terug verwijderen doen we trouwens via :ip rtdelete dst= /24 gateway= Heel eenvoudig dus door het terugroepen van ons oorspronkelijk commando uit de history, en door vervanging van rtadd door rtdelete. In het vervolg van dit hoofdstuk werken we met volledige commando s Opzetten ADSL verbinding We kennen eerst het benodige virtuele ATM kanaal toe. :phonebook add name="ipoatocisco2" addr=8*35 type=any De naam IPAtoCISCO2 komt uit een handleiding voor configuratie van de SpeedTouch met een Cisco IPsec Gateway maar mag in principe vrij gekozen worden. 8*35 slaat op adres VP/VC 8/35, het benodigde virtuele ATM kanaal. Bij een Office Line bij Belgacom/Skynet is dit gewoonlijk 8/35 voor PSTN, en 0/35 voor ISDN. In geval van twijfel kan dit ook door het commando :phonebook autolist worden opgevraagd. Met :phonebook detach en :phonebook delete kunnen eventuele reeds bestaande VP/VC combinaties worden losgekoppeld respectievelijk verwijderd. De bestaande kan je opvragen met :phonebook list. Vervolgens maken we de WAN interface aan. :ipoa ifadd intf="ipoatocisco2" dest=ipoatocisco2 :ipoa ifattach intf=ipoatocisco2 Ipoa staat voor IP Over ATM. De eerste IPOAtoCISCO2 is de naam van de nieuwe interface, de tweede IPOAtoCISCO2 is de naam van onze phonebook entry. Standaard worden de IP-paketten geëncapsuleerd in LLC/SNAP frames op AAL5 frames (AAL5SNAP). Nu gaan we de IP configuratie van de interface afhandelen. :ip apadd addr= intf=ipoatocisco2 pointopoint=

76 Hoofdstuk 5. Internet verbinding 74 Let op de enkele t in pointopoint. Dit is om neerwaartse compatibiliteit te behouden met een historische typefout. Het eerste adres is ons publieke Internet adres, het tweede het opgegeven adres voor de externe gateway bij Skynet. Daarna maken we de standaard route aan, naar het Internet. :ip rtadd dst= /0 gateway metric=1 Een overzicht van de interfaces en hun IP-adressen ziet er als volgt uit: :ip aplist 1 eth0 Type:Ethernet HWaddr 00:90:d0:bb:be:ea BRHWaddr ff:ff:ff:ff:ff:ff ip-addr: mask: UP RUNNING MTU:1500 Group:2 IPRX bytes: unicastpkts: brcastpkts:90851 IPTX bytes: unicastpkts: brcastpkts:3 droppkts:0 2 IPOAtoCISCO2 Type:SERIAL ip-addr: point-to-point: UP RUNNING pat MTU:1500 Group:0 IPRX bytes: unicastpkts: brcastpkts:0 IPTX bytes: unicastpkts: brcastpkts:0 droppkts:0 0 loop Type:0 ip-addr: mask: UP RUNNING MTU:1500 Group:1 IPRX bytes:0 unicastpkts:0 brcastpkts:0 IPTX bytes:0 unicastpkts:0 brcastpkts:0 droppkts:0 Tenslotte moeten we ervoor zorgen dat alle interne adressen vertaald worden naar ons publiek IP-adres (we hebben er zo maar één). Daarom configureren we NAT 1 voor het IP-adres :nat enable type=pat saveall Het laatste commando bewaart alle instellingen definitief op de modem. 1 Network Address Translation

77 Hoofdstuk 5. Internet verbinding Aanmaken van de gepaste routes Naast de default route (naar het Internet) moeten we nog een paar extra routes voor eigen netwerken opgeven. :ip rtadd dst= /24 gateway= :ip rtadd dst= /24 gateway= De totale route tabel ziet er nu als volgt uit: :ip rtlist Destination Label Gateway Intf Mtrc Status / eth0 0 [UP] / IPOAtoCISCO2 0 [UP] / IPOAtoCISCO2 0 [UP] / loop 0 [UP] / eth0 0 [UP] / eth0 0 [UP] / eth0 0 [UP] / * eth0 0 [UP] / IPOAtoCISCO2 1 [UP] Forwarding Omdat bepaalde diensten op servers draaien op het intern netwerk, maar er maar één enkel publiek IP adres beschikbaar is, moeten we aanvragen op bepaalde poorten doorsturen naar de gepaste interne server. Dit heet forwarding, en wordt als volgt ingesteld: :nat create protocol=tcp inside_addr= :www-http outside_addr = :www-http :nat create protocol=tcp inside_addr= :smtp outside_addr = :smtp Pingen Wanneer we bepaalde configuraties willen testen, is het altijd handig om vanop de modem te pingen naar een Internet adres, of een lokaal adres. Dit kan via het volgende commando: :ip ping addr= count=10 size=1000 interval=5100

78 Hoofdstuk 5. Internet verbinding Linux Gateway De Linux Gateway moet nu als default gateway instellen (onze modem). Verder moet de gepaste routing gebeuren zodat de netwerken 10/8, /24 en /24 correct worden verbonden met elkaar. Meer over de Linux Gateway configuratie vindt u in hoofdstuk Configuratie zonder Linux Gateway Tenslotte beschrijf ik welke handelingen ondernomen moeten worden om de modem zodanig te configureren dat hij zonder de Linux gateway Internet kan aanbieden aan het betrouwbare netwerk. We verbinden de modem dan rechtstreeks met de switch via een untagged port op VLAN 123. Voordat we dit doen herconfigureren we de modem eerst: :ip rtdelete dst= /24 gateway= :ip apadd addr= /24 saveall Nu maken we opnieuw een telnet verbinding naar het nieuwe adres (nadat we het ip adres van onze configuratie-pc gewijzigd hebben). In de nieuwe telnet-sessie voeren we volgende commando s uit: :ip apdelete saveall

79 Hoofdstuk 6 Mailserver 6.1 Inleiding Zoals reeds eerder vermeld in hoofdstuk 1, werd er gekozen voor MS Exchange Server De voornaamste redenen zijn: Windows software, dus ondersteuning door NC Computing. Perfecte samenwerking tussen Outlook 2003 clients en de server software. Mails, contacts en agenda s worden centraal op server bewaard. Gebruikers kunnen aan hun gegevens, onafhankelijk van op welke werkpost ze zich aanmelden en of er nu gebruik wordt gemaakt van roaming profiles of niet. Ook het backuppen wordt eenvoudiger op deze manier. De mogelijkheid om agenda s te delen. Een van de nadelen is natuurlijk het prijskaartje: ongeveer 200d voor de serverlicentie, en 2.5d per client licentie (gereduceerde prijzen voor de Vlaamse Welzijnszorg). 6.2 Installatie Een paar kleine opmerkingen vooraf. We veronderstellen dat Active Directory reeds is geïnstalleerd en geconfigureerd voor het domein capelderij.local. Dat was ook het geval op de stageplaats. Voor wat nu volgt is het ook handig om weten dat de Windows 2000 Server software Nederlandstalig is, maar de Exchange server Engelstalig (UK versie) Pre-installatie Exchange 2003 integreert zeer nauw met enkele onderdelen van Windows. Daarom moeten we zien dat op voorhand volgende zaken geïnstalleerd zijn: 77

80 Hoofdstuk 6. Mailserver 78 Microsoft.NET Framework, Network News Transfer Protocol (NNTP) service, SMTP service, World Wide Web (WWW) service. Voor Windows 2003 moeten we deze via Add/Remove Windows Components stuk voor stuk installeren. Voor Windows 2000 moeten we enkel de NNTP service manueel installeren. Het.NET Framework of ASP.NET zitten standaard niet in Windows 2000, en daarom zal de Exchange 2003 installatie dit voor zijn rekening moeten nemen, mocht het nog niet geïnstalleerd zijn. De SMTP en WWW services werden automatisch geïnstalleerd bij de installatie van het besturingssysteem. Om de NNTP service te installeren voeren we volgende handelingen uit: Vanuit het configuratiescherm openen we Software. We kiezen vervolgens Windowsonderdelen toevoegen of verwijderen. We selecteren Internet-services (IIS), en dan Details... We schakelen de optie NNTP-service aan. De opties SMTP-service en World Wide Web-server zouden normaal al moeten geselecteerd zijn, indien niet kunnen we dit nu doen. We klikken Ok en Volgende om de installatie te voltooien Hoofdinstallatie In het openingsscherm Welcome to Exchange Server 2003 Setup (na het invoegen van de installatie cd-rom) kiezen we rechts voor Exchange Deployment Tools. We klikken bovenaan op Deploy the first Exchange 2003 server en in het daarop volgende scherm onderaan op New Exchange 2003 Installation. We kunnen nu stap voor stap afwerken: SP3 van Windows 2000 Server moet geïnstalleerd zijn (dit was in onze configuratie reeds het geval). NNTP, SMTP en WWW services moeten geïnstalleerd zijn. Om zeker te zijn dat alles in orde is op de server, installeren we eerst de Windows 2000 SP3 Windows Support Tools 1. Belangrijk is dat we deze versie downloaden en installeren, en niet diegene die op de installatie cd-rom van Windows 2000 Server te vinden is, aangezien die nog niet compatibel met SP3 was. 1

81 Hoofdstuk 6. Mailserver 79 We kunnen nu de diagnose-tools DCDiag (voor de domein controller configuratie) en NetDiag (voor de netwerk instellingen) gebruiken. De volgende stap is het uitvoeren van ForestPrep (via de link, of via setup /forestprep). Je moet hiervoor wel de juiste rechten hebben. Via deze stap wordt het Active Directory Schema uitgebreid tot bijna het dubbele aantal van het oorspronkelijke aantal attributen. Daarna starten we DomainPrep op dezelfde wijze (via de link of via setup /domainprep). Hierdoor wordt het Windows 2000 domein voorbereid. Zo worden er extra groepen aangemaakt en rechten toegekend. We zijn nu eindelijk klaar voor de uiteindelijke interactieve Exchange Server 2003 installatie. Hierbij klikken we een paar keer Next, we kiezen Create New Exchange Organisation, nog een paar keer Next. We letten hierbij niet op de waarschuwing i.v.m. reeds bestaande groepen in een Mixed Mode domein, aangezien dit voor ons niet van toepassing is, en klikken uiteindelijk op Finish. We klikken tenslotte Ok om te herstarten. 6.3 Configuratie MMC Exchangetools Voor de eenvoud van de verdere configuratie maken we een eigen MMC 2. Dit doen we door mmc op te starten via Start, uitvoeren. In het menu Console kiezen we voor Module toevoegen / verwijderen. In het tabblad Zelfstandige module kiezen we onderaan Toevoegen... We voegen nu volgende zelfstandige modules toe: DNS Exchange System (First Organization (Exchange)) Active Directory: gebruikers en computers voor capelderijsrv.capelderij.local (onze huidige server) Services (lokaal) We kiezen in het menu Console voor Opslaan als... en slaan onze wijzigingen op in exchangetools.msc. 2 Microsoft Management Console

82 Hoofdstuk 6. Mailserver 80 Figuur 6.1: Onze Exchangetools MMC Verplaatsen van de Mailbox Store naar andere partitie Op de server zijn twee partities C: en D: aanwezig. Standaard wordt de mailbox store op C: geplaatst. Dit is eigenlijk onze systeempartitie, en alle data moet in principe op D: terecht komen. Na het aanmaken van een gepaste map (bijvoorbeeld D:\exchange_store1 openen we ofwel onze MMC en kiezen we de Exchange module (First Organization (Exchange)),

83 Hoofdstuk 6. Mailserver 81 ofwel openen we via het startmenu de Exchange System Manager. Daar kiezen we in de boomstructuur voor Administrative Groups, First Administrative Group, Servers, CAPEL- DERIJSRV, First Storage Group. Hierop klikken we met onze rechtermuisknop, kiezen voor eigenschappen, en passen de Transaction log location en de System path location aan naar onze nieuwe map. Vervolgens doen we hetzelfde voor Mailbox Store (CAPELDER- IJSRV) onder First Storage Group. In het Properties venster ervan veranderen we in het tabblad Database het Exchange database en het Exchange streaming database pad naar D:\exchange_store1\priv1.edb respectievelijk D:\exchange_store1\priv1.stm Limiet mailboxen instellen Om het hardeschijf verbruik op de server wat in te perken, stellen we per mailbox een limiet in van 1GB. Dit doen we via Exchange tools, First Organization (Exchange), Administrative Groups, First Administrative Group, Servers, CAPELDERIJSRV, First Storage Group. Daar klikken we met onze rechtermuisknop op Mailbox Store (CAPELDERIJSRV) en kiezen eigenschappen. Op het tabblad Limits vullen we voor Issue warning at (KB) in (bij een verbruik van ongeveer 700MB wordt er een waarschuwing naar de gebruiker verstuurd), voor Prohibit send at (KB) (mailbox voor meer dan 800MB gevuld zal een verbod op verzenden tot gevolg hebben), en tenslotte Prohibit send and receive at (KB) op : wanneer er 1GB in de mailbox zit zal de gebruiker geen s meer kunnen versturen of ontvangen. Deze instellingen zijn van toepassing op alle mailboxen, tenzij deze instelling per mailbox zelf wordt gewijzigd Wijzigen van het domein Standaard gebruikt Exchange de domeinnaam van Active Directory, capelderij.local in ons geval, als domein. We wensen echter het domein capelderij.be te gebruiken. Om dit te wijzigen klikken we in onze MMC op First Organization (Exchange), Recipients, Recipient Policies. In het rechter venster klikken we met onze rechtermuisknop op Default Policy en kiezen vervolgens eigenschappen. In het tabblad Addresses (Policy) voegen we het toe van type SMTP. Het kunnen we dan eventueel verwijderen. Vanaf nu zal de Exchange server ook binnenkomende berichten voor het domein capelderij.be accepteren en bezorgen in de mailbox van de gepaste gebruiker Internet mail ontvangen Eerst en vooral moeten we ervoor zorgen dat onze server als mailserver gebruikt wordt voor het domein capelderij.be. Voor lokale clients die via het protocol MAPI rechtstreeks met onze mailserver verbinden, moet er niets speciaals gedaan worden. Voor externe afzenders op het Internet liggen de zaken natuurlijk wel anders. Het domein capelderij.be werd

84 Hoofdstuk 6. Mailserver 82 aangekocht via het hostingbedrijf Hostbasket 3. Daar kunnen we via hun webinterface instellen dat we HUN nameservers wensen te gebruiken. We stellen bijvoorbeeld het A record mail.capelderij.be. A in. Mail.capelderij.be verwijst nu naar ons publiek IP adres. Als MX record voor ons domein geven we nu mail.capelderij.be. op, met prioriteit 9. Als er mailforwarding zou worden ingesteld bij hostbasket, dan staat die forwarding-server op prioriteit 10 en wordt deze bijgevolg dus niet gebruikt: het laagste cijfer krijgt de hoogste prioriteit. Wanneer nu een willekeurige persoon een verstuurt naar bijvoorbeeld dan zal de gebruikte mailserver via het DNS systeem ontdekken dat hij naar ons publieke IP-adres moet worden gestuurd. De s komen dan aan op onze ADSL modem op poort 25 (smtp). Hierop moeten we instellen dat alle tcp berichten met bestemming :25 doorgestuurd worden naar ons intern adres van de Exchangeserver, namelijk :25. Op de Linux gateway moeten dan de gepaste routing en firewall regels worden ingesteld Basis beveiliging Een heel eenvoudig beveiligingslek zou eruit kunnen bestaan, dat personen op Internet onze mailserver als uitgaande mailserver zouden kunnen instellen, en dat die dan mails zou accepteren en proberen afleveren voor om het even welk domein. Zo zou onze mailserver kunnen gebruikt worden om bijvoorbeeld SPAM te versturen. Een gevolg hiervan zou dan kunnen zijn dat andere Internet providers onze mailserver gaan blokkeren, waardoor we helemaal geen mails meer kunnen ontvangen. Het is dus belangrijk dat we controleren dat onze mailserver enkel mails voor het domein capelderij.be accepteert van externe clients, maar wel alles van interne clients, die onze mailserver wel als uitgaande SMTP mailserver mogen instellen. Waarschijnlijk staan de meeste van deze instellingen standaard wel goed, maar omdat het zo belangrijk is, overloop ik ze nog eens. We openen in onze MMC First Organization (Exchange), Administrative Groups, First Administrative Group, Servers, CAPELDERIJSRV, Protocols, SMTP. Daar klikken we met de rechtermuisknop op Default SMTP Virtual Server en vervolgens op eigenschappen. We verplaatsen ons naar het tabblad Access. Daar zijn volgende knoppen belangrijk: Authentication...: Anonymous access mag hier aangevinkt blijven, evenals Resolve anonymous . We laten immers berichten, bestemd voor eigen mailboxen, toe die afkomstig zijn van willekeurige mailservers op het Internet, en deze authenticatie gebeurt altijd anoniem. Integrated Windows Authentication laten we ook toe, voor de Outlook clients die lokaal via het MAPI protocol connecteren. Clients die op deze 3

85 Hoofdstuk 6. Mailserver 83 manier geauthenticeerd zijn hebben meer rechten: ze mogelijk namelijk ook naar andere domeinen mail versturen via deze mailserver. Maar daarover meer in de volgende puntjes. Connection: Dit laten we staan op All except the list below. Iedereen die op één van bovenstaande manieren geauthenticeerd is (dus ook anoniem) mag connecteren. Relay restrictions, de belangrijkste pagina: Hier wordt ingesteld voor welke clients de mailserver s mag bezorgen die niet voor lokale mailaccounts zijn bestemd (relaying). We moeten zien dat het vakje Only the list below is aangevinkt. Vervolgens kunnen we (via Add...) in de lijst eventueel het IP Address toevoegen, zodat onze gateway (die deze mailserver als relay mailserver heeft ingesteld) ook eventueel externe mail kan versturen. Onderaan vinken we de optie Allow all computers which successfully authenticate to relay, regardless of the list above. aan. Dit geeft alle clients die geauthenticeerd zijn via de Integrated Windows Authentication het recht om externe via deze mailserver te versturen. In het volgende tabblad Messages vullen we eventueel de textbox Send copy of Non-Delivery Report to: in met Dit adres kennen we later toe aan een beheerder naar keuze, bijvoorbeeld aan gebruiker Davy. Zo kunnen problemen vroegtijdig opgemerkt worden. We zijn nu gekomen aan het laatste tabblad Delivery met volgende belangrijke knoppen: Outbound Security...: Hier laten we de optie Anonymous access opstaan. Dit wil zeggen dat onze mailserver voor het afleveren van gebruik maakt van anonieme authenticatie bij andere mailservers. Dit is de standaard op het Internet. Advanced...: De Fully - qualified domain name: box vullen we op met mail.capelderij.be. Deze DNS naam moet bestaan en naar ons publiek IP adres leiden. Andere mailservers kunnen dit gebruiken ter controle. Smart host kunnen we eventueel instellen op relay.skynet.be, de mailserver van onze Internet provider. Onze mailserver zal externe mail dan niet zelf proberen te bezorgen aan de gepaste doelmailserver, maar in plaats hiervan alles doorgeven aan de mailserver van Skynet. Dit biedt onder andere het voordeel dat grote mails die naar verschillende bestemmelingen tegelijk worden verstuurd, maar één keer door onze ADSL verbinding naar buiten gaan. Tenslotte een opmerking die los staat van dit alles. Het is een goede gewoonte om services die niet gebruikt worden uit te schakelen. Stel dat er toevallig beveiligingsgaten in deze services zitten, dan kunnen deze niet misbruikt worden. Daarom openen we de services snapin in onze MMC. De volgende services moeten we wel automatisch laten opstarten: de

86 Hoofdstuk 6. Mailserver 84 Information Store, Management, MTA Stacks, Routing Engine en System Attendant, allen met voorvoegsel Microsoft Exchange. De services Microsoft Exchange POP3 of Microsoft Exchange IMAP4 kunnen naar keuze automatisch opgestart worden of niet, afhankelijk van het feit of we willen dat er ook respectievelijk via POP3 of via IMAP mail kan opgehaald worden. Op de stageplaats was daar geen nood aan, aangezien de clients op andere manieren connecteren (zie 6.3.8). Door via de rechtermuisknop op een service te klikken, dan eigenschappen te kiezen, en vervolgens bij Algemeen het Opstarttype te wijzigen kunnen we de service al dan niet automatisch laten opstarten Mailboxen aanmaken Nu is het tijd om mailboxen en aliassen aan te maken. Dit is zeer eenvoudig en kan op 2 manieren: ofwel tijdens het aanmaken van een nieuwe gebruiker van Active Directory, ofwel bij een reeds bestaande gebruiker. Eerst en vooral openen we in onze MMC de container: Active Directory: gebruikers en computers [capelderijsrv.capelderij.local] en vervolgens capelderij.local, Users (of bijvoorbeeld een zelfaangemaakte OU Capelderij waarin de gebruikers zitten). Om een reeds bestaande gebruiker een mailbox te geven klikken we erop met de rechtermuisknop, en kiezen vervolgens Exchange tasks. In de Wizard die daarop volgt kiezen we Create Mailbox. Vervolgens vullen we een gepaste alias in (hetgeen voor de wordt geplaatst). De server en mailbox store staan standaard goed ingesteld: we hebben van elke item maar één exemplaar. Na het klikken op voltooien is de mailbox aangemaakt en kan de persoon en. Om bij het aanmaken van een nieuwe gebruiker onmiddellijk ook een mailbox te creëren, laten we in de wizard Nieuw object: Gebruiker simpelweg de optie Create an Exchange mailbox ingeschakeld. We kunnen in datzelfde venster dezelfde opties opgeven als in de vorige paragraaf beschreven Mailbox instellingen aanpassen Er zijn 2 locaties waar we instellingen kunnen wijzigen. De eerste locatie bereiken we door met de rechtermuisknop op een gebruiker te klikken, en vervolgens op Exchange tasks... In de daarop volgende wizard Exchange Task Wizard kunnen we de mailbox verplaatsen naar een andere store, de mailbox verwijderen, kiezen welke services en protocollen voor deze mailbox beschikbaar moeten zijn,...

87 Hoofdstuk 6. Mailserver 85 De andere locatie is de belangrijkste. Hiervoor klikken we opnieuw met de rechter muisknop op de betreffende gebruiker, en kiezen eigenschappen. We zien dat in het eigenschappen venster van een gebruiker een hele hoop extra tabbladen zijn toegevoegd. Hier kunnen we bijvoorbeeld extra adressen toevoegen voor deze mailbox, door in het tabblad Addresses op New te klikken, en vervolgens SMTP Address te kiezen. Na opgeven van het adres zal Exchange server vanaf dan ook de s voor dit adres in deze mailbox plaatsen De clients Nu de server correct ingesteld is, kunnen we een mailclient kiezen en met onze persoonlijke mailbox connecteren. Om enkel en alleen s te versturen en te ontvangen hebben we een ruime keuze aan connectiemogelijkheden. Zo is er bijvoorbeeld de mogelijkheid om via POP3 te connecteren, via IMAP4, via het MAPI protocol, of via de Outlook Web Access interface te communiceren. Wel moeten hiervoor de corresponderende services gestart zijn. Wensen we ook gebruik te maken van alle andere functionaliteit die Outlook ons biedt, zoals contacts, agenda,... centraal op server, dan moeten we kiezen tussen hetzij MAPI, hetzij Outlook Web Access. Om echt het onderste uit de kan te halen, zoals het delen van agenda s, wordt onze keuze beperkt tot de Outlook client, bij voorkeur Outlook 2003, en connecteren we via het MAPI protocol. Outlook Web Access is een web based client, die de meeste outlook functionaliteit via een webinterface aanbiedt. Een groot voordeel is dat op deze manier bijna alle functionaliteit die outlook ons biedt, ook kan benut worden op werkstations waar de Outlook 2003 client zelf niet kan geïnstalleerd worden. Ook kunnen medewerkers van gelijk waar op het Internet connecteren. Het is dan wel aanbevolen om dit enkel toe te laten over een SSL verbinding. Connecteren met Outlook Web Access kan via de URL voor lokale connecties, en via voor externe connecties. Wanneer er reeds is aangemeld op het domein, dient er geen login en wachtwoord te worden opgegeven. In alle andere gevallen wel. Een Outlook 2003 client configureren voor samenwerking met de Exchange server is zeer eenvoudig. Een voorwaarde is wel dat de client zich op hetzelfde lokale netwerk bevindt als de server. Het is echter ook mogelijk om dit via een internet mogelijk te maken, maar dit valt buiten het bestek van dit eindwerk. Na installatie van de Outlook 2003 client wordt de wizard accounts gestart. Deze kan achteraf ook gestart worden via Configuratiescherm, , accounts... Hier kiezen we voor Een nieuwe account toevoegen, en in het volgende scherm voor Microsoft Exchange - server. In het veld Microsoft Exchange - server geven we capelderijsrv op, en in het vakje Gebruikersnaam de gepaste gebruiker (normaal diegene waar we momenteel mee aangemeld zijn). Om in Outlook eventuele reeds bestaande persoonlijke mappen te verwijderen kiezen we in

88 Hoofdstuk 6. Mailserver 86 het menu Bestand op Gegevensbestandsbeheer...: in het volgende scherm kunnen we de aanwezige archiefmappen indien gewenst verwijderen. Vanaf nu worden onze contacts, agenda s, postvakken,... centraal op de server bewaard (en gebackupt), en kunnen we er van overal aan. We kunnen ook zonder problemen onze agenda delen met andere collega s, en gedeelde agenda s van anderen bekijken of aanvullen.

89 Hoofdstuk 7 Printserver In het printlokaal staat een printer zonder netwerk interface. Op deze printer moet via het netwerk kunnen afgedrukt worden. In dit lokaal is echter geen pc aanwezig. De USB standaard laat een maximum kabellengte van 30m toe, indien er bovendien om de 5m een USB-hub wordt geplaatst. Aangezien er in het lokaal reeds een netwerkkabel aankomt was het veel eenvoudiger om een aparte print server te plaatsen en die enerzijds via de netwerkkabel op het netwerk aan te sluiten, en anderzijds via een USB kabel op de printer. Als printserver werd de D-Link DP-301U aangekocht. Figuur 7.1: DP-301U 7.1 Configuratie van de printserver In eerste instantie staat de printer af en is het apparaat nog niet van stroom voorzien. We verbinden het apparaat nu met ons netwerk. Vervolgens verbinden we het apparaat via een USB kabel met de printer. We schakelen de printer aan. We voorzien nu het apparaat van stroom. Standaard heeft het apparaat het IP-adres We zorgen er dus bijgevolg voor dat 87

Aandachtspunten voor installatie suse in vmware server

Aandachtspunten voor installatie suse in vmware server Aandachtspunten voor installatie suse in vmware server Voorbereiden van vware virtueel machine: 1. Select linux Suse linux 2. Maak disksize 5Gb Denk er als je virtual machine wilt draaien op FAT32 vink

Nadere informatie

Installatiehandleiding

Installatiehandleiding Installatiehandleiding TiSM- PC 10, 25, 100 en PRO Behorende bij TiSM Release 11.1 R e v i s i e 1 1 1 0 28 De producten van Triple Eye zijn onderhevig aan veranderingen welke zonder voorafgaande aankondiging

Nadere informatie

Van dvd naar webserver. Marcel Nijenhof Marceln@pion.xs4all.nl 18 Juli 2006 http://pion.xs4all.nl/lezingen/centos.pdf

Van dvd naar webserver. Marcel Nijenhof Marceln@pion.xs4all.nl 18 Juli 2006 http://pion.xs4all.nl/lezingen/centos.pdf Van dvd naar webserver Marcel Nijenhof Marceln@pion.xs4all.nl 18 Juli 2006 http://pion.xs4all.nl/lezingen/centos.pdf 1 Indeling Start installatie Wat is linux Wat zijn distributies Geschikte distributies

Nadere informatie

Zelftest Informatica-terminologie

Zelftest Informatica-terminologie Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u

Nadere informatie

Windows Xp professional op de werkstations en Windows 2000 op de Server

Windows Xp professional op de werkstations en Windows 2000 op de Server Windows Xp professional op de werkstations en Windows 2000 op de Server Uitleg over het implementeren van Microsoft Windows XP Professional op de werkstations en de bijbehorende management tools. Dit boekje

Nadere informatie

UBUNTU 8 installatie. 13/10/2009 http://www.ivowebschool.be/uploads/ ivowebschool.be/ /205bc10d-ef8e-4a 1/14. Onderwerpen

UBUNTU 8 installatie. 13/10/2009 http://www.ivowebschool.be/uploads/ ivowebschool.be/ /205bc10d-ef8e-4a 1/14. Onderwerpen UBUNTU 8 installatie Onderwerpen Ubuntu downloaden VMWare klaarmaken Ubuntu installeren VMWare tools installeren 1. Ubuntu downloaden ( ) Je kan ubuntu gratis downloaden via de website www.ubuntu.com.

Nadere informatie

ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster WebAccess en ManualMaster WebEdit)

ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster WebAccess en ManualMaster WebEdit) Let op: de versie op de gebruikerswebsite kan worden bijgewerkt! Het kan dus zijn dat uw geprinte versie verouderd is. Van toepassing op ManualMaster Systeem 6.1 (ManualMaster Administrator, ManualMaster

Nadere informatie

Inrichting van een schoollan werkstation met Windows 98

Inrichting van een schoollan werkstation met Windows 98 Inrichting van een schoollan werkstation met Windows 98 Inhoudsopgave: Inhoudsopgave:...1 Woord vooraf...1 Stap 1 Installatie werkstation...2 Stap 2 Netwerk instellen...3 Stap 3 - Poledit......5 Stap 4

Nadere informatie

Permanente netwerkverbinding leggen naar je NAS

Permanente netwerkverbinding leggen naar je NAS Permanente netwerkverbinding leggen naar je NAS Wat is een NAS? Network-attached storage, vaak afgekort tot het acroniem NAS, is een opslagmedium dat op het netwerk aangesloten is en gebruik maakt van

Nadere informatie

Praktijk opdrachten VMware

Praktijk opdrachten VMware Praktijk opdrachten VMware 1 1. Toegang tot de ICT Academie Cloud omgeving Om toegang te krijgen tot de Cloud omgeving van de ICT Academie, kun je onderstaande procedure volgen: http://wiki.vcloud.ictacademie.net/wp

Nadere informatie

Pervasive Server V9 Installatiegids

Pervasive Server V9 Installatiegids Pervasive Server V9 Installatiegids 1 Inhoudsopgave 1. Om te beginnen... 3 2. Systeemeisen... 3 2.1 Server... 3 2.1.1 Hardware... 3 2.1.2 Software... 3 2.2 Client... 3 2.2.1 Hardware... 3 2.2.2 Software...

Nadere informatie

Linux Gevorderden Basis installatie Linux. Elektronica-ICT. Selina Oudermans 2ICT4. Academiejaar 2015-2016

Linux Gevorderden Basis installatie Linux. Elektronica-ICT. Selina Oudermans 2ICT4. Academiejaar 2015-2016 Linux Gevorderden Basis installatie Linux Elektronica-ICT Selina Oudermans 2ICT4 Academiejaar 2015-2016 Campus Geel, Kleinhoefstraat 4, BE-2440 Geel 65 3 INHOUDSTAFEL INHOUDSTAFEL... 3 INLEIDING... 4 1

Nadere informatie

Gebruiksvriendelijke open source oplossingen voor netwerkbeveiliging

Gebruiksvriendelijke open source oplossingen voor netwerkbeveiliging Gebruiksvriendelijke open source oplossingen voor netwerkbeveiliging Gerben Dierick & Pieter Geens Katholieke Hogeschool Leuven gerben.dierick@khleuven.be pieter.geens@khleuven.be REN - Thema Beveiliging

Nadere informatie

Pervasive Server V9 Installatiegids

Pervasive Server V9 Installatiegids Pervasive Server V9 Installatiegids 1 Inhoudsopgave 1. Om te beginnen... 3 2. Systeemeisen... 3 2.1 Server... 3 2.1.1 Hardware... 3 2.1.2 Software... 3 2.2 Client... 3 2.2.1 Hardware... 3 2.2.2 Software...

Nadere informatie

Pervasive Server V10 SP3 Installatiegids

Pervasive Server V10 SP3 Installatiegids Pervasive Server V10 SP3 Installatiegids 1 Inhoudsopgave Pervasive Server V10 SP3 Installatiegids... 1 Inhoudsopgave... 2 1. Om te beginnen... 3 2. Systeemeisen... 3 2.1 Server... 3 2.1.1 Hardware... 3

Nadere informatie

Configuratie handleiding Gigaset SE505. Omschakelen naar de Nederlandse Taal. Overzicht van de stappen voor de installatie

Configuratie handleiding Gigaset SE505. Omschakelen naar de Nederlandse Taal. Overzicht van de stappen voor de installatie Configuratie handleiding Gigaset SE505 In deze handleiding leest u hoe u uw Gigaset SE505 configureert voor een verbinding te maken met het internet via een ADSL / Kabel breedband internet verbinding.

Nadere informatie

Rent+ Pre-requirements

Rent+ Pre-requirements Pre-requirements Inhoudstafel A. Algemeen... 3 B. Type installaties... 3 C. Hardware en software vereisten... 4 1. PC Clients... 4 2. Terminal Server Clients (Thin Clients)... 4 3. Server... 4 D. Operating

Nadere informatie

ipact Installatiehandleiding CopperJet 816-2P / 1616-2P Router

ipact Installatiehandleiding CopperJet 816-2P / 1616-2P Router ipact Installatiehandleiding CopperJet 816-2P / 1616-2P Router Stap 1: Het instellen van uw computer Instellen netwerkkaart om de modem te kunnen bereiken: Windows 98/ME: Ga naar Start Instellingen Configuratiescherm

Nadere informatie

schoollan Post Installatie Handleiding

schoollan Post Installatie Handleiding schoollan Post Installatie Handleiding 24 augustus 2004 c 2003, 2004 Stichting schoollan, Arnhem, Nederland. Inhoudsopgave 1 Inleiding 1 2 Het systeem opstarten 1 3 Hardware detectie 3 4 Overzicht van

Nadere informatie

Quarantainenet Log Forwarder

Quarantainenet Log Forwarder A : Auke Vleerstraat 6D (vloer 4) I : www.quarantainenet.nl 7521 PG Enschede E : info@quarantainenet.nl T : 053-7503070 B : Rabobank 31.72.86.714 F : 053-7503071 KvK : 08135536 Quarantainenet Log Forwarder

Nadere informatie

Handleiding installatie router bij FiberAccess

Handleiding installatie router bij FiberAccess Handleiding installatie router bij FiberAccess (c) 2008 Signet B.V. 1 van 11 Inhoudsopgave 1 Inleiding...3 2 Inhoud verpakking...4 3 Aansluitschema...5 4 Aansluiten router...6 5 Aansluiten interne netwerk...7

Nadere informatie

Installatie Remote Backup

Installatie Remote Backup Juni 2015 Versie 1.2 Auteur : E.C.A. Mouws Pagina 1 Inhoudsopgave BusinessConnect Remote Backup... 3 Kenmerken... 3 Beperkingen... 3 Gebruik op meerdere systemen... 3 Systeemeisen... 4 Support... 4 Installatie...

Nadere informatie

KPN Server Back-up Online

KPN Server Back-up Online KPN Server Back-up Online Snel aan de slag met Server Back-up Online Server Versie 6.1, built 2011 d.d. 20-08-2012 Inhoudsopgave 1 Inleiding... 3 1.1 Ondersteunde besturingssystemen... 3 2 Installatie...

Nadere informatie

Peelland ICT Online Back-up

Peelland ICT Online Back-up Peelland ICT Online Back-up Peelland ICT biedt volledig in eigen beheer online back-up aan. Hiermee voorzien wij onze klanten van de laatste nieuwe back-up mogelijkheden en technieken. Risico s conventionele

Nadere informatie

Pervasive Server V9 Installatiegids

Pervasive Server V9 Installatiegids Pervasive Server V9 Installatiegids 17 mei yyyy - 1 - Inhoudsopgave 1. Om te beginnen...3 2. Systeemeisen...3 2.1 Server...3 2.1.1 Hardware...3 2.1.2 Software...3 2.2 Client...3 2.2.1 Hardware...3 2.2.2

Nadere informatie

Getting Started. AOX-319 PBX Versie 2.0

Getting Started. AOX-319 PBX Versie 2.0 Getting Started AOX-319 PBX Versie 2.0 Inhoudsopgave INHOUDSOPGAVE... 2 OVER DEZE HANDLEIDING... 3 ONDERDELEN... 3 INSTALLATIE EN ACTIVERING... 3 BEHEER VIA DE BROWSER... 4 BEHEER VIA DE CONSOLE... 5 BEVEILIGING...

Nadere informatie

Plugwise binnen de zakelijke omgeving

Plugwise binnen de zakelijke omgeving Plugwise binnen de zakelijke omgeving Plugwise is een gebruiksvriendelijk energiemanagementsysteem voor de zakelijke markt. Per stopcontact wordt er gemeten hoeveel elektriciteit er verbruikt wordt en

Nadere informatie

Firmware Upgrade. Upgrade Utility (Router Tools)

Firmware Upgrade. Upgrade Utility (Router Tools) Firmware Upgrade Upgrade Utility (Router Tools) Inhoudsopgave Inhoudsopgave 2 Voorbereiding 3 Modem/router resetten naar fabrieksinstellingen 3 Computer configuratie in Windows 8/8.1 4 Computer configuratie

Nadere informatie

Getting Started. AOX-319 PBX Versie 2.0

Getting Started. AOX-319 PBX Versie 2.0 Getting Started AOX-319 PBX Versie 2.0 Inhoudsopgave INHOUDSOPGAVE... 2 OVER DEZE HANDLEIDING... 3 ONDERDELEN... 3 INSTALLATIE EN ACTIVERING... 3 BEHEER VIA DE CONSOLE... 4 BEHEER VIA DE BROWSER... 5 BEVEILIGING...

Nadere informatie

1 "log-file": "/var/log/pilight.log" 2 "log-file": "c:/pilight/pilight.log"

1 log-file: /var/log/pilight.log 2 log-file: c:/pilight/pilight.log Instellingen Instellingen...1 Introductie...2 Basis...2 port...2 standalone...2 pid-file...2 log-file...2 log-level...2 whitelist...3 stats-enable...3 watchdog-enable...3 Module paden...4 action-root...4

Nadere informatie

Revisie geschiedenis. [XXTER & KNX via IP]

Revisie geschiedenis. [XXTER & KNX via IP] Revisie geschiedenis [XXTER & KNX via IP] Auteur: Freddy Van Geel Verbinding maken met xxter via internet met de KNX bus, voor programmeren of visualiseren en sturen. Gemakkelijk, maar niet zo eenvoudig!

Nadere informatie

Cursus Raspberry PI door: Mitchell Verbruggen

Cursus Raspberry PI door: Mitchell Verbruggen Cursus Raspberry PI door: Mitchell Verbruggen 2014-2015 Inhoudsopgave Over Raspberry PI... 2 Wat is een Raspberry Pi?... 2 Mogelijkheden met de Raspberry Pi:... 2 Je hebt 2 types:... 3 A-type:... 3 Cursus

Nadere informatie

Siemens SE551. Handleiding Flits Thuis

Siemens SE551. Handleiding Flits Thuis Siemens SE551 Handleiding Flits Thuis Handleiding Siemens SE551 Flits Thuis Aansluiten Siemens SE551 Configuratie Siemens d.m.v. webinterface Instellen Gisgaset USB /PCMCIAdraadloze netwerk-adapter Aansluiten

Nadere informatie

Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19

Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19 Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19 Inhoudsopgave 1 Inleiding... 3 2 Systeemeisen... 4 3 Installatie... 5 4 Gebruik en instellingen... 12 4.1 Algemeen...

Nadere informatie

XAMPP Web Development omgeving opzetten onder Windows.

XAMPP Web Development omgeving opzetten onder Windows. XAMPP Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 1 Xampp downloaden... 2 2 Installatie Xampp 1.7.4 op externe harddisk... 3 3 XAMPP herconfiguren...

Nadere informatie

Systeemeisen Exact Compact product update 406

Systeemeisen Exact Compact product update 406 1 van 6 08-10-2013 12:07 Exact Compact Systeemeisen Exact Compact product update 406 Een pressionele administratie moet bedrijfszeker zijn. U moet er in het dagelijks gebruik snel en zonder onderbrekingen

Nadere informatie

Waarom Dat kan ik ook?

Waarom Dat kan ik ook? Waarom Dat kan ik ook? Deze folder leert u stapsgewijs hoe u thuis een eigen netwerk aan kunt leggen tussen twee PC's. We gaan er van uit dat op deze beide computers het besturingssysteem Windows 98SE

Nadere informatie

BIPAC-711C2 / 710C2. ADSL Modem / Router. Snelle Start Gids

BIPAC-711C2 / 710C2. ADSL Modem / Router. Snelle Start Gids BIPAC-711C2 / 710C2 ADSL Modem / Router Snelle Start Gids Billion BIPAC-711C2/710C2 ADSL Modem / Router Voor meer gedetailleerde instructies over het configureren en gebruik van de ADSL Modem/Router,

Nadere informatie

Windows XP Migratie opties. Bart van Dijk (b.van.dijk@hccnet.nl)

Windows XP Migratie opties. Bart van Dijk (b.van.dijk@hccnet.nl) Windows XP Migratie opties Bart van Dijk (b.van.dijk@hccnet.nl) Windows XP Migratie opties Wat is het probleem met Windows XP De opties te vervanging van Windows XP Migratie naar Linux Mint Probleem met

Nadere informatie

COMPUTEROPERATOR. 580 Lt. Kwalitatief onderwijs voor volwassenen in Aalst. TANERA

COMPUTEROPERATOR. 580 Lt. Kwalitatief onderwijs voor volwassenen in Aalst. TANERA TANERA Kwalitatief onderwijs voor volwassenen in Aalst. COMPUTEROPERATOR 580 Lt NETWERKTECHNICUS Computerbesturingssystemen 1 (60 LT) Deze module verzorgt het aanbrengen van de basiscompetenties voor

Nadere informatie

Functionele beschrijving: scannen naar van Brug software.

Functionele beschrijving: scannen naar van Brug software. Functionele beschrijving: scannen naar van Brug software. Algemeen Met de KYOCERA scannen naar van Brug Software beschikt u over een efficiënte oplossing om uw documenten te scannen naar het Notarieel

Nadere informatie

Softphone Installatie Handleiding

Softphone Installatie Handleiding Softphone Installatie gids Softphone Installatie Handleiding Specifications subject to change without notice. This manual is based on Softphone version 02.041 and DaVo I en II software version 56.348 or

Nadere informatie

Vigor 2860 serie Multi PVC/EVC - RoutIT

Vigor 2860 serie Multi PVC/EVC - RoutIT Vigor 2860 serie Multi PVC/EVC - RoutIT PPPoA en NAT + PPPoA en routing RoutIT maakt gebruik van 2 keer PPPoA, waarbij de eerste PPPoA wordt gebruikt voor NAT en de tweede PPPoA wordt toegepast voor routing.

Nadere informatie

INSTALLEREN MET SYMANTEC GHOST

INSTALLEREN MET SYMANTEC GHOST INSTALLEREN MET SYMANTEC GHOST MTSO-INFO-EXTRA 2 VAKGROEP MTSO 2001 Faculteit PSW Universiteit Antwerpen Contact: prof. dr. Dimitri Mortelmans (dimitri.mortelmans@ua.ac.be) Tel : +32 (03) 820.28.53 - Fax

Nadere informatie

Installatiegids Registratie Hardware specificaties

Installatiegids Registratie Hardware specificaties Installatiegids Installatiegids... 1 Registratie... 2 Hardware specificaties... 3 Waarschuwing ivm Poorten die open moeten staan... 3 Configuratie voor gebruik op Citrix, Terminal Server,...... 4 Windows

Nadere informatie

PictoWorks Netwerk infrastructuur

PictoWorks Netwerk infrastructuur PictoWorks Netwerk infrastructuur dongle server file server validatie bestandsuitwisseling Op de file server bevindt zich de client-software van PictoWorks: {PictoWorks-directory} thumbs\ pictogrammen\

Nadere informatie

ASSISTANCE SOFTWARE INSTALLATIE-EISEN ASSISTANCE SOFTWARE FOR MICROSOFT DYNAMICS. Author : AV. Datum : 30 augustus 2013 Versie : 6 Status : Definitief

ASSISTANCE SOFTWARE INSTALLATIE-EISEN ASSISTANCE SOFTWARE FOR MICROSOFT DYNAMICS. Author : AV. Datum : 30 augustus 2013 Versie : 6 Status : Definitief ASSISTANCE SOFTWARE INSTALLATIE-EISEN ASSISTANCE SOFTWARE FOR MICROSOFT DYNAMICS Author : AV Datum : 30 augustus 2013 Versie : 6 Status : Definitief INHOUD INTRODUCTIE... 1 1. WERKSTATIONS... 2 1.1 GEBRUIKERS

Nadere informatie

INSTALLATIE NIS UPDATE Q2-2014-02 Q2-2014-02

INSTALLATIE NIS UPDATE Q2-2014-02 Q2-2014-02 INSTALLATIE NIS UPDATE Q2-2014-02 Q2-2014-02 2014 Van Brug Software B.V. Hoewel deze handleiding met zeer veel zorg is samengesteld, aanvaardt Van Brug Software B.V. geen aansprakelijkheid voor enige schade

Nadere informatie

Vlaams Communicatie Assistentie Bureau voor Doven, vzw

Vlaams Communicatie Assistentie Bureau voor Doven, vzw Vlaams Communicatie Assistentie Bureau voor Doven, vzw Dendermondesteenweg 449, 9070 Destelbergen tolkaanvraag@cabvlaanderen.be - www.cabvlaanderen.be -www.tolkaanvraag.be Ondernemingsnummer : 445491009

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

Inrichting Windows XP Pro werkstation in schoollan

Inrichting Windows XP Pro werkstation in schoollan Inrichting Windows XP Pro werkstation in schoollan Om een Windows XP Pro computer toe te voegen aan schoollan moet de computer van tevoren bekend zijn in het domein en moet deze geautoriseerd worden door

Nadere informatie

Resultaten van de scan. Open poorten. High vulnerabilities. Medium vulnerabilites. Low vulnerabilities

Resultaten van de scan. Open poorten. High vulnerabilities. Medium vulnerabilites. Low vulnerabilities De Nessus scan We hebben ervoor gekozen om de webserver met behulp van Nessus uitvoerig te testen. We hebben Nessus op de testserver laten draaien, maar deze server komt grotendeels overeen met de productieserver.

Nadere informatie

MINIMALE SYSTEEMEISEN. Vakware 6

MINIMALE SYSTEEMEISEN. Vakware 6 MINIMALE SYSTEEMEISEN Vakware 6 INHOUDSOPGAVE INLEIDING... 3 1. BESTURINGSSYSTEMEN... 4 2. WEBAPPLICATIES... 5 2.1 Vakware Digitale Werkbon... 5 3. HARDWARE-EISEN... 6 3.1 Database server(s)... 6 3.2 Werkstation(s)/client(s)...

Nadere informatie

Installatiehandleiding FWG 3.0/2011-2012. Stand-alone / Netwerkversie. Nieuwe Installatie van FWG 3.0/2011-2012 met een MS Access database

Installatiehandleiding FWG 3.0/2011-2012. Stand-alone / Netwerkversie. Nieuwe Installatie van FWG 3.0/2011-2012 met een MS Access database Installatiehandleiding FWG 3.0/2011-2012 Stand-alone / Netwerkversie Nieuwe Installatie van FWG 3.0/2011-2012 met een MS Access database Wij willen u er op wijzen dat ons systeem FWG3.0 Cd-rom versie dit

Nadere informatie

Actian PSQL v12 server installatiegids

Actian PSQL v12 server installatiegids Actian PSQL v12 server installatiegids Inhoudsopgave Hoofdstuk 1 Actian PSQL installeren...1 1.1 Om te beginnen...1 1.2 Systeemeisen...1 1.2.1 Server...1 1.2.2 Client...2 1.3 Installatie...3 1.3.1 Installatie

Nadere informatie

Onder het menu LAN General Setup kunt Settings wijzigen die te maken hebben met de DHCP en TCP/IP instelling voor het LAN segment (interne netwerk).

Onder het menu LAN General Setup kunt Settings wijzigen die te maken hebben met de DHCP en TCP/IP instelling voor het LAN segment (interne netwerk). LAN General Setup LAN General Setup Onder het menu LAN General Setup kunt Settings wijzigen die te maken hebben met de DHCP en TCP/IP instelling voor het LAN segment (interne netwerk). Hieronder ziet u

Nadere informatie

Aan de slag met DNS Jeroen van Herwaarden, Robbert-Jan van Nugteren en Yannick Geerlings 19-3-2010

Aan de slag met DNS Jeroen van Herwaarden, Robbert-Jan van Nugteren en Yannick Geerlings 19-3-2010 Aan de slag met DNS Jeroen van Herwaarden, Robbert-Jan van Nugteren en Yannick Geerlings 19-3-2010 Inhoud Hoofdstuk 1 Inleiding... 3 Hoofdstuk 2 Algemene informatie over DNS... 4 Hoofdstuk 3 Verschillende

Nadere informatie

Prijslijst 2015. Algemeen. Reparaties. Installaties. Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,-

Prijslijst 2015. Algemeen. Reparaties. Installaties. Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,- Prijslijst 2015 Algemeen Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,- Advisering: 10,- per uur. Reparaties Onderzoekskosten: 10,- Reparatiekosten: 10,- Installaties

Nadere informatie

Wijzigingen volledig onder controle en geborgd

Wijzigingen volledig onder controle en geborgd Installation Management Platform IMProve 2014 is het ultieme hulpmiddel om het beheer van uw (terminal) serverfarm continu, stap voor stap, op een hoger niveau te brengen. Gedocumenteerd, geborgd en reproduceerbaar

Nadere informatie

Remote Back-up Personal

Remote Back-up Personal handleiding Remote Back-up Personal Versie 4 1 INLEIDING... 3 1.1 SYSTEEMEISEN... 3 1.2 BELANGRIJKSTE FUNCTIES... 3 2 INSTALLATIE BACK-UP MANAGER... 4 2.1 VOLLEDIGE DATA BESCHIKBAARHEID IN 3 STAPPEN...

Nadere informatie

Installatiehandleiding FWG 3.0/2011-2012. Netwerkversie. Nieuwe installatie van FWG 3.0/2011-2012 met Oracle

Installatiehandleiding FWG 3.0/2011-2012. Netwerkversie. Nieuwe installatie van FWG 3.0/2011-2012 met Oracle Installatiehandleiding FWG 3.0/2011-2012 Netwerkversie Nieuwe installatie van FWG 3.0/2011-2012 met Oracle Wij willen u er op wijzen dat ons systeem FWG3.0 Cd-rom versie dit jaar (2011) voor de laatste

Nadere informatie

4/5 Installatieservers

4/5 Installatieservers Netwerk Services 4/5 Installatieservers 4/5.1 Een Su SE -installatieserver maken 4/5.1.1 Inleiding Als u maar één server te installeren hebt, doet u dat natuurlijk vanaf de installatie-dvd. Als er meerdere

Nadere informatie

HBO5 Informatica Netwerkbeheer (90 studiepunten) C4 Internettechnologie en systeem- en netwerkbeheer deel 2 (5 studiepunten) Module

HBO5 Informatica Netwerkbeheer (90 studiepunten) C4 Internettechnologie en systeem- en netwerkbeheer deel 2 (5 studiepunten) Module STUDIEFICHE CVO DE AVONDSCHOOL Opleiding HBO5 Informatica Netwerkbeheer (90 studiepunten) Module C4 Internettechnologie en systeem- en netwerkbeheer deel 2 (5 studiepunten) Plaats van de module in de opleiding:

Nadere informatie

Gebruikte techniek. Protocol. Een netwerk aanleggen # kabels en netwerkkaart aansluiten # Internet delen (thuisnetwerk) # en alles testen

Gebruikte techniek. Protocol. Een netwerk aanleggen # kabels en netwerkkaart aansluiten # Internet delen (thuisnetwerk) # en alles testen Een netwerk aanleggen # kabels en netwerkkaart aansluiten # Internet delen (thuisnetwerk) # en alles testen (bron; http://www.tekstenuitleg.net/artikelen/netwerken) Introductie Steeds meer mensen hebben

Nadere informatie

Terminal Services. Document: Terminal Services T.b.v. relatie: Isaeus Auteur: Martin Waltmans Versie: 2.3 Datum: 20-3-2007 KB nummer: 100010

Terminal Services. Document: Terminal Services T.b.v. relatie: Isaeus Auteur: Martin Waltmans Versie: 2.3 Datum: 20-3-2007 KB nummer: 100010 Terminal Services Dit document beschrijft hoe op afstand kan worden ingelogd op een Terminal Server. Lees dit document zorgvuldig, voordat u voor het eerst hiervan gebruik maakt! Isaeus Solutions Tel:

Nadere informatie

HET BESTURINGSSYSTEEM

HET BESTURINGSSYSTEEM HET BESTURINGSSYSTEEM Een besturingssysteem (ook wel: bedrijfssysteem, in het Engels operating system of afgekort OS) is een programma (meestal een geheel van samenwerkende programma's) dat na het opstarten

Nadere informatie

MKG Whitepapers augustus 2015

MKG Whitepapers augustus 2015 Document: Onderdeel: MKG Configuratie Whitepaper MKG Workgroup Server Een whitepaper definieert de ondersteunde en gegarandeerde installatie en configuratie van een product. Alle niet genoemde producten

Nadere informatie

Quick Start Guide for Mxstream. In de Nederlandse taal

Quick Start Guide for Mxstream. In de Nederlandse taal Quick Start Guide for Mxstream In de Nederlandse taal 1 Inleiding Deze quick start guide bevat de beschrijving van de stappen die moeten worden gezet om de C100BRS4 router in te zetten in de Nederlandse

Nadere informatie

Handleiding DSL Access Versatel

Handleiding DSL Access Versatel Handleiding DSL Access Versatel INHOUDSOPGAVE 1. 1.1. INSTALLATIE...3 Installatie door monteur...3 1.2. Doe-het-zelf installatie...3 1.2.1 Het doe-het-zelf pakket... 3 1.2.2 Installatie splitter... 4 1.2.3

Nadere informatie

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen Installeer Apache2: Deze howto gaat over name based virtual hosting onder Apache 2.x., en is getest onder OpenSUSE 11 maar is in feite ook van toepassing op de andere distributies. Alleen Debian en afgeleide

Nadere informatie

SuperOffice Systeemvereisten

SuperOffice Systeemvereisten Minimale systeemvereisten voor SuperOffice CRM De minimale systeemvereisten voor SuperOffice CRM zijn tevens afhankelijk van het besturingssysteem en de services/applicaties die op het systeem actief zijn.

Nadere informatie

INSTALLATIE HANDLEIDING

INSTALLATIE HANDLEIDING INSTALLATIE HANDLEIDING REKENSOFTWARE MatrixFrame MatrixFrame Toolbox MatrixGeo 1 / 9 SYSTEEMEISEN Werkstation met minimaal Pentium 4 processor of gelijkwaardig Beeldschermresolutie 1024x768 (XGA) Windows

Nadere informatie

Installatie van WerkMeester

Installatie van WerkMeester Installatie van WerkMeester WerkMeester is een WIN32 database-applicatie op basis van een enkele executable, met een aantal werkbestanden en een MySQL database. De software is niet ontwikkeld voor gebruik

Nadere informatie

MS Virtual pc 2007 Handleiding

MS Virtual pc 2007 Handleiding MS Virtual pc 2007 Handleiding Start de Virtual PC 2007 console en klik op [New...] om een nieuwe virtuele pc aan te maken. De wizzard voor het aanmaken van een nieuwe, virtuele pc start op. New Virtual

Nadere informatie

ZIEZO Remote Back-up Personal

ZIEZO Remote Back-up Personal handleiding ZIEZO Remote Back-up Personal Versie 4 1 INLEIDING... 3 1.1 SYSTEEMEISEN... 3 1.2 BELANGRIJKSTE FUNCTIES... 3 2 INSTALLATIE BACK-UP MANAGER... 4 2.1 VOLLEDIGE DATA BESCHIKBAARHEID IN 3 STAPPEN...

Nadere informatie

Vigor 2850 serie Dual PPPoA/PVC - RoutIT

Vigor 2850 serie Dual PPPoA/PVC - RoutIT Vigor 2850 serie Dual PPPoA/PVC - RoutIT PPPoA en NAT + PPPoA en routing RoutIT maakt gebruik van 2 keer PPPoA, waarbij de eerste PPPoA wordt gebruikt voor NAT en de tweede PPPoA wordt toegepast voor routing.

Nadere informatie

Sweex Broadband Router + 4 poorts 10/100 Switch

Sweex Broadband Router + 4 poorts 10/100 Switch Sweex Broadband Router + 4 poorts 10/100 Switch Toepassingsmogelijkheden Creëer een netwerk voor meerdere gebruikers, en deel het Internet in een handomdraai, zonder hier een ander stukje software voor

Nadere informatie

INSTALLATIE NIS UPDATE Q3-2014-03 Q3-2014-03

INSTALLATIE NIS UPDATE Q3-2014-03 Q3-2014-03 INSTALLATIE NIS UPDATE Q3-2014-03 Q3-2014-03 2014 Van Brug Software B.V. Hoewel deze handleiding met zeer veel zorg is samengesteld, aanvaardt Van Brug Software B.V. geen aansprakelijkheid voor enige schade

Nadere informatie

Documentnaam: Technisch Ontwerp Datum: 25-10-2011 Samenstelling: Bas, Chris & Teun Team Bas / Teun / Chris Versie: 1.4. Overzicht Tekening...

Documentnaam: Technisch Ontwerp Datum: 25-10-2011 Samenstelling: Bas, Chris & Teun Team Bas / Teun / Chris Versie: 1.4. Overzicht Tekening... TECHNISCH ONTWERP INHOUD Overzicht Tekening... 2 1.0 Inleiding... 3 1.1 Aanleiding... 3 1.2 Bronnen... 3 2.0 Thread Management Gateway (forefront)... 3 2.1 Inleiding... 3 2.2 Hardware... 3 2.3 Services...

Nadere informatie

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand: Remote administratie Als administrator hebt u verschillende mogelijkheden om een Linux systeem van op afstand te beheren. Populaire toepassingen zijn bijvoorbeeld Webmin en VNC. Het gebruik van deze twee

Nadere informatie

1. Hoe krijg ik toegang tot mijn VPS-controlepaneel?

1. Hoe krijg ik toegang tot mijn VPS-controlepaneel? VPS Business FAQ Sectie 1: Installatie...2 1. Hoe krijg ik toegang tot mijn VPS-controlepaneel?...2 2. Hoe krijg ik toegang tot mijn Windows-VPS?...6 3. Hoe krijg ik toegang tot mijn Linux-VPS?...8 Sectie

Nadere informatie

Functionele beschrijving: scannen naar Exact Globe.

Functionele beschrijving: scannen naar Exact Globe. Functionele beschrijving: scannen naar Exact Globe. Algemeen Met de KYOCERA scannen naar Exact Globe beschikt u over een efficiënte oplossing om uw documenten te scannen naar Exact Globe. Met deze oplossing

Nadere informatie

Gigaset pro VLAN configuratie

Gigaset pro VLAN configuratie Gigaset pro VLAN configuratie Hogere betrouwbaarheid door gebruik van VLAN s. De integratie van spraak en data stelt eisen aan de kwaliteit van de klanten infrastructuur. Er zijn allerlei redenen waarom

Nadere informatie

Extra uitleg bij installatie EPB-software 3G

Extra uitleg bij installatie EPB-software 3G Extra uitleg bij installatie EPB-software 3G Inhoud VOORWOORD... 2. INSTALLEREN... 2. Systeemvereisten... 2.2 Softwarecompatibiliteit... 2 2. VAAK VOORKOMENDE PROBLEMEN... 2 2. Installatie- of opstartproblemen...

Nadere informatie

Contents Backup en herinstallatie... 2

Contents Backup en herinstallatie... 2 Contents Backup en herinstallatie... 2 1. Hoe herinstalleer ik MediMail?... 2 2. Ik heb geen backup van MediMail, hoe herinstalleer ik MediMail?... 2 3. Hoe maak ik een backup van MediMail?... 2 4. Mag

Nadere informatie

Cloud2 Online Backup - CrashplanPRO

Cloud2 Online Backup - CrashplanPRO Cloud2 Online Backup - CrashplanPRO Handleiding- CrashplanPRO - Online Backup Download de clients hier: Windows 32- bit: http://content.cloud2.nl/downloads/back01- cra.backupnoc.nl/crashplan_x86.exe Windows

Nadere informatie

HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V.

HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V. HANDLEIDING SMTP DIENST BEDRIJVENWEB NEDERLAND B.V. Uitgave : 1.0 KORTE OMSCHRIJVING In dit document wordt beschreven hoe u gebruik kunt maken van de SMTP dienst van Bedrijvenweb Nederland B.V. om e-mail

Nadere informatie

INSTALLATIEPROCEDURE EN SYSTEEMEISEN Netwerkversie per oktober 2011

INSTALLATIEPROCEDURE EN SYSTEEMEISEN Netwerkversie per oktober 2011 INSTALLATIEPROCEDURE EN SYSTEEMEISEN Netwerkversie per oktober 2011 SAMENVATTING Een professioneel softwarepakket vraagt om een professionele installatie. Om te voorkomen dat op het moment van installatie

Nadere informatie

goes Secure Siemens Groep in Nederland Sander Rotmensen tel: 070-3333555 Sander.rotmensen@siemens.com

goes Secure Siemens Groep in Nederland Sander Rotmensen tel: 070-3333555 Sander.rotmensen@siemens.com goes Secure Sander Rotmensen tel: 070-3333555 Sander.rotmensen@siemens.com Onbeveiligde hardware oplossing = Ping Security hardware oplossing 602, 612, 613 en de Softnet Security Client Beveiligde hardware

Nadere informatie

INSTALLATIE NIS UPDATE 2014-Q4 2014-Q4

INSTALLATIE NIS UPDATE 2014-Q4 2014-Q4 INSTALLATIE NIS UPDATE 2014-Q4 2014-Q4 2014 Van Brug Software B.V. Hoewel deze handleiding met zeer veel zorg is samengesteld, aanvaardt Van Brug Software B.V. geen aansprakelijkheid voor enige schade

Nadere informatie

Installatie Handleiding AP 1120 op HiPath 3000

Installatie Handleiding AP 1120 op HiPath 3000 Installatie Handleiding AP 1120 op HiPath 3000 1 Algemeen 2 2 Tools 2 2.1 Unit Manager Express 2 2.2 Unit Manager Network 3 3 Configureren van de AP 1120 3 3.1 Programmeren IP adres. 3 3.2 Software upgrade.

Nadere informatie

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators

Installatie Handleiding voor: TiC Narrow Casting Certified. System Integrators Installatie Handleiding voor: TiC Narrow Casting Certified System Integrators Installatiehandleiding TiC Narrow Casting Manager Inhoudsopgave 1. Algemeen - 3-2. Installatie PostgreSQL database server -

Nadere informatie

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware. Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware. Het vormt een schil tussen de applicatiesoftware en de hardware

Nadere informatie

1. Hardware Installatie...3 2. Installatie van Quasyscan...6 A. Hoe controleren of je een actieve internetverbinding hebt?...6 B.

1. Hardware Installatie...3 2. Installatie van Quasyscan...6 A. Hoe controleren of je een actieve internetverbinding hebt?...6 B. Quasyscan 1. Hardware Installatie...3 2. Installatie van Quasyscan...6 A. Hoe controleren of je een actieve internetverbinding hebt?...6 B. Zodra er een internetverbinding tot stand is gebracht...7 C.

Nadere informatie

Virtueel of Fysiek. Uitdagingen bij migratie naar Windows 7

Virtueel of Fysiek. Uitdagingen bij migratie naar Windows 7 Het jaar 2011/2012 staat voor veel organisaties in het teken van Windows 7. De overstap van Windows XP naar Windows 7 lijkt in eerste instantie eenvoudig te zijn maar blijkt in de praktijk toch complex.

Nadere informatie

Handleiding installatie en gebruik VPN

Handleiding installatie en gebruik VPN Handleiding installatie en gebruik VPN 2 Handleiding Installatie en gebruik VPN Inhoud Deel I Introductie 3 Deel II De te volgen stappen 4 1 Aanvragen en activeren van uw VPN account 4 2 Downloaden connectie

Nadere informatie