Ga naar inhoud
  • 0

SSL, FileMaker 14 en het slotje


Kaai

Vraag

Recent moest ik mijn FileMaker Server upgraden naar FileMaker 14. Een van bestanden werd benaderd via WebDirect voor een webwinkel. Onder 14 kwam de browser ineens met de foutmelding (rode balk) dat de site onveilig was en je kwam met geen mogelijkheid meer op de webwinkel. Hoog tijd om een Private SSL Certificaat op de server te installeren om de browser tevreden te stellen. De jacht naar het groene hangslotje in de url begon.

 

Het installeren van een SSL-certificaat is geen weg zonder obstakels, aangezien hier een aantal gebieden bestrijkt die afgestemd moet worden:

- Het aanpassen van de DNS van je domein zodat je FileMaker Server zichtbaar wordt op het net

- Het verkrijgen van een certificaat dat aansluit bij FileMaker via een trusted authority

- Het geven van command line opdrachten aan FileMaker Server om certificaatsbestanden te generen en importeren.

 

Als je weinig ervaring hebt op één van deze gebieden wordt het lastig. Bovendien geeft elke partij voldoende uitleg over “zijn” stukje maar het gaat om het geheel en dat is niet overal beschreven. Bovendien vereist het proces een bepaalde volgorde die dwingend is.

 

Hieronder aanbevelingen van een ervaringsdeskundige over de weg door deze gebieden, want wie een verkeerde route kiest kan diverse doodlopende wegen inwandelen.

 

Voorbereiding

Om te beginnen, regel je certificaat VOORDAT je in productie met FileMaker 14 server gaat, zeker als je WebDirect gebruikt. Het regelen van het certificaat kan -als je ervaring hebt- redelijk snel gaan (aantal uur), maar een eerste keer kan het dagen duren. Als je al naar 14 bent, zal gedurende die tijd WebDirect niet werken voor je klanten.

 

Over het aanvragen van SSL-certificaat vind je weinig in de help functie van de FMS 14 console. Je vindt echter het noodzakelijke in de FileMaker Server14 Getting Started Guide, hoofdstuk 7. FileMaker verwacht dus dat je het certificaat in de voorbereiding regelt, tenzij je 14 installeert om te testen.

 

Een erg goede introductie is de video van Richard Carlton en Claus Lavendt. Je vindt deze via https://www.youtube.com/watch?v=-niyugxMHMs.

 

Hierin wordt uitgelegd hoe je het aanvragen van het certificaat werkt en welk proces je moet doorlopen om het certificaat aan te vragen en te installeren op de server. Claus heeft een tool in FileMaker gemaakt die het command line commando genereert dat behoort bij het aanvragen van het certificaat. Dat commando’s heeft een eigen syntaxis met daarin gegevens over het subdomein en de aanvrager. De tool kun je downloaden via http://datamanix.com/resources/FMS_CertificateInstallGuide.zip.

 

Het proces in het kort

SSL zorgt voor twee dingen, vanuit de gebruiker. Het kan aantonen dat de server waarmee je verbindt ook jou server is. Daarnaast wordt het dataverkeer beveiligt, dus encrypted.

Voor elke FileMaker Server die je via SSL wilt benaderen moet een certificaat worden aangevraagd. De FileMaker Server moet naam hebben van een geldig subdomein dat vindbaar is op het internet. Hierna moet je via de command line een Certificaat Request File genereren. Op basis daarvan kan één van de door FileMaker aangewezen Thrusted Authorities een certificaat verstrekken, dat je via de Command Line importeert. Hierna is SSL-versleuteling mogelijk.

 

De naam van je FileMaker Server

Voor SSL moet je FileMaker Server een naam krijgen in de vorm van een subdomein, die gekoppeld is aan een domein dat jij of je klant beheert. SSL is NIET gekoppeld aan een IP-adres, want een IP-adres kun je niet bezitten, een domein wel. Als je meerdere FileMaker Servers hebt moet je elke server een unieke naam geven van een subdomein en per server een SSL-certificaat aanvragen bij een trusted authority.

 

Rol van de Trusted Authority

Deze zal gaan controleren of jij daadwerkelijk bent wie je zegt dat he bent en het subdomein bezit. Dit moet je aantonen, ondermeer door een toegezonden bestandje op de server te zetten.

Bij een duurder dus verdergaand certificaat moet je een telefoonrekening opsturen waaruit blijkt dat je telefoon en naam overeenkomen met je aanvraag. Je wordt gebeld om dat te controleren.

 

Hieronder worden de stappen uitgewerkt.

 

Subdomein vindbaar maken

