MacSysAdmin – van 4 t/m 7 oktober. Ook dit jaar mag ik bij dit event aanwezig zijn namens het GLR. Op deze pagina probeer ik per dag de presentaties kort weer te geven. Klik hieronder op de juiste dag om snel op deze pagina te navigeren.
Aangezien er niets openbaar gemaakt mag worden over de sessies die medewerkers van Apple zelf geven, worden die sessies hier uiteraard ook niet beschreven / weergegeven.
Alle sessies zijn opgenomen en zijn online, samen met de presentatie, te zien
of nu ook via Apple TV (alle sessies vanaf 2009)
Maandag | Dinsdag | Woensdag | Donderdag | Vrijdag
Maandag 3 oktober
De eerste dag bestaat zoals elk jaar uit de reis naar Gotenburg toe. Ook nu verliep deze voorspoedig. We zijn aan het begin van de middag geland, waardoor er ook nog wat tijd was om even de stad in te gaan. Morgen vanaf 8:30 uur inschrijven en dan gaan we starten!
Dag Nederland Hallo Zweden!
Dinsdag 4 oktober
Opening door Tycho. Hij heeft begin dit jaar opnieuw een beenmergtransplantatie ondergaan en is herstellende daarvan. Tycho neemt met ons het weekprogramma door, waarbij alle gastsprekers worden voorgesteld en de onderwerpen die ze in de diverse sessies presenteren.
OS State of the Union (Kevin White, Macjutsu, Inc.)
Kevin heeft deze sessie van anderhalf uur voor zijn rekening genomen, maar heeft de titel aangepast naar Administrators state of the union.
De volgende onderwerpen kwamen in sneltreinvaart voorbij:
- Een real life case study (connectED) waarbij Apple ongeveer 50.000 leerlingen voorzien heeft van een iPad en 4500 docenten voorzien heeft van een iPad en een MacBook. Hierbij werd een model ontwikkeld waarbij zero touch deployment toegepast werd. Uiteraard was ook een aanpassing van de aanwezige infrastructuur nodig.
Meer info is te vinden op http://www.apple.com/education/connectED/ - iOS 9.3 (new profiles, lost mode (power saving!)
- Apple EDU technologies
- Apple School Manager (ASM) (https://school.apple.com) . ASM werkt daarbij als een soort Intermediate Directory Services
- iOS10
- macOS Sierra – voor meer info zie https://support.apple.com/en-us/HT206871
- MacOS Server 5.2 – enkele kreten TimeMachine kan ook SMB backuppen SMB, Software Update Service gaat verdwijnen, profile manager ondersteund nieuwste opties in iOS10 en Sierra, meerdere caching servers kunnen gecategoriseerd worden
Voorspellingen, wat gaat Apple ons brengen in de (nabije) toekomst?
- Apple File System (APFS) zal AFP (Apple Filing Protocol) gaan vervangen waardoor we ook moeten denken aan een nieuw encryptie systeem. Fusion Drive zal wijzigen of verdwijnen en Time Machine zal wijzigingen ondergaan.
- iOS-ification van het macOS filesystem
- Thunderbolt3 (USB-c type)
- Apple zal eigen CPU’s gaan maken en deze toepassen in de Mac.
Handige links
From Shell to Swift (Joel Rennich, Trusource Labs)
Veel admins hebben in de afgelopen jaren ObjectiveC geleerd (of althans een poging gedaan) om zodoende de Shell achter zich te kunnen laten. Nu Swift echter alweer een tijdje beschikbaar is wordt het tijd om ook die overstap te gaan maken en niet alleen omdat de leercurve van Swift minder steil is. Het blijkt echter lastig om online hulp te vinden omdat de meeste websites focussen op development voor iOS. De tip van Joel is om de community van Sysadmins binnen Slack te gebruiken.
De rest van de tijd gebruikt Joel om te laten zien dat Swift ook prima inzetbaar is voor sysadmins door een demo te geven.
Meer info: https://developer.apple.com/swift
Swift kan ook op de iPad geleerd worden, ook voor kinderen: https://developer.apple.com/swift/playgrounds/
Security. What is it Good For? Absolutely Something! (Edward Marczak, Google)
Edward heeft gedurende de voorbereiding ook een andere (sub)titel bedacht: Practical Security
De sessie is in 3-en verdeel: basic – intermediate – advanced.
Basic:
- Responsible disclosure (zoals het hoort) vs Zero day (waarbij er geen tijd is om het lek te dichten)
- CVE (Common Vulnerabilities and Exposures) – info: https://cve.mitre.org
- Programmeren blijft mensenwerk dus fouten (bugs) zijn aanwezig, no question about it!
- Threat model (wat wil je beschermen tegen wie) – zou iedereen moeten schrijven. Basic onderdelen zijn:
- Hardware is kwetsbaar
- Het gaat om het beschermen van data
- Regel de security zelf en als je de kennis niet hebt huur dan iemand in
- Security is everyone’s job – nieuwe personen moeten bekend gemaakt worden met regelgeving binnen het bedrijf. Huidige werknemers blijven informeren, ook waarom!
- Security vergt empathie
- Passwords langere wachtwoorden zijn beter dan korte complexe wachtwoorden, regelmatig wachtwoorden laten wijzigen levert zeker niet altijd het gewenste resultaat op, gebruik zoveel mogelijk 2-factor authentication voor websites. Meer info: https://twofactorauth.org
- Patch – zorg dat updates uitgerold/toegepast worden
- Zorg voor encryptie waar nodig/mogelijk
- Gebruik Anti-virus (ook op de Mac!)
- Maak gebruik van Gatekeeper en de interne macOS firewall, zet ze dus aan!
- Tip: Little snitch – https://www.obdev.at/products/littlesnitch/index.html
Intermediate
- Stop met het kopen van oplossingen die meer beloven dan ze kunnen waarmaken
- Inventariseer welke devices zijn er en welke mogen het netwerk benaderen. Wat moet je dan doen met BYOD. Edward heeft hierin een duidelijke mening. Geen BYOD, als je een device nodig hebt zou het bedrijf het moeten aanschaffen en beschikbaar stellen!
Advanced
- Quarantaine + incident response. Wat ga je doen als het toch mis gaat? Daar moet van tevoren over nagedacht worden. Afhankelijk van grootte incident moet er zelfs wellicht iets aan PR gedaan worden
- Google heeft een tool gemaakt (Santa) waarmee binary whitelisting/blacklisting for Mac OS X mogelijk is. Je kunt Santa gebruiken in monitoring, black listing of fully protected mode (social voting) Info: https://github.com/google/santa of hier: http://www.securityweek.com/googles-santa-tracks-naughty-and-nice-binaries-mac-os-x
A Tale from San Jose: The Untold Inside Story of the Mac at Cisco (Nickolas Tong, Cisco Systems)
Nickolas gaf een overview van het gebruik van Mac’s binnen Cisco. Cisco gebruikte Mac’s, maar vanaf ca. 1998 werd de support uitgefaseerd. Jaren later bleek dat er nog steeds veel Mac’s gebruikt werden. Er was geen device management in die tijd.
Na verloop werden er steeds meer Mac’s gebruikt en werd er gezocht naar een management solution. Vanaf 2013 worden Mac’s weer volledig ondersteund. De verdeling op dit moment is ongeveer 44.500 Mac’s tegen 85.000 PC’s.
De uitdagingen voor de IT afdeling van Cisco liggen op:
- Proactive support
- New computer setup process
Woensdag 5 oktober
What’s new in File System (Rich Trouton, Howard Hughes Medical Institute)
Rich neemt ons mee de geschiedenis in waarbij hij start in 1984 met het Macintosh File System (MFS) waarbij bestanden konden worden opgeslagen op floppydisks van max. 400 kilobyte. Een groot verschil met de hedendaagse FileSystems is de platte structuur die gebruikt werd voor opslag. Met andere woorden: er bestond geen hiërarchie en dus ook geen folders. Apple gebruikte een truc om in de Finder wel folders te laten zien, maar in de “opslaan als …” dialoogbox waren ze niet aanwezig. Daarnaast kende MFS, zeker vergeleken met nu, wat limieten betreffende maximaal aantal files en grootte.
In 1985 kwam daar HFS (Hierarchical File System) omdat Apple de harddisk introduceerde. MFS was gemaakt voor trage en kleine media, namelijk de floppy. Tot MacOS 8.0 werd MFS nog ondersteund (alleen lezen!). HFS kende een aantal voordelen waaronder het beter kunnen gebruiken en toepassen van folders en de grootte en hoeveelheid files.
In 1998 werd HFS+ geïntroduceerd. Een groot voordeel was de blocksize. Bestanden namen veel minder ruimte in op een disk. Door de jaren heen heeft Apple extra functionaliteit toegevoegd aan HFS+ zoals journaling, ACL’s (Access Control Lists), hard links (voor gebruik in Time Machine), compressie en encryptie. Ook HFS+ kent nadelen zoals het toelaten van één proces tegelijk, datums worden opgeslagen als 32 bits integers (waardoor de maximaal haalbare datum 6 februari 2040 is!) of het niet kunnen maken van snapshots.
Apple komt nu dus met AFS (Apple File System). Op dit moment is het nog niet af en kan het nog niet in productie of als bootvolume gebruikt worden. Vanaf 2017 wordt AFS als default op alle nieuwe systemen geleverd. AFS biedt ook Space Sharing. Door volumes op te slaan in een container is het systeem flexibeler kan kan het beter omgaan met vergroten en verkleinen van volumes.
Voor meer info zie de zeer duidelijke video van de WWDC 2016:
https://developer.apple.com/videos/play/wwdc2016/701
En de informatie op deze website van Stephen Foskett: http://blog.fosketts.net/2016/06/13/macos-sierra-includes-new-apple-file-system-apfs/
Rich heeft de volledige documentatie van zijn presentatie beschikbaar gesteld via zijn website: https://derflounder.wordpress.com/2016/10/05/slides-from-the-whats-new-in-file-system-session-at-macsysadmin-2016/
Tied up and Bound (Joel Rennich, Trusource Labs)
Al jarenlang worden vele discussies gevoerd over het ‘binden’ van een Mac aan Active Directory (“To bind or not to bind…” Joel is van mening dat we het joinen van een AD domein wel zo’n beetje achter de rug hebben, maar AD biedt ook voordelen.
Active Directory biedt LDAP, Kerberos (Single Sign On) en veel data waar OS X (macOS) niets mee kan, zoals policies. Single Sign On (SSO) is echter een groot voordeel welke graag behouden blijft. Er zijn oplossingen om de voordelen van SSO te hebben zonder de nadelen van een AD plugin. Tools die genoemd worden zijn: ADplugin (ingebouwd in OS X/macOS), ADPassMon, Enterprise Connect (voornamelijk USA), KerbMinder, ShareMounter en NoMAD (No More AD).
Joel is bezig met de ontwikkeling van NoMAD en als open source beschikbaar gesteld. Enkele kenmerken:
- AD voordelen zonder te binden
- Single Sign On
- Password expiration notifications
- Password changes
- Windows CA certificaten
- Is te beheren via MDM/profiles
- Simpel in gebruik en aanpasbaar
NoMAD is hier te vinden (incl documentatie): https://gitlab.com/Mactroll/NoMAD of voor meer info connect via Slack (MacAdmins) #nomad
Which Version is This? (Duncan McCracken, Mondada)
Het tijdperk van monolitische (fat) images ligt al weer een tijdje achter ons, maar het thin-image model heeft het niet makkelijker gemaakt. Doordat verschillende software leveranciers verschillende manieren gebruiken om versienummers bij te houden is het lastig om hier op een universele manier mee om te gaan. Een goed opgemaakt versienummer zou er zo uit moeten zien:
Major . minor . point [ .revision . build]
Helaas blijkt dat niet zo te zijn in de praktijk. Zelfs binnen verschillende producten van dezelfde leverancier worden verschillende methodes toegepast. Het advies van Duncan is dan ook om elke product apart te bekijken en niet per leverancier.
Daarnaast zijn deze versienummers op verschillende plaatsen in of buiten de plist file te vinden. Voorbeelden zijn: CFBundleShortVersionString, CFBundleVersion, CFBundleGetInfoString, soms is het een custom key, een XML file, een tekst file, een json file of moet er een commando uitgevoerd worden om het versienummer te vinden.
Duncan heeft een manier bedacht die op basis van de versienummers de relatieve status geeft:
- none – de software is niet aanwezig
- older – de software is ouder dan de versie die op dat moment in deployment gebruikt wordt
- equal – de software versie is gelijk aan de versie op dat moment in deployment gebruikt wordt
- newer – de software versie is nieuwe dan de versie die op dat moment in deployment gebruikt wordt
Vervolgens heeft hij met behulp van Python een script geschreven die de plist (of ander soort file) op de disk zoekt (commando: mdfind) en vervolgens wordt het serienummer gezocht. Aangezien elk product zijn eigen variant kent moet een dergelijk script voor elk product gemaakt worden (of het origineel enigszins gewijzigd). Vervolgens wordt alle onnodige data voorafgaand aan het serienummer gestrikt zodat het versienummer met een getal begint. Met het commando parse_version wordt vervolgens het vergelijk uitgevoerd. Deze controle kan uitgevoerd worden tijdens het inchecken van de Mac in het management systeem (bijvoorbeeld Casper Suite van Jamf).
De laatste stap is dan dat de selfservice portal van het management systeem alleen die software toont die niet aanwezig of nieuwer is.
How can you avoid the catastrophes caused by disk drive failure (Tim Standing, SoftRAID)
Tim vertelt vol enthousiasme over data, over veiligheid van data op disks en de uitval mogelijkheden van disks. Vanuit zijn ervaring spreekt hij onder andere over SMART (Self Monitoring Analysis and Reporting Technology). Deze techniek zou de disk moeten monitoren en notificaties geven indien iets niet in orde zou zijn. Helaas blijkt dit in de praktijk niet te werken. Disks die langzaam doodgaan geven nog steeds een “healthy smart” notificatie.
Een disk gaat eens uitvallen, daar kun je zeker van zijn. Maar ook nieuwe disks kunnen uitvallen. Volgens Tim is de verklaring de volgende:
Stel er is een deel van de disk niet in orde. Daar kom je pas achter als de disk zo vol raakt dat dat deel bereikt wordt.
Advies is dan ook om een nieuwe disk eerst random vol te schrijven met data om deze data vervolgens weer uit te lezen en te vergelijken voordat de disk in productie genomen wordt.
Een aantal andere adviezen:
- leer van de ervaringen van anderen
- ga er niet vanuit dat het jou wel niet zal overkomen
- bescherm jezelf tegen een dergelijke ramp en bedenk nu al welke stappen je gaat/moet nemen in zo’n geval
Uit onderzoek is gebleken dat er een verhoogde kans is dat een disk gaat uitvallen als één van de volgende fouten geconstateerd worden:
- numer of reallocation sectors
- unreliabble sector counts
- uncorrectable error count
Backblaze houdt regelmatig bij hoe het met de betrouwbaarheid van een aantal merken harddisks gesteld is. Op deze pagina kan je daar meer informatie over vinden: https://www.backblaze.com/blog/hard-drive-reliability-stats-q1-2016/
Het laatste advies van Tim: vervang de schijven als ze ‘voldoende’ uren gemaakt hebben, of ze nu fouten geven of niet. Voor een server geldt 20.000 uur, een werkstation 10.000 uur en een laptop 5.000 uur.
Design Thinking for Mac Admins (Emily Kausalik , RetailMeNot, Inc.)
Aan de hand van foto’s en voorbeelden laat Emily ons zien dat er in ons dagelijks redelijk wat producten en oplossingen zijn waar niet goed of juist heel goed over nagedacht is. Focus is de klant.
“Good design is actually a lot harder to notice than poor design, in part because good designs fit our needs so well that the design is invisible,” ― Donald A. Norman, The Design of Everyday Things
Zie het voorbeeld van de “Norman Doors”.
De laatste twee sessies van vandaag werden gegeven door twee leveranciers van producten die ook een stand in de hal hebben. Beiden gaven een product demo.
Successfully managing Mac technology in Microsoft heavy Environments (Timofey Furyaev and Alexander Pantos, Parallels)
Smart unified endpoint and mobile management (Margreet Fortuné and Thomas Madsen Heat Software)
Donderdag 6 oktober
Frictionless IT: Building a Best-in-Class helpdesk (Mindy Lieberman, Zendesk)
In 2012 werd Mindy gevraagd als hoofd voor de IT afdeling van Zendesk. Er was weinig tot geen structuur. Mindy heeft zich tot doel gesteld om alles van de grond af aan op te bouwen om zo tot de ‘Best in class helpdesk’ te komen.
“Great IT is not about what you do, IT is about how people feel about what you do”
In haar verhaal haakt ze in op drie delen: wat, wie en technologie.
WAT
- Process – hoe doe je het werk dat je doet: light, pro-active, Er komt veel op een servicedesk af, niet alleen incidenten oplossen, maar ook (kleine) projecten: zaken uitzoeken, technische oplossingen, implementaties. Kortom biedt een portfolio aan met de diensten die je biedt. Bedenk daarbij hoe je omgaat met problemen uit het verleden, de zaken die nu spelen en datgene dat de toekomst gaat brengen. Agile is daar een goede vorm voor.
- ITIL (niet teveel, maar net om voldoende structuur te bieden). Denk hierbij aan: Asset management, Vendor management, Incident management, Change management, Access management en Compliance
- Welke kanalen je klanten ook gebruiken, het is goed (mail, mondeling, chat, telefoon, WhatsApp, Slack, …)
- De eerste indruk telt (enorm!)
- Configureer waar je kan en script alleen waar je moet (vergt nl. ook onderhoud)
- Gooi er een schepje bovenop als het om klanten gaat die er toe doen. Dat hoeven niet altijd personen hoger in functie te zijn! Zij zijn je VIP’s
- Als je iets ziet, zeg er iets van of meld het zelf (en/of los het op -> pro-actief)
- Als er iets is, meldt het dan snelYour IT brand
- Metrics
- Device Management & corporate culture
- Maak vrienden
- Gebruik een pilot-fase
- Ga er niet vanuit dat het communicatie mechanisme wel werkt, zorg zelf voor de juiste communicatie.
- Laat je ‘klanten’ zien waar het over gaat en vertel!
WHO: people
- Skills zijn aan te leren, maar kenmerken als humor, empathie, houding, vriendelijkheid etc niet, dat zijn kenmerken die iemand moet bezitten. Let daar op bij sollicitaties
- Neem mensen aan die in het bedrijf passen qua persoonlijkheid
- Zet zelf de toon (start met “ja” zegen , praat normaal met je ‘klanten’, jij bent hun ‘experience’, humor werkt!)
“It’s not what you said, it’s how you said it”
TECHNOLOGY
- APPS (Saas, PaaS / IaaS, on premise). De grafische interface doet er wel degelijk toe
- Automatiseer zodat je kan schalen
- Maak gebruik van Self-Service
0 to Imagr-ing in 45 minutes (Graham Gilbert, Airbnb)
Graham laat in verschillende demo’s zien hoe Imagr gebruikt kan worden. Zijn presentatie en de gebruikte script staan online: https://grahamgilbert.com/blog/2016/10/06/0-to-imagr-ing-in-45-minutes/
Scripting Opportunities for System Administrators (Greg Neagle, Walt Disney Animation Studios)
Zonder diep op diverse scripts in te gaan breekt Greg dit onderwerp op in vier delen: waarom, wanneer, wie, hoe.
Waarom zou je een script willen
- Als een profile gebruikt kan worden, doe dat dan in plaats van een script
- System config
- Repeating tasks (admin)
- System management
- Config user settings
Wanneer zou je dat willen
- Wanneer je een systeem ‘bouwt’
- Wanneer je software installeert
- Op een repeteerbare basis
- Bij het opstarten
- Bij een login en/of een logout
Als wie voer je het script uit
- Root
- Huidige (ingelogde) gebruiker
Hoe voer je het script uit
- Packages (kan scripts bevatten, de zogenaamde “pay-load free packages” als er geen pay-load is)
- Deploy studio
- Imagr
- Munki
- FileWave
- Casper Suite
- Login/logouthooks (als root na login user, maar voordat desktop verschijnt) -> depricated sinds jaren! Je kunt maar 1 van elk hebben
- Launchd (deamons & agents) /Library/LaunchDeamons (System Library mag niet meer vanwege SIP
- Run script at strartup
- Run script at login
- Outset Hiermee kan je meerdere scripts at login laten uitvoeren (soort wrapper om launchD)
- LoginScriptPlugin
- CrankD – Graham Gilbert heeft een artikel over het gebruik van CrankD geschreven op zijn website
Zoals elk jaar was er nu natuurlijk ook weer tijd om de trailer van de laatste Disney film (“Moana”) te bekijken.
Certificates… how do they work? (Marko Jung, University of Oxford)
Marko legt aan de hand van een presentatie vol animaties uit hoe het uitwisselen van een publieke cryptografie sleutel in zijn werk gaat. (Hier is veel info over op internet te vinden of via een reader die hier te vinden is 😉
Keychain:
- Login – user specific
- iCloud / Local Items – user specific
- System – non user system wide used (voor het opslaan van wifi wachtwoorden bijvoorbeeld)
- System Roots – Root certs
Sommige applicaties houden eigen root store bij
Software Certificaat Servers
- MicroSoft Active Directory Certificate Services
- Open SSL
- EJBCA
- OpenCA PKI Research Labs
- Jamf en andere MDM’s
Kijk ook zeker eens naar Let’s Encrypt voor gratis SSL certificaten
Going from Physical to Virtual: Creating, hosting and managing OS X VMs with VMware Fusion and ESXi (Rich Trouton, Howard Hughes Medical Institute)
Rich liet aan de hand van voorbeelden en demo’s zien hoe VMWare Fusiin en ESXi voor diverse doeleinden gebruikt kunnen worden. Aangezien Rich altijd zeer volledig is in zijn documentatie en deze openbaar beschikbaar stelt, verwijs ik hier naar zijn website: https://derflounder.wordpress.com/2016/10/06/slides-from-the-virtualization-session-at-macsysadmin-2016/
William Lam houdt een website bij waar veel info over VMWare voor OS X geschreven wordt: VirtuallyGhetto: http://www.virtuallyghetto.com
Vrijdag 7 oktober
Tools and Process for Streamlining Mac Deployment (Tim Sutton, Concordia University)
Tim neemt per categorie de tools door die bruikbaar zijn.
macOS builds
NBI creation tools
- AutoDSNBI – Per Olofsson
- Imagr NBI creation docs – Graham Gilbert
- AutoNBI – Pepijn Bruienne
- NBICreator – Erik Berglund
- AutoImagrNBI and AutoCasperNBI – Ben Toms
Packaging
- munkipkg
- The Luggage – Joe Block
- Packages – Stéphane Sudre
- Blog post by Pepijn Bruienne on signing packages for MDM InstallApplication
- bruienne/pkgsign Docker image
Other
- This Is Why You Shouldn’t Distract a Programmer
- Munki conditions
- munki-facts
- Toyota Production System – Wikipedia, Toyota Global website
- AutoPkg recipe repo setup script
- Writing Robust Bash Shell Scripts – David Pashley
- Calling external commands in Ruby and Python