Voordat je aan SSL begint moet je zorgen dat je FileMaker Server de naam geven van het subdomein. Vervolgens moet je zorgen dat aanroepen op dit subdomein worden doorgestuurd naar het ip-adres van je FileMaker Server. Dit doe je op de plek waar je domein wordt beheerd. Dat is meestal de plek waar je website wordt gehost. Je moet bij je provider achterhalen hoe je het domein kunt beheren. Meestal zijn hier tools voor die werken via de browser. Daarbij moet je de DNS uitbreiden met een subdomein dat verwijst naar het ip-nummer van je FileMaker Server.

De syntaxis van die opdrachten, waarmee je dus feitelijk de routering van het internet instelt, is niet vrijblijvend en evenmin voor de hand liggend. Zo moet je de naam van je subdomein afsluiten met een punt of moet je enkel de naam van het subdomein en niet de hele url invoeren. Mijn provider schreef dat dit soort aanpassing vaak aanleiding zijn voor problemen, zoals het onvindbaar worden van je website. Er werd aangeboden deze instellingen te laten verrichten door de helpdesk. De gewijzigde instelling moet worden doorgevoerd op het internet wat tijd kan kosten, maximaal 2 dagen. Na een aantal uur verscheen echter bij het intikken van het subdomein als url een scherm met “FileMaker Database Server Website”.

 

ServerKey.pem en ServerRequest.pem maken

Een SSL verbinding opbouwen is een ingewikkeld proces. Vereenvoudigd gezegd gaat het als volgt.

SSL encryptie moet worden opgebouwd en gaat in stappen. De browser vraagt de server om het certificaat. Daarin staat de public key en de handtekening van de thrusted authority. Elke browser heeft een lijst van trusted authorities en een manier om de handtekening te controleren. Vervolgens gaat de browser met de “vermeende server” versleutelde berichten uitwisselen die een correcte private key van de server vereisen. Als het juiste antwoord terug komt weet de browser dus zeker dat deze de juiste server praat. Kortweg wordt voorkomen dat een aangesproken subdomein niet van de eigenaar is, maar een malafide partij (hier werkt de handtekening en de public key) of dat de server feitelijk een andere machine maar met een “gestolen” certificaat. Het is daarom van groot belang dat de private key van de server niet “uitlekt” en dus goed afgeschermd is.

 

Om een certificaat te verkrijgen moet dus een public key en een private key worden gegenereerd op de FileMaker Server. Deze kunnen worden gegenereerd via de command line. Voor de public key zijn gegevens nodig over de aanvrager, zoals de naam en de vestigingsplaats en de naam van het subdomein. Hier kun je aan de slag met de tool van Claus want die genereert het commando met alle informatie.

 

sudo fmsadmin certificate create "/CN=server01.mijndomein.nl/O=mijnbedrijf/C=NL/ST=utrecht/L=vleuten"

 

Als je dit commando bij Windows gebruikt moet je “sudo” weglaten. Als deze via de command line worden opgegeven, zal FileMaker Server twee bestandjes aanmaken namelijk een bestandje met de private key in bestand serverKey.pem en bestand serverRequest.pem waarin de public key zit opgeslagen. Deze bestanden staan in de map \FileMaker Server\CStore.

 

De inhoud van serverRequest.pem moet gebruiken bij de aanvraag van je certificaat. Je kunt het gewoon openen in een platte tekstverwerker. Dit is je CSR (Certificate Signing Request).

 

Certificaat aanvragen

Nu komt het stuk wat sowiezo geld kost (en waarvan de kosten, die overigens in het niet vallen als je arbeidsloon rekent voor verkeerd ingeslagen wegen en uren in de wachtrij moet staan bij een Amerikaanse helpdesk).

 

FileMaker werkt voor SSL certificaten samen met een beperkt aantal trusted authorities. Bij één daarvan moet je het certificaat aanvragen voor je subdomein. Voor deze dienstverlening moet je een abonnement afsluiten, die bepaalt hoe lang je certificaat zal bestaan en hoe grondig de controle is. Geadviseerd wordt de duur van je certificaat parallel te laten lopen met de levensduur van je server.

De volgende vraag is lastiger, welk abonnement. Vaak biedt de authority meerdere soorten diensten aan, bij voorbeeld voor een domein en alle subdomeinen. Punt is dat je per FileMaker Server, dus per subdomein een CSR moet kunnen indienen. Anders dan bij websites worden bij FileMaker de subdomeinen niet gehost op dezelfde machine, dus je hebt niets aan een abonnement die je domein certificeert met een onbeperkt aantal subdomeinen.

 

Een veilige vorm is daarom kiezen voor een standaardcertificaat voor één domein, namelijk je subdomein. Als je meerdere FileMaker Servers in de lucht wil houden, kan ik me voorstellen per server een certificaat aanvraagt. Dit kost kost ca €80 per jaar.

Overigens zal een duurder certificaat vaak betekenen dat je verdergaand hebt aangetoond dat jij ook jij bent. Voor een standaardcertificaat zullen ze geen telefoonnota aanvragen en controleren en je terugbellen, bij een duurdere vorm wel.

 

Als je het abonnement hebt gekozen dan mag je een certificaat gaan aanvragen. Hierbij moet je de inhoud van je CSR plakken en de corresponderende gegevens over wie je bent invoeren. Daarna gaat de authority controleren of het domein bestaat, of jij ook jij bent en of je de server ook beheert.

 

Over het leveren van een bewijs van beheren: op een bepaald moment stuurt de authority een bestand of code, die je als html bestand moet plaatsen in de root van je webserver. Bij webdirect wordt dat gevormd door de map //FileMaker Server/HTTPServer/conf. Als het controlebestandje, bij voorbeeld 5g678uc.html daar in wordt geplaatst kan de authority dat zien en constateren dat je beheermogelijkheid hebt.

 

Op een goed moment zijn alle verificaties geslaagd zijn ontstaat de mogelijkheid om je certificaat te downloaden. De download kan platform platformafhankelijk zijn, bij voorbeeld Apache of IIS. De juiste keuze is echter “other”. Dan krijg je een platte file met abacadabra. Met dit bestand kun je aan de slag op de FileMaker Server.

 

Import op FileMaker Server

Dit is een laatste ingewikkelde stap. Je moet via de command line het certificaatsbestand importeren in FileMaker Server. De import moet je maken via de command line. Eerst moet je het certificaat op een importeerbare plaats neerzetten op de server. Dit kan overal zijn maar de tool van Claus genereert een commando dat uitgaat van map FileMaker Server/CStore. In die map maak je een leeg tekstbestand en plakt daarin het certificaat. Dit bestand noem je server01_mijndomein_nl.crt.

 

Er zijn bij import zijn er verschillen tussen servers met Mac OS en servers met Windows.

 

Onder MacOS moet je eerst regelen dat de map waar het certificaat zich bevindt in een map staat waar de user FileMaker Server rechten heeft. Je kunt een commando doorgeven via de terminal.app, waarbij je eerst moet inloggen als administrator. Het commando bij MacOS is als volgt:

 

sudo fmsadmin certificate import /Library/FileMaker\ Server/CStore/server01_mijndomein_nl.crt

 

Onder Windows Server is het van belang dat je “sudo” weglaat en de padnaam tussen aanhalingstekens zet. Om de commandline te starten moet je via run… in het windows menu het commando cmd.exe opgeven, dan opent zich een DOS-box.

 

fmsadmin certificate import "C:\Program Files\FileMaker\FileMaker Server\CStore\server01_mijndomein_nl.crt"

 

Een alternatief is de directory van Windows via het commando cd te richten op de map CStore. Dit gaat in stapjes met commando change directory, dus cd. Bij cd .. wordt een hogere map geopend. Als je bij de root bent kun je stap voor stap mappen aangeven.

 

c:\ windows\system32>cd ..

c:\ windows>cd ..

c:\>cd program files

c:\program files>cd FileMaker

c:\program files\FileMaker>cd FileMaker Server

c:\program files\FileMaker\FileMaker Server>cd cstore

c:\program files\FileMaker\FileMaker Server\cd cstore>

 

Nu kun je het commando opgeven

 

c:\program files\FileMaker\FileMaker Server\cd cstore>fmsadmin certificate import server01_mijndomein_nl.crt

 

Als je geluk hebt slaagt de import zonder foutmeldingen. Er is dan in CStore een bestandje serverCustom.pem ontstaan die een combinatie vormt van het certificaat van de trusted authority en een private key.

Als je dit bestand opent dan ziet dat er als volgt uit.

 

-----BEGIN TRUSTED CERTIFICATE-----

MIIFSzCCBDOgAwIBAgIJAPzf5j7YbMe6MA0GCSqGSIb3DQEBCwUAMIG0MQswCQYD

fyrRfJOj5aDTxlSfEZSwd6XzMMXmEjABNZ/rn4uXjUd/frqPpplPpA8goNn5i1Nc

/Na+Bb4TOYgcSqq+JaOG

-----END TRUSTED CERTIFICATE-----

-----BEGIN ENCRYPTED PRIVATE KEY-----

MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQImnNko0heWW8CAggA

….

AoJ2UmqpdFNcN1LnflxtBVHf5pVE+h44O6lciOSDPkZWnirdQn4WHqIsts482GHS

wVQ=

-----END ENCRYPTED PRIVATE KEY-----

 

Aanzetten SSL en herstarten server

Nu kun je via de FileMaker Server Console bij Database Server op het tabblad Security SSL activeren. Dit kan voor alle database connecties. Het kan separaat worden ingesteld voor progressive downloading, dus streaming van containerdata. Na aanvinken moet FileMaker Server worden herstart. Het is echter gebruikelijk op dat moment de hele machine te herstarten.

 

Beoordelen of SSL werkt

Dit kan het beste door een gehost FileMaker bestand rechtstreeks of via WebDirect te benaderen, niet meer zoals voorheen via het ip-nummer, maar via het subdomein.

 

https://server01.mijndomein.nl/fmi/webd#mijn_bestand

 

Als het goed is verschijnt er nu een slotje in de menubalk voor de url. Als je op dit slotje klikt verschijnen de gegevens van het certificaat, dus, door welke trusted authority het is verstrekt, tot wanneer het geldig is en of het certificaat geldig is. Het dataverkeer zal dan versleuteld zijn.

 

Als je de server niet via subdomein maar via ip-nummer benadert verschijnt wel het slotje en is wel sprake van encryptie van het dataverkeer, echter, bij de certificaatsgegevens staat in rode letters “This Certifcate is not valid (host name mismatch). Kortom, als je ssl hebt ingesteld moet je de server voortaan benaderen via het subdomein en niet meer via IP-nummer, dus moet jij of je klant de snelkoppelingen naar dat bestand die via ip-nummer werken aanpassen.

 

Aanpassen snelkoppelingen

Zoals gezegd moet de url naar de FileMaker Server console evenals naar WebDirect bestanden worden aangepast.

 

http://123.4.5.178:16000/admin-console/

wordt:

https://server01.mijndomein.nl:16000/admin-console/

 

http://123.4.5.178/fmi/webd#bestand

wordt

https://server01.mijndomein.nl:/fmi/webd#bestand

 

HomeUrl

Bij veel WebDirectbestanden wil je dat de gebruiker na afsluiting van het bestand niet strandt in het overigens mooie FileMaker WebDirect menu, maar terugkeert naar de website. Dit kan via home url. Maar in FileMaker 14 is dat iets verandert.

 

http://123.4.5.178/fmi/webd?homeurl=http://www.mijnsite.nl#mijnbestand

wordt

https://server01.mijndomein.nl/fmi/webd?homeurl=http://www.mijnsite.nl#mijnbestand

 

Hoe veilig is veilig?

Met het zweet nog op mijn voorhoofd van bovenstaande vertelde ik mijn overbuurman Luuk Danes, wiskundige en specialist op het gebied van informatiebeveiliging over mijn beveiligd netwerkverkeer. Hij tikte mijn subdomein en liet een analysetool op de veiligheid van de SSL los. De uitkomst kon hem niet verheugen.

 

This server supports SSL 2, which is obsolete and insecure.

This server uses SSL 3, which is obsolete and insecure.

The server supports only older protocols, but not the current best TLS 1.2.

This server accepts the RC4 cipher, which is weak

 

Het is de vraag in hoeverre FileMaker hier een rol speelt. Mijn FileMaker Server draait op een Windows Server 2008 R2 Standaard. Het SSL-verkeer wordt ook geregeld door de server en na een kort onderzoek hoe we het SSL 2 protocol konden uitschakelen, kwamen we al snel in de wereld van regedit, waar we maar liever vanaf bleven. Mijn conclusie is dat als je voor veiligheid kiest je ook moet kiezen voor een recent OS.

 

Dank

Bovenstaande operatie was niet gelukt zonder hulp van Menno van Beek en Ruben van den Boogaard en Luuk Danes.

Link naar reactie

2 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Allereerst dank ik KAAI voor deze bijdrage!

 

Niemand reageert, blijkbaar is nog vrijwel niemand met Web-Direct aan de slag.

Ik ook niet, terwijl ik diverse IWP oplossingen heb draaien.

 

Wat mij nog totaal ontbreekt, is de reden waarom Filemaker het zo ingewikkeld gemaakt heeft.

Het lijkt me een enorme drempel om Web-Direct te gaan gebruiken.

Want zo ervaar ik dat... te veel beperkingen, omslachtige installatie en volgens mij (voor zover ik het begrijp) totaal overbodig...

Het oude was al goed genoeg.

 

Toch?

 

Wie kan mij overtuigen van het nut van dit alles?

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...