<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://mediawiki.a-eskwadraat.nl/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://mediawiki.a-eskwadraat.nl/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Samh</id>
		<title>A-Eskwiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://mediawiki.a-eskwadraat.nl/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Samh"/>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Special:Contributions/Samh"/>
		<updated>2026-08-10T11:19:26Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/SSL</id>
		<title>SSL</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/SSL"/>
				<updated>2022-07-07T14:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Uitleg ==&lt;br /&gt;
&lt;br /&gt;
SSL wordt gebruikt om netwerk verbindingen te beveiligingen, zoals http en imap verkeer. Hiertoe gebruiken we bij a-eskwadraat een reverse proxy die het verkeer versleuteld voor de buitenwereld.&lt;br /&gt;
&lt;br /&gt;
Voor het certificaat van A-Eskwadraat maken we op dit moment gebruik van xolphin: [https://www.sslcertificaten.nl/ https://www.sslcertificaten.nl/]&lt;br /&gt;
&lt;br /&gt;
== Wachtwoord van certificaat halen ==&lt;br /&gt;
&lt;br /&gt;
Indien de private key is beveiligd met een wachtwoord, dan is dit wachtwoord ook nodig bij het opstarten. Dit kan vervelend zijn wanneer de server opnieuw opstart zonder dat iemand ter plaatse is om het wachtwoord in te tikken. Het wachtwoord kan met het volgende commando worden verwijderd. Zorg hierbij dat de shell zich bevindt in de map waarin de private key staat opgeslagen:&lt;br /&gt;
&lt;br /&gt;
 [root@server cert]# openssl rsa -in encrypted_private_key.key -out private_key.key&lt;br /&gt;
&lt;br /&gt;
Vervang hierbij encrypted_private_key.key met de naam van de private key, en vervang private_key.key met de gewenste bestandsnaam voor de nieuwe private key zonder wachtwoord.&lt;br /&gt;
&lt;br /&gt;
== Aanmaken CSR ==&lt;br /&gt;
&lt;br /&gt;
=== stap 1 ===&lt;br /&gt;
&lt;br /&gt;
Maak met behulp van SSH verbinding met de server en log in als root. Ga met behulp van het cd-commando naar de map toe waar de certificaten moeten worden bewaard:&lt;br /&gt;
&lt;br /&gt;
 [root@server]# cd /etc/ssl/cert/&lt;br /&gt;
&lt;br /&gt;
=== stap 2 ===&lt;br /&gt;
&lt;br /&gt;
Met het volgende commando kunnen de Private Key en de CSR worden gegenereerd:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-family: monospace, Courier;  padding: 1em;  border-color: rgb(221, 221, 221);  color: rgb(0, 0, 0);  line-height: 1.1em;  font-size: 12.6999998092651px;  background-color: rgb(249, 249, 249)&amp;quot;&amp;gt;[root@server]# openssl req -nodes -newkey rsa:2048 \&lt;br /&gt;
-keyout a-eskwadraat_nl.`date +%Y%m%d`.key \&lt;br /&gt;
-out a-eskwadraat_nl.`date +%Y%m%d`.csr \&lt;br /&gt;
-subj '/C=NL/ST=Utrecht/L=Utrecht/O=A-Eskwadraat/OU=Sysop/CN=*.a-eskwadraat.nl/emailAddress=sysop@a-eskwadraat.nl'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== stap 3 ===&lt;br /&gt;
&lt;br /&gt;
OpenSSL genereert twee bestanden: de Private Key (met als naam a-eskwadraat_nl.{datum}.key) en de CSR (met als naam a-eskwadraat_nl.{datum}.csr).&lt;br /&gt;
&lt;br /&gt;
=== stap 4 ===&lt;br /&gt;
&lt;br /&gt;
Beveilig de certificaatbestanden zodat niemand behalve de rootgebruiker erbij kan:&lt;br /&gt;
&lt;br /&gt;
 [root@server cert]# chmod 600 *.key *.csr&lt;br /&gt;
&lt;br /&gt;
=== stap 6 ===&lt;br /&gt;
&lt;br /&gt;
Nu kan de CSR met behulp van het cat-commando worden weergegeven:&lt;br /&gt;
&lt;br /&gt;
 [root@server cert]# cat a-eskwadraat_nl.`date +%Y%m%d`.csr &lt;br /&gt;
&lt;br /&gt;
De velden emailadres, optionele bedrijfsnaam en uitwisselingswachtwoord kunnen leeggelaten worden bij het aanvragen van een SSL certificaat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== IPA SSL intern ==&lt;br /&gt;
&lt;br /&gt;
Hier staat eigenlijk alles dat je moet weten: [http://www.freeipa.org/page/Apache_SNI_With_Kerberos http://www.freeipa.org/page/Apache_SNI_With_Kerberos] &amp;lt;br/&amp;gt;Het komt hier op neer (merk op dat 'dummyhost' de naam van de virtualhost is):&lt;br /&gt;
&lt;br /&gt;
 mkdir /etc/httpd/certs&lt;br /&gt;
 semanage fcontext -a -t cert_t '/etc/httpd/certs(/.*)?' &amp;amp;&amp;amp; restorecon -v /etc/httpd/certs&lt;br /&gt;
 ipa host-add dummyhost.example.com --desc=&amp;quot;Dummy Host&amp;quot; --location=&amp;quot;&amp;lt;fqdn-of-webserver&amp;gt;&amp;quot;&lt;br /&gt;
 ipa host-add-managedby dummyhost.example.com --hosts=&amp;quot;&amp;lt;fqdn-of-webserver&amp;gt;&amp;quot;&lt;br /&gt;
 ipa service-add HTTP/dummyhost.example.com&lt;br /&gt;
 ipa service-add-host HTTP/dummyhost.example.com --hosts=&amp;quot;&amp;lt;fqdn-of-webserver&amp;gt;&amp;quot;&lt;br /&gt;
 ipa-getcert request -r -f /etc/httpd/certs/dummyhost.crt -k /etc/httpd/certs/dummyhost.key -N CN=dummyhost.example.com -D \&lt;br /&gt;
   dummyhost.example.com -K HTTP/dummyhost.example.com&lt;br /&gt;
&lt;br /&gt;
Het zou kunnen dat je de package ipa-admintools moet installeren.&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt ==&lt;br /&gt;
&lt;br /&gt;
=== Stap 1 ===&lt;br /&gt;
&lt;br /&gt;
Inloggen op ernst.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Stap 2 ===&lt;br /&gt;
&lt;br /&gt;
Certbot commando uitvoeren:&lt;br /&gt;
&lt;br /&gt;
 certbot certonly --manual -d *.a-eskwadraat.nl -d a-eskwadraat.nl --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01&lt;br /&gt;
&lt;br /&gt;
=== Stap 3 ===&lt;br /&gt;
&lt;br /&gt;
Inloggen op vm-dns-auth.&lt;br /&gt;
&lt;br /&gt;
=== Stap 4 ===&lt;br /&gt;
&lt;br /&gt;
Twee TXT-records aanpassen in /etc/nsd/zones/a-eskwadaraat.nl.zone en timestamps aanpassen (van hele bestand).&lt;br /&gt;
&lt;br /&gt;
=== Stap 5 ===&lt;br /&gt;
&lt;br /&gt;
 service nsd restart&lt;br /&gt;
&lt;br /&gt;
Hierna uitloggen op vm-dns-auth.&lt;br /&gt;
&lt;br /&gt;
=== Stap 6 ===&lt;br /&gt;
&lt;br /&gt;
Ga verder met certbot script uit stap 2.&lt;br /&gt;
&lt;br /&gt;
=== Stap 7 ===&lt;br /&gt;
&lt;br /&gt;
 service nginx restart&lt;br /&gt;
&lt;br /&gt;
=== Stap 8 ===&lt;br /&gt;
&lt;br /&gt;
Certificaat kopiëren naar mail server.&lt;br /&gt;
&lt;br /&gt;
Log in op vm-mailpp&lt;br /&gt;
&lt;br /&gt;
Verwijder de oude certificaten.&lt;br /&gt;
 rm -f /etc/ssl/certs/mail_a-eskwadraat_nl.crt&lt;br /&gt;
 rm -f /etc/ssl/certs/mail_a-eskwadraat_nl.key&lt;br /&gt;
Kopieër de nieuwe certificaten vanaf Ernst:&lt;br /&gt;
 scp root@ernst:/etc/letsencrypt/live/a-eskwadraat.nl/fullchain.pem /etc/ssl/certs/mail_a-eskwadraat_nl.crt&lt;br /&gt;
 scp root@ernst:/etc/letsencrypt/live/a-eskwadraat.nl/privkey.pem /etc/ssl/certs/mail_a-eskwadraat_nl.key&lt;br /&gt;
Herstart postfix en dovecot&lt;br /&gt;
 systemctl restart postfix&lt;br /&gt;
 systemctl restart dovecot&lt;br /&gt;
&lt;br /&gt;
=== Stap 9 ===&lt;br /&gt;
&lt;br /&gt;
Profit.&lt;br /&gt;
&lt;br /&gt;
== Let's Encrypt introductie==&lt;br /&gt;
De website van de introductie intro-utrecht.nl gebruikt een eigen certificaat. Andere websites die genoemd staan in /etc/nginx/conf.d/vm-www-dmz.list werken nu ook via dit certificaat. Deze worden op het moment niet echt meer gebruikt, maar mochten hier problemen zijn met ssl ligt dat hier aan. &lt;br /&gt;
Voer het volgende commando uit op ernst om het intro certificaat te vernieuwen:&lt;br /&gt;
 certbot certonly --webroot -d intro-utrecht.nl,www.intro-utrecht.nl,bachelor.intro-utrecht.nl&lt;br /&gt;
&lt;br /&gt;
Als er gevraagd wordt om een webroot, vul dan in:&lt;br /&gt;
 /var/www/bachelor.intro-utrecht.nl/.well-known&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi</id>
		<title>Raspberry pi</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi"/>
				<updated>2022-02-17T15:38:32Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We hebben 3 raspberry pi's in gebruik&lt;br /&gt;
&lt;br /&gt;
De dibs tablet (pi4dibs), tv informatiescherm (pi4tv) en commissiescherm.&lt;br /&gt;
&lt;br /&gt;
De dibs tablet maakt gebruik van de volgende nfc reader: https://www.emartee.com/product/42045/&lt;br /&gt;
De dibs weergave is van het webadres: https://www.a-eskwadraat.nl/Leden/Dibs/DibsTablet/. Deze is alleen bereikbaar vanaf het ipadres van de dibs pi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
de dibs-tablet draaien op raspberry pi os (vroeger raspbian). De andere twee draaien nog op raspbian.&lt;br /&gt;
&lt;br /&gt;
De dbibs-tablet werkt met de chromium browser die in kiosk modus draait. Dit kan voor elkaar gekregen worden door het bestand:  /etc/xdg/lxsession/LXDE-pi/autostart aan te passen en de volgende regel aan het eind toe te voegen: /usr/bin/chromium-browser --noerrdialogs --disable-infobars --kiosk https://www.a-eskwadraat.nl/Leden/Dibs/DibsTablet/&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi</id>
		<title>Raspberry pi</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi"/>
				<updated>2021-11-01T19:30:53Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We hebben 3 raspberry pi's in gebruik&lt;br /&gt;
&lt;br /&gt;
De dibs tablet (pi4dibs), tv informatiescherm (pi4tv) en commissiescherm.&lt;br /&gt;
&lt;br /&gt;
De dibs tablet maakt gebruik van de volgende nfc reader: https://www.emartee.com/product/42045/&lt;br /&gt;
De dibs weergave is van het webadres: https://www.a-eskwadraat.nl/Leden/Dibs/DibsTablet/. Deze is alleen bereikbaar vanaf het ipadres van de dibs pi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
de dibs-tablet draaien op raspberry pi os (vroeger raspbian). De andere twee draaien nog op raspbian.&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi</id>
		<title>Raspberry pi</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi"/>
				<updated>2021-11-01T18:46:44Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We hebben 3 raspberry pi's in gebruik&lt;br /&gt;
&lt;br /&gt;
De dibs tablet, tv informatiescherm en commissiescherm.&lt;br /&gt;
&lt;br /&gt;
De dibs tablet maakt gebruik van de volgende nfc reader: https://www.emartee.com/product/42045/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
de dibs-tablet draaien op raspberry pi os (vroeger raspbian). De andere twee draaien nog op raspbian.&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi</id>
		<title>Raspberry pi</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Raspberry_pi"/>
				<updated>2021-11-01T18:45:35Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: Created page with &amp;quot;We hebben 3 raspberry pi's in gebruik  De dibs tablet, tv informatiescherm en commissiescherm.  De dibs tablet maakt gebruik van de volgende nfc reader: https://www.emartee.co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We hebben 3 raspberry pi's in gebruik&lt;br /&gt;
&lt;br /&gt;
De dibs tablet, tv informatiescherm en commissiescherm.&lt;br /&gt;
&lt;br /&gt;
De dibs tablet maakt gebruik van de volgende nfc reader: https://www.emartee.com/product/42045/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/DMZ</id>
		<title>DMZ</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/DMZ"/>
				<updated>2021-09-11T12:54:54Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Op het moment van schrijven onderhoudt de sysop de [[Container|container]] ct-www-dmz. Hier staan alle a-eskwadraat-gerelateerde websites en subdomeinen&amp;amp;nbsp;van commissies op die niet onder www.a-eskwadraat.nl vallen. Denk hierbij aan een website voor het pion, de studiereis,&amp;amp;nbsp;symposium of intro.&lt;br /&gt;
&lt;br /&gt;
== Subdomein aanmaken ==&lt;br /&gt;
&lt;br /&gt;
Als eerste moet je er zeker van zijn dat de configuratie voor je subdomein in ernst staat zodat hij weet naar welke machine hij het subdomein moet sturen. Op ernst staat in /etc/nginx/conf.d een bestsand vm-www-dmz.aeslist. Zet hier je subdomein neer als die er al niet tussen staat. Reload daarna nginx (NIET restarten, dat duurt lang en dan doen alle a-eskwadraatwebsites het even niet).&lt;br /&gt;
&lt;br /&gt;
De vm-www-dmz werkt met apache. De configuratiebestanden hiervoor kan je vinden in /etc/httpd/conf.d. In die map staat de map sites-available (komt nog van het oude debian-tijdperk) waarin alle subdomeinen staan. Voor een nieuw subdomein is het het handigst als je hiervoor een nieuw bestand aanmaakt. Stel je wilt voor de pion2016 een subdomein maken. Maak dan het bestand pion2016 aan. Zet daar dan het volgende in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; DocumentRoot /srv/http/pion2016&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; ServerName pion2016.a-eskwadraat.nl&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; CustomLog /var/log/httpd/pion2016-access.log combined&lt;br /&gt;
&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; AssignUserId pion2016 pion2016&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De DocumentRoot is de plek op het fs waar de map staat waar de site in staat, de ServerName is de url van het subdomein, CustomLog is het bestand waar de logs voor dit subdomein naar toe moeten worden geschreven. AssignUserId moet je ook niet vergeten, die zorgt ervoor dat in de waar de website staat de cie en leden van de cie alles kunnen beheren zonder dat alle groeprechten op apache moeten staan.&lt;br /&gt;
&lt;br /&gt;
Als je een wat algemener subdomein aanmaakt waar er al vorige instanties van zijn geweest (denk bijvoorbeeld aan pion.a-eskwadraat.nl), zet dan simpelweg hetzelfde VirtualHost-blok neer maar verander de servername. Vergeet ook niet om de al eerder bestaande pion.a-eskwadraat.nl configuratie weg te halen, want die wordt toch niet meer gebruikt.&lt;br /&gt;
&lt;br /&gt;
Maak nu in /srv/http de map aan zoals je die hebt beschreven in je virtualhost. Zet de rechten op de commissie die de site beheert (bv: chown pion2016:pion2016 /srv/http/pion2016) en zet de groeprechten op ook schrijfbaar (BELANGRIJK!) (bv: chmod g+w /srv/http/pion2016).&lt;br /&gt;
&lt;br /&gt;
Je subdomein is nu goed geconfigureerd! Vaak is het ook nog netjes om een symlink in de homdir van de cie naar de dir van de website neer te zetten (dus in dit geval: ln -s /srv/http/pion2016 ~pion2016/site).&lt;br /&gt;
&lt;br /&gt;
'''Bij het wijzigen van een al bestaand subdomein is er vaak een reload nodig''' (systemctl reload httpd)&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup</id>
		<title>Backup</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup"/>
				<updated>2021-05-31T20:05:35Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Geregeld worden er '''backups''' gemaakt van een groot deel van het systeem. Hier vallen onder andere de home directories en virtuele machines onder. De WebCie heeft ook een grote hoeveelheid incrementele databasebackups.&lt;br /&gt;
&lt;br /&gt;
== Interne backups ==&lt;br /&gt;
&lt;br /&gt;
De interne backups zijn bedoeld om bestanden terug te kunnen halen die per ongeluk verwijderd zijn. Elke 4 uur, met middernacht als offset, wordt er een recursieve snapshot gemaakt van alle data. Deze 4 uurlijkse snapshots worden, op die van middernacht na, 2 dagen bewaard. De snapshots van middernacht worden standaard 2 weken bewaard, met enkele uitzonderingen zoals de home directories. Deze uitzonderingen plus hun retention tijd staan op haskell in `/etc/cron.daily/managesnapshot`.&lt;br /&gt;
&lt;br /&gt;
Deze 4 uurlijkse backups worden direct gesynced naar de on-site backup in de vorm van Nikola.&lt;br /&gt;
&lt;br /&gt;
Interne backups kunnen makkelijk teruggehaald worden. In het geval van een dataset is er in de root van deze dataset een onzichtbare map .zfs. In het geval van de home kan de staat van 20 november 2015 teruggevonden worden in `/srv/home/.zfs/snapshot/2015112000`. Dit kan alleen op haskell gedaan worden aangezien deze map niet bereikbaar is over NFS. Iets vergelijkbaars kan gedaan wordne met zvol's. Eerst moet echter de property snapdev op visible gezet worden in plaats van hidden en daarna zijn de snapshots van de zvols zichtbaar in `/dev`. Snapshots zijn read-only, dus als je een zvol probeert te mounten die dirty is, dan werkt dit niet als er ext4 op de zvol staat. Ext4 wil bij het recoveren namelijk schrijven, wat niet kan. In een dergelijke situatie kan het vaak handig zijn om een snapshot te klonen en dan te mounten. Met xfs is dit niet nodig.&lt;br /&gt;
&lt;br /&gt;
Momenteel worden backups van Stephen gemaakt met [https://github.com/psy0rz/zfs_autobackup ZFS Autobackup]. Om deze snapshots ook naar nikola te halen wordt er ook van deze package gebruik gemaakt. Hiervoor wordt er gebruik gemaakt van de zfs flag: ''autobackup:stephen-backup-nikola'' op stephen en het commando (op nikola) ''zfs-autobackup --ssh-source stephen stephen-backup-nikola storage/backup/stephen --progress --verbose'' voor het daadwerkelijk maken van de backup. Dit commando wordt elke dag om 00:00 uitgevoerd doormiddel van een cronjob&lt;br /&gt;
&lt;br /&gt;
== Off-site backups ==&lt;br /&gt;
&lt;br /&gt;
We slaan de data ook off-site op bij de universiteit. Dit is een virtuele machine met de naam [[Claude|claude]]. Dit gebeurd vanaf Nikola(vroeger max), aangezien daar een 1:1 kopie staat van de data en op deze manier wordt haskell ontlast. De backups worden vanaf [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] gepulled vanaf Nikola en door Nikola eerst ge-gzipped en ge-encrypt, zodat de universiteit niet bij onze data kan. Naar [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] wordt elke eerste dag van de maand een complete kopie gedumped en voor de rest van de maand worden incrementele dumps gemaakt.&lt;br /&gt;
&lt;br /&gt;
== Relevante scripts ==&lt;br /&gt;
&lt;br /&gt;
De volgende scripts en crons die te maken hebben met backups zijn allemaal in gebruik.&lt;br /&gt;
&lt;br /&gt;
*`/usr/local/bin/backupscript` op Haskell maakt elke 4 uur (door `/etc/cron.d/autobackup`) een snapshot en stuurt deze direct naar Nikola.&lt;br /&gt;
*`/etc/cron.daily/cleansnapshots` draait op zowel Nikola als Haskell en ruimt elke dag oude snapshots op. Deze file is identiek op beide machines, dus aanpassingen moeten gesynced worden.&lt;br /&gt;
*`/usr/local/bin/pullbackups` op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] pullt backups van Nikola en slaat deze op.&lt;br /&gt;
*`/usr/local/bin/cleanbackups`op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] ruimt oude snapshots op als de ruimte (2TB) vol dreigt te raken. Vol is &amp;gt;90%. Dit is een cron die elke 5 minuten checkt. Mocht er iets fout gaan zoals dat er bij het opruimen niet tenminste 1 volledige backup altijd bewaard blijft, dan mailt deze dit. Het gebeurd nog wel eens dat de nfs share van de universiteit eruit knalt, en dan flipt dit script ook.&lt;br /&gt;
&lt;br /&gt;
== WebCie: snapshots van de database ==&lt;br /&gt;
&lt;br /&gt;
Op de vm-www maakt een script automatisch elke 10 minuten een dump van de database. Een diff met de vorige db-dump wordt opgeslagen in het archief (&amp;lt;code&amp;gt;haskell:/srv/www/archief&amp;lt;/code&amp;gt;): vanaf de [[vm-www]] beschikbaar op &amp;lt;code&amp;gt;/archief/www/2018-08/07/whoswho4.2018-08-07_13_00.diff&amp;lt;/code&amp;gt; bijvoorbeeld. Ook wordt elke dag een volledige db-dump opgeslagen. Elke maand worden de volledige dumps en alle diffs samen gecomprimeerd. De dumps kun je gebruiken om per ongeluk gewiste data weer terug te zetten.&lt;br /&gt;
&lt;br /&gt;
=== Backup van binaire logs ===&lt;br /&gt;
&lt;br /&gt;
Omdat het diffprogramma soms te lang deed over het backuppen omdat de diffs heeeeeeeeel lang werden, gaan we de binaire logs gebruiken voor backups.&lt;br /&gt;
&lt;br /&gt;
Als je in de mysql-configuratie de optie log-bin aanzet, zal mysql alle updates aan de databases opschrijven in een logbestand. Dit kun je gebruiken voor [[replicatie]], of voor backups. Elke 10 minuten worden de logs geflusht en alle nieuwe bestanden gekopieerd naar het www-archief. Vervolgens worden de oude logbestanden weggegooid (zodat we niet de volledige geschiedenis steeds opnieuw overnemen). PAS OP: als je replicatie doet en een andere server is offline terwijl de logs worden weggegooid, kan die niet zomaar meer up-to-date komen! Zodra je weer replicatie wilt aanzetten (zoals [[Webcie-vm#Mariadb_en_replicatie|als je een nieuwe VM wilt maken]], moet je dus een goede oplossing hiervoor verzinnen. (Misschien: houd bij welke logbestanden al gekopieerd zijn en sla die over?)&lt;br /&gt;
&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/backup-methods.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/binary-log.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/point-in-time-recovery.html&lt;br /&gt;
&lt;br /&gt;
=== Encryptie van de backups ===&lt;br /&gt;
&lt;br /&gt;
Alle WebCie backups worden nu encrypted opgeslagen. De public key die hier voor gebruikt wordt is de &amp;quot;A-Eskwadraat Backup Service &amp;lt;webcie@a-eskwadraat.nl&amp;gt;&amp;quot; key. Deze public key staat geregistreerd in de keychain van de apache user op de vm-www2. Daarnaast is de public key te vinden in [deze](https://gitlab.com/iba-aes/webcie/website/snippets/1835239) Gitlab snippet. De private key wordt bewaard door het bestuur en de WebCie voorzitter. &lt;br /&gt;
&lt;br /&gt;
=== Decrypten van data ===&lt;br /&gt;
&lt;br /&gt;
Is het nodig om de data te decrypten? Volg het volgende stappenplan.&lt;br /&gt;
&lt;br /&gt;
* Vraag het bestuur/de WebCie voorzitter om de USB stick met de private key.&lt;br /&gt;
* Importeer de private key: `gpg --import &amp;lt;keynaam&amp;gt;`&lt;br /&gt;
* Decrypt de data: `gpg --output &amp;lt;outputfile&amp;gt; --decrypt &amp;lt;inputfile&amp;gt;`&lt;br /&gt;
* Verwijder de private key nadat je klaar bent: `gpg --delete-secret-key webcie@a-eskwadraat.nl`&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;br /&gt;
[[Category:WebCie]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup</id>
		<title>Backup</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup"/>
				<updated>2021-05-31T20:03:06Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Geregeld worden er '''backups''' gemaakt van een groot deel van het systeem. Hier vallen onder andere de home directories en virtuele machines onder. De WebCie heeft ook een grote hoeveelheid incrementele databasebackups.&lt;br /&gt;
&lt;br /&gt;
== Interne backups ==&lt;br /&gt;
&lt;br /&gt;
De interne backups zijn bedoeld om bestanden terug te kunnen halen die per ongeluk verwijderd zijn. Elke 4 uur, met middernacht als offset, wordt er een recursieve snapshot gemaakt van alle data. Deze 4 uurlijkse snapshots worden, op die van middernacht na, 2 dagen bewaard. De snapshots van middernacht worden standaard 2 weken bewaard, met enkele uitzonderingen zoals de home directories. Deze uitzonderingen plus hun retention tijd staan op haskell in `/etc/cron.daily/managesnapshot`.&lt;br /&gt;
&lt;br /&gt;
Deze 4 uurlijkse backups worden direct gesynced naar de on-site backup in de vorm van Nikola.&lt;br /&gt;
&lt;br /&gt;
Interne backups kunnen makkelijk teruggehaald worden. In het geval van een dataset is er in de root van deze dataset een onzichtbare map .zfs. In het geval van de home kan de staat van 20 november 2015 teruggevonden worden in `/srv/home/.zfs/snapshot/2015112000`. Dit kan alleen op haskell gedaan worden aangezien deze map niet bereikbaar is over NFS. Iets vergelijkbaars kan gedaan wordne met zvol's. Eerst moet echter de property snapdev op visible gezet worden in plaats van hidden en daarna zijn de snapshots van de zvols zichtbaar in `/dev`. Snapshots zijn read-only, dus als je een zvol probeert te mounten die dirty is, dan werkt dit niet als er ext4 op de zvol staat. Ext4 wil bij het recoveren namelijk schrijven, wat niet kan. In een dergelijke situatie kan het vaak handig zijn om een snapshot te klonen en dan te mounten. Met xfs is dit niet nodig.&lt;br /&gt;
&lt;br /&gt;
Momenteel worden backups van Stephen gemaakt met [https://github.com/psy0rz/zfs_autobackup ZFS Autobackup]. Deze worden kunnen ook naar Nikola gehaald worden met dit script. Hiervoor wordt er gebruik gemaakt van de flag: autobackup:stephen-backup-nikola en het commando (op nikola) ''zfs-autobackup --ssh-source stephen stephen-backup-nikola storage/backup/stephen --progress --verbose''. Dit commando wordt elke dag om 00:00 uitgevoerd doormiddel van een cronjob&lt;br /&gt;
&lt;br /&gt;
== Off-site backups ==&lt;br /&gt;
&lt;br /&gt;
We slaan de data ook off-site op bij de universiteit. Dit is een virtuele machine met de naam [[Claude|claude]]. Dit gebeurd vanaf Nikola(vroeger max), aangezien daar een 1:1 kopie staat van de data en op deze manier wordt haskell ontlast. De backups worden vanaf [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] gepulled vanaf Nikola en door Nikola eerst ge-gzipped en ge-encrypt, zodat de universiteit niet bij onze data kan. Naar [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] wordt elke eerste dag van de maand een complete kopie gedumped en voor de rest van de maand worden incrementele dumps gemaakt.&lt;br /&gt;
&lt;br /&gt;
== Relevante scripts ==&lt;br /&gt;
&lt;br /&gt;
De volgende scripts en crons die te maken hebben met backups zijn allemaal in gebruik.&lt;br /&gt;
&lt;br /&gt;
*`/usr/local/bin/backupscript` op Haskell maakt elke 4 uur (door `/etc/cron.d/autobackup`) een snapshot en stuurt deze direct naar Nikola.&lt;br /&gt;
*`/etc/cron.daily/cleansnapshots` draait op zowel Nikola als Haskell en ruimt elke dag oude snapshots op. Deze file is identiek op beide machines, dus aanpassingen moeten gesynced worden.&lt;br /&gt;
*`/usr/local/bin/pullbackups` op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] pullt backups van Nikola en slaat deze op.&lt;br /&gt;
*`/usr/local/bin/cleanbackups`op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] ruimt oude snapshots op als de ruimte (2TB) vol dreigt te raken. Vol is &amp;gt;90%. Dit is een cron die elke 5 minuten checkt. Mocht er iets fout gaan zoals dat er bij het opruimen niet tenminste 1 volledige backup altijd bewaard blijft, dan mailt deze dit. Het gebeurd nog wel eens dat de nfs share van de universiteit eruit knalt, en dan flipt dit script ook.&lt;br /&gt;
&lt;br /&gt;
== WebCie: snapshots van de database ==&lt;br /&gt;
&lt;br /&gt;
Op de vm-www maakt een script automatisch elke 10 minuten een dump van de database. Een diff met de vorige db-dump wordt opgeslagen in het archief (&amp;lt;code&amp;gt;haskell:/srv/www/archief&amp;lt;/code&amp;gt;): vanaf de [[vm-www]] beschikbaar op &amp;lt;code&amp;gt;/archief/www/2018-08/07/whoswho4.2018-08-07_13_00.diff&amp;lt;/code&amp;gt; bijvoorbeeld. Ook wordt elke dag een volledige db-dump opgeslagen. Elke maand worden de volledige dumps en alle diffs samen gecomprimeerd. De dumps kun je gebruiken om per ongeluk gewiste data weer terug te zetten.&lt;br /&gt;
&lt;br /&gt;
=== Backup van binaire logs ===&lt;br /&gt;
&lt;br /&gt;
Omdat het diffprogramma soms te lang deed over het backuppen omdat de diffs heeeeeeeeel lang werden, gaan we de binaire logs gebruiken voor backups.&lt;br /&gt;
&lt;br /&gt;
Als je in de mysql-configuratie de optie log-bin aanzet, zal mysql alle updates aan de databases opschrijven in een logbestand. Dit kun je gebruiken voor [[replicatie]], of voor backups. Elke 10 minuten worden de logs geflusht en alle nieuwe bestanden gekopieerd naar het www-archief. Vervolgens worden de oude logbestanden weggegooid (zodat we niet de volledige geschiedenis steeds opnieuw overnemen). PAS OP: als je replicatie doet en een andere server is offline terwijl de logs worden weggegooid, kan die niet zomaar meer up-to-date komen! Zodra je weer replicatie wilt aanzetten (zoals [[Webcie-vm#Mariadb_en_replicatie|als je een nieuwe VM wilt maken]], moet je dus een goede oplossing hiervoor verzinnen. (Misschien: houd bij welke logbestanden al gekopieerd zijn en sla die over?)&lt;br /&gt;
&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/backup-methods.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/binary-log.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/point-in-time-recovery.html&lt;br /&gt;
&lt;br /&gt;
=== Encryptie van de backups ===&lt;br /&gt;
&lt;br /&gt;
Alle WebCie backups worden nu encrypted opgeslagen. De public key die hier voor gebruikt wordt is de &amp;quot;A-Eskwadraat Backup Service &amp;lt;webcie@a-eskwadraat.nl&amp;gt;&amp;quot; key. Deze public key staat geregistreerd in de keychain van de apache user op de vm-www2. Daarnaast is de public key te vinden in [deze](https://gitlab.com/iba-aes/webcie/website/snippets/1835239) Gitlab snippet. De private key wordt bewaard door het bestuur en de WebCie voorzitter. &lt;br /&gt;
&lt;br /&gt;
=== Decrypten van data ===&lt;br /&gt;
&lt;br /&gt;
Is het nodig om de data te decrypten? Volg het volgende stappenplan.&lt;br /&gt;
&lt;br /&gt;
* Vraag het bestuur/de WebCie voorzitter om de USB stick met de private key.&lt;br /&gt;
* Importeer de private key: `gpg --import &amp;lt;keynaam&amp;gt;`&lt;br /&gt;
* Decrypt de data: `gpg --output &amp;lt;outputfile&amp;gt; --decrypt &amp;lt;inputfile&amp;gt;`&lt;br /&gt;
* Verwijder de private key nadat je klaar bent: `gpg --delete-secret-key webcie@a-eskwadraat.nl`&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;br /&gt;
[[Category:WebCie]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup</id>
		<title>Backup</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup"/>
				<updated>2021-05-31T15:05:44Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Geregeld worden er '''backups''' gemaakt van een groot deel van het systeem. Hier vallen onder andere de home directories en virtuele machines onder. De WebCie heeft ook een grote hoeveelheid incrementele databasebackups.&lt;br /&gt;
&lt;br /&gt;
== Interne backups ==&lt;br /&gt;
&lt;br /&gt;
De interne backups zijn bedoeld om bestanden terug te kunnen halen die per ongeluk verwijderd zijn. Elke 4 uur, met middernacht als offset, wordt er een recursieve snapshot gemaakt van alle data. Deze 4 uurlijkse snapshots worden, op die van middernacht na, 2 dagen bewaard. De snapshots van middernacht worden standaard 2 weken bewaard, met enkele uitzonderingen zoals de home directories. Deze uitzonderingen plus hun retention tijd staan op haskell in `/etc/cron.daily/managesnapshot`.&lt;br /&gt;
&lt;br /&gt;
Deze 4 uurlijkse backups worden direct gesynced naar de on-site backup in de vorm van Nikola.&lt;br /&gt;
&lt;br /&gt;
Interne backups kunnen makkelijk teruggehaald worden. In het geval van een dataset is er in de root van deze dataset een onzichtbare map .zfs. In het geval van de home kan de staat van 20 november 2015 teruggevonden worden in `/srv/home/.zfs/snapshot/2015112000`. Dit kan alleen op haskell gedaan worden aangezien deze map niet bereikbaar is over NFS. Iets vergelijkbaars kan gedaan wordne met zvol's. Eerst moet echter de property snapdev op visible gezet worden in plaats van hidden en daarna zijn de snapshots van de zvols zichtbaar in `/dev`. Snapshots zijn read-only, dus als je een zvol probeert te mounten die dirty is, dan werkt dit niet als er ext4 op de zvol staat. Ext4 wil bij het recoveren namelijk schrijven, wat niet kan. In een dergelijke situatie kan het vaak handig zijn om een snapshot te klonen en dan te mounten. Met xfs is dit niet nodig.&lt;br /&gt;
&lt;br /&gt;
Momenteel worden backups van Stephen gemaakt met [https://github.com/psy0rz/zfs_autobackup ZFS Autobackup]. Deze worden kunnen ook naar Nikola gehaald worden met dit script. Hiervoor wordt er gebruik gemaakt van de flag: autobackup:stephen-backup-nikola en het commando (op nikola) ''zfs-autobackup --ssh-source stephen stephen-backup-nikola storage/backup/stephen --progress --verbose''. Op het moment van schrijven wordt de eerste backup op deze manier overgezet. Er is nog geen cronjob voor aangemaakt dit moet dus nog gebeuren.&lt;br /&gt;
&lt;br /&gt;
== Off-site backups ==&lt;br /&gt;
&lt;br /&gt;
We slaan de data ook off-site op bij de universiteit. Dit is een virtuele machine met de naam [[Claude|claude]]. Dit gebeurd vanaf Nikola(vroeger max), aangezien daar een 1:1 kopie staat van de data en op deze manier wordt haskell ontlast. De backups worden vanaf [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] gepulled vanaf Nikola en door Nikola eerst ge-gzipped en ge-encrypt, zodat de universiteit niet bij onze data kan. Naar [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] wordt elke eerste dag van de maand een complete kopie gedumped en voor de rest van de maand worden incrementele dumps gemaakt.&lt;br /&gt;
&lt;br /&gt;
== Relevante scripts ==&lt;br /&gt;
&lt;br /&gt;
De volgende scripts en crons die te maken hebben met backups zijn allemaal in gebruik.&lt;br /&gt;
&lt;br /&gt;
*`/usr/local/bin/backupscript` op Haskell maakt elke 4 uur (door `/etc/cron.d/autobackup`) een snapshot en stuurt deze direct naar Nikola.&lt;br /&gt;
*`/etc/cron.daily/cleansnapshots` draait op zowel Nikola als Haskell en ruimt elke dag oude snapshots op. Deze file is identiek op beide machines, dus aanpassingen moeten gesynced worden.&lt;br /&gt;
*`/usr/local/bin/pullbackups` op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] pullt backups van Nikola en slaat deze op.&lt;br /&gt;
*`/usr/local/bin/cleanbackups`op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] ruimt oude snapshots op als de ruimte (2TB) vol dreigt te raken. Vol is &amp;gt;90%. Dit is een cron die elke 5 minuten checkt. Mocht er iets fout gaan zoals dat er bij het opruimen niet tenminste 1 volledige backup altijd bewaard blijft, dan mailt deze dit. Het gebeurd nog wel eens dat de nfs share van de universiteit eruit knalt, en dan flipt dit script ook.&lt;br /&gt;
&lt;br /&gt;
== WebCie: snapshots van de database ==&lt;br /&gt;
&lt;br /&gt;
Op de vm-www maakt een script automatisch elke 10 minuten een dump van de database. Een diff met de vorige db-dump wordt opgeslagen in het archief (&amp;lt;code&amp;gt;haskell:/srv/www/archief&amp;lt;/code&amp;gt;): vanaf de [[vm-www]] beschikbaar op &amp;lt;code&amp;gt;/archief/www/2018-08/07/whoswho4.2018-08-07_13_00.diff&amp;lt;/code&amp;gt; bijvoorbeeld. Ook wordt elke dag een volledige db-dump opgeslagen. Elke maand worden de volledige dumps en alle diffs samen gecomprimeerd. De dumps kun je gebruiken om per ongeluk gewiste data weer terug te zetten.&lt;br /&gt;
&lt;br /&gt;
=== Backup van binaire logs ===&lt;br /&gt;
&lt;br /&gt;
Omdat het diffprogramma soms te lang deed over het backuppen omdat de diffs heeeeeeeeel lang werden, gaan we de binaire logs gebruiken voor backups.&lt;br /&gt;
&lt;br /&gt;
Als je in de mysql-configuratie de optie log-bin aanzet, zal mysql alle updates aan de databases opschrijven in een logbestand. Dit kun je gebruiken voor [[replicatie]], of voor backups. Elke 10 minuten worden de logs geflusht en alle nieuwe bestanden gekopieerd naar het www-archief. Vervolgens worden de oude logbestanden weggegooid (zodat we niet de volledige geschiedenis steeds opnieuw overnemen). PAS OP: als je replicatie doet en een andere server is offline terwijl de logs worden weggegooid, kan die niet zomaar meer up-to-date komen! Zodra je weer replicatie wilt aanzetten (zoals [[Webcie-vm#Mariadb_en_replicatie|als je een nieuwe VM wilt maken]], moet je dus een goede oplossing hiervoor verzinnen. (Misschien: houd bij welke logbestanden al gekopieerd zijn en sla die over?)&lt;br /&gt;
&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/backup-methods.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/binary-log.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/point-in-time-recovery.html&lt;br /&gt;
&lt;br /&gt;
=== Encryptie van de backups ===&lt;br /&gt;
&lt;br /&gt;
Alle WebCie backups worden nu encrypted opgeslagen. De public key die hier voor gebruikt wordt is de &amp;quot;A-Eskwadraat Backup Service &amp;lt;webcie@a-eskwadraat.nl&amp;gt;&amp;quot; key. Deze public key staat geregistreerd in de keychain van de apache user op de vm-www2. Daarnaast is de public key te vinden in [deze](https://gitlab.com/iba-aes/webcie/website/snippets/1835239) Gitlab snippet. De private key wordt bewaard door het bestuur en de WebCie voorzitter. &lt;br /&gt;
&lt;br /&gt;
=== Decrypten van data ===&lt;br /&gt;
&lt;br /&gt;
Is het nodig om de data te decrypten? Volg het volgende stappenplan.&lt;br /&gt;
&lt;br /&gt;
* Vraag het bestuur/de WebCie voorzitter om de USB stick met de private key.&lt;br /&gt;
* Importeer de private key: `gpg --import &amp;lt;keynaam&amp;gt;`&lt;br /&gt;
* Decrypt de data: `gpg --output &amp;lt;outputfile&amp;gt; --decrypt &amp;lt;inputfile&amp;gt;`&lt;br /&gt;
* Verwijder de private key nadat je klaar bent: `gpg --delete-secret-key webcie@a-eskwadraat.nl`&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;br /&gt;
[[Category:WebCie]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup</id>
		<title>Backup</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup"/>
				<updated>2021-05-27T20:48:52Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Geregeld worden er '''backups''' gemaakt van een groot deel van het systeem. Hier vallen onder andere de home directories en virtuele machines onder. De WebCie heeft ook een grote hoeveelheid incrementele databasebackups.&lt;br /&gt;
&lt;br /&gt;
== Interne backups ==&lt;br /&gt;
&lt;br /&gt;
De interne backups zijn bedoeld om bestanden terug te kunnen halen die per ongeluk verwijderd zijn. Elke 4 uur, met middernacht als offset, wordt er een recursieve snapshot gemaakt van alle data. Deze 4 uurlijkse snapshots worden, op die van middernacht na, 2 dagen bewaard. De snapshots van middernacht worden standaard 2 weken bewaard, met enkele uitzonderingen zoals de home directories. Deze uitzonderingen plus hun retention tijd staan op haskell in `/etc/cron.daily/managesnapshot`.&lt;br /&gt;
&lt;br /&gt;
Deze 4 uurlijkse backups worden direct gesynced naar de on-site backup in de vorm van Nikola.&lt;br /&gt;
&lt;br /&gt;
Interne backups kunnen makkelijk teruggehaald worden. In het geval van een dataset is er in de root van deze dataset een onzichtbare map .zfs. In het geval van de home kan de staat van 20 november 2015 teruggevonden worden in `/srv/home/.zfs/snapshot/2015112000`. Dit kan alleen op haskell gedaan worden aangezien deze map niet bereikbaar is over NFS. Iets vergelijkbaars kan gedaan wordne met zvol's. Eerst moet echter de property snapdev op visible gezet worden in plaats van hidden en daarna zijn de snapshots van de zvols zichtbaar in `/dev`. Snapshots zijn read-only, dus als je een zvol probeert te mounten die dirty is, dan werkt dit niet als er ext4 op de zvol staat. Ext4 wil bij het recoveren namelijk schrijven, wat niet kan. In een dergelijke situatie kan het vaak handig zijn om een snapshot te klonen en dan te mounten. Met xfs is dit niet nodig.&lt;br /&gt;
&lt;br /&gt;
Momenteel worden backups van Stephen gemaakt met [https://github.com/psy0rz/zfs_autobackup ZFS Autobackup]. Deze worden kunnen ook naar Nikola gehaald worden met dit script. Hiervoor wordt er gebruik gemaakt van de flag: autobackup:stephen-backup-nikola. Op het moment van schrijven wordt de eerste backup op deze manier overgezet. Er is nog geen cronjob voor aangemaakt dit moet dus nog gebeuren.&lt;br /&gt;
&lt;br /&gt;
== Off-site backups ==&lt;br /&gt;
&lt;br /&gt;
We slaan de data ook off-site op bij de universiteit. Dit is een virtuele machine met de naam [[Claude|claude]]. Dit gebeurd vanaf Nikola(vroeger max), aangezien daar een 1:1 kopie staat van de data en op deze manier wordt haskell ontlast. De backups worden vanaf [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] gepulled vanaf Nikola en door Nikola eerst ge-gzipped en ge-encrypt, zodat de universiteit niet bij onze data kan. Naar [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] wordt elke eerste dag van de maand een complete kopie gedumped en voor de rest van de maand worden incrementele dumps gemaakt.&lt;br /&gt;
&lt;br /&gt;
== Relevante scripts ==&lt;br /&gt;
&lt;br /&gt;
De volgende scripts en crons die te maken hebben met backups zijn allemaal in gebruik.&lt;br /&gt;
&lt;br /&gt;
*`/usr/local/bin/backupscript` op Haskell maakt elke 4 uur (door `/etc/cron.d/autobackup`) een snapshot en stuurt deze direct naar Nikola.&lt;br /&gt;
*`/etc/cron.daily/cleansnapshots` draait op zowel Nikola als Haskell en ruimt elke dag oude snapshots op. Deze file is identiek op beide machines, dus aanpassingen moeten gesynced worden.&lt;br /&gt;
*`/usr/local/bin/pullbackups` op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] pullt backups van Nikola en slaat deze op.&lt;br /&gt;
*`/usr/local/bin/cleanbackups`op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] ruimt oude snapshots op als de ruimte (2TB) vol dreigt te raken. Vol is &amp;gt;90%. Dit is een cron die elke 5 minuten checkt. Mocht er iets fout gaan zoals dat er bij het opruimen niet tenminste 1 volledige backup altijd bewaard blijft, dan mailt deze dit. Het gebeurd nog wel eens dat de nfs share van de universiteit eruit knalt, en dan flipt dit script ook.&lt;br /&gt;
&lt;br /&gt;
== WebCie: snapshots van de database ==&lt;br /&gt;
&lt;br /&gt;
Op de vm-www maakt een script automatisch elke 10 minuten een dump van de database. Een diff met de vorige db-dump wordt opgeslagen in het archief (&amp;lt;code&amp;gt;haskell:/srv/www/archief&amp;lt;/code&amp;gt;): vanaf de [[vm-www]] beschikbaar op &amp;lt;code&amp;gt;/archief/www/2018-08/07/whoswho4.2018-08-07_13_00.diff&amp;lt;/code&amp;gt; bijvoorbeeld. Ook wordt elke dag een volledige db-dump opgeslagen. Elke maand worden de volledige dumps en alle diffs samen gecomprimeerd. De dumps kun je gebruiken om per ongeluk gewiste data weer terug te zetten.&lt;br /&gt;
&lt;br /&gt;
=== Backup van binaire logs ===&lt;br /&gt;
&lt;br /&gt;
Omdat het diffprogramma soms te lang deed over het backuppen omdat de diffs heeeeeeeeel lang werden, gaan we de binaire logs gebruiken voor backups.&lt;br /&gt;
&lt;br /&gt;
Als je in de mysql-configuratie de optie log-bin aanzet, zal mysql alle updates aan de databases opschrijven in een logbestand. Dit kun je gebruiken voor [[replicatie]], of voor backups. Elke 10 minuten worden de logs geflusht en alle nieuwe bestanden gekopieerd naar het www-archief. Vervolgens worden de oude logbestanden weggegooid (zodat we niet de volledige geschiedenis steeds opnieuw overnemen). PAS OP: als je replicatie doet en een andere server is offline terwijl de logs worden weggegooid, kan die niet zomaar meer up-to-date komen! Zodra je weer replicatie wilt aanzetten (zoals [[Webcie-vm#Mariadb_en_replicatie|als je een nieuwe VM wilt maken]], moet je dus een goede oplossing hiervoor verzinnen. (Misschien: houd bij welke logbestanden al gekopieerd zijn en sla die over?)&lt;br /&gt;
&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/backup-methods.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/binary-log.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/point-in-time-recovery.html&lt;br /&gt;
&lt;br /&gt;
=== Encryptie van de backups ===&lt;br /&gt;
&lt;br /&gt;
Alle WebCie backups worden nu encrypted opgeslagen. De public key die hier voor gebruikt wordt is de &amp;quot;A-Eskwadraat Backup Service &amp;lt;webcie@a-eskwadraat.nl&amp;gt;&amp;quot; key. Deze public key staat geregistreerd in de keychain van de apache user op de vm-www2. Daarnaast is de public key te vinden in [deze](https://gitlab.com/iba-aes/webcie/website/snippets/1835239) Gitlab snippet. De private key wordt bewaard door het bestuur en de WebCie voorzitter. &lt;br /&gt;
&lt;br /&gt;
=== Decrypten van data ===&lt;br /&gt;
&lt;br /&gt;
Is het nodig om de data te decrypten? Volg het volgende stappenplan.&lt;br /&gt;
&lt;br /&gt;
* Vraag het bestuur/de WebCie voorzitter om de USB stick met de private key.&lt;br /&gt;
* Importeer de private key: `gpg --import &amp;lt;keynaam&amp;gt;`&lt;br /&gt;
* Decrypt de data: `gpg --output &amp;lt;outputfile&amp;gt; --decrypt &amp;lt;inputfile&amp;gt;`&lt;br /&gt;
* Verwijder de private key nadat je klaar bent: `gpg --delete-secret-key webcie@a-eskwadraat.nl`&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;br /&gt;
[[Category:WebCie]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Intro_sysop</id>
		<title>Intro sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Intro_sysop"/>
				<updated>2021-05-17T20:08:47Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;De intro heeft een speciale map ''/home/cies/intromap'' gekregen in 2021, aangezien hun google drive map te groot werd. Hiervoor hebben we een speciale group aangemaakt in IPA, ''intromap''. Dit is dus geen complete cie, want het heeft geen email adres en dergelijke. De bedoeling van deze map is dat zodra er een nieuwe intro commissie is de nieuwe commissie hier toegang toe krijgt en de oude deze toegang kwijt raakt. Dit wordt gedaan door het commando ''ipa group-add-member'' uit te voeren en bij de group ''intromap'' in te vullen en bij de volgende vragen de naam van de nieuwste intro commissie. Hiermee wordt de hele intro commissie indirect lid van de intromap group op het systeem. &lt;br /&gt;
&lt;br /&gt;
Verwijderen van de oude commissie gaat met ''ipa group-remove-member''. &lt;br /&gt;
&lt;br /&gt;
Door deze structuur is het dus niet de bedoeling dat de intro gevoelige gegevens in deze map zet, aangezien die dan achter kunnen blijven.&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Intro_sysop</id>
		<title>Intro sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Intro_sysop"/>
				<updated>2021-05-17T20:06:22Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;De intro heeft een speciale map gekregen in 2021, aangezien hun google drive map te groot werd. Hiervoor hebben we een speciale group aangemaakt in IPA, ''intromap''. Dit is dus geen complete cie, want het heeft geen email adres en dergelijke. De bedoeling van deze map is dat zodra er een nieuwe intro commissie is de nieuwe commissie hier toegang toe krijgt en de oude deze toegang kwijt raakt. Dit wordt gedaan door het commando ''ipa group-add-member'' uit te voeren en bij de group ''intromap'' in te vullen en bij de volgende vragen de naam van de nieuwste intro commissie. Hiermee wordt de hele intro commissie indirect lid van de intromap group op het systeem. &lt;br /&gt;
&lt;br /&gt;
Verwijderen van de oude commissie gaat met ''ipa group-remove-member''. &lt;br /&gt;
&lt;br /&gt;
Door deze structuur is het dus niet de bedoeling dat de intro gevoelige gegevens in deze map zet, aangezien die dan achter kunnen blijven.&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Intro_sysop</id>
		<title>Intro sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Intro_sysop"/>
				<updated>2021-05-17T20:05:15Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: Created page with &amp;quot;De intro heeft een speciale map gekregen in 2021, aangezien hun google drive map te groot werd. Hiervoor hebben we een speciale group aangemaakt in IPA, ''intromap''. Dit is d...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;De intro heeft een speciale map gekregen in 2021, aangezien hun google drive map te groot werd. Hiervoor hebben we een speciale group aangemaakt in IPA, ''intromap''. Dit is dus geen complete cie, want het heeft geen email adres en dergelijke. De bedoeling van deze map is dat zodra er een nieuwe intro commissie is de nieuwe commissie hier toegang toe krijgt en de oude deze toegang kwijt raakt. Dit wordt gedaan door het commando ''ipa group-add-member'' uit te voeren en bij de group ''intromap'' in te vullen en bij de volgende vragen de naam van de nieuwste intro commissie. Hiermee wordt de hele intro commissie indirect lid van de intromap group op het systeem. &lt;br /&gt;
&lt;br /&gt;
Verwijderen van de oude commissie gaat met ''ipa group-remove-member''. &lt;br /&gt;
&lt;br /&gt;
Door deze structuur is het dus niet de bedoeling dat de intro gevoelige gegevens in deze map zet, aangezien die dan achter kunnen blijven.&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Mail</id>
		<title>Mail</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Mail"/>
				<updated>2021-05-17T19:06:13Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bij A–Eskwadraat gebruiken we '''Maildir''' voor de opslag van e-mail van gebruikers. We raden gebruikers aan om niet direct de Maildirmappen te benaderen, maar om dit via [http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol IMAP] of [http://www.washington.edu/alpine/ Alpine] te doen. De standaardconfiguratie van de meeste mailclients staat hier ook voor ingesteld.&lt;br /&gt;
Je kunt je mail bekijken op mail.a-eskwadraat.nl.&lt;br /&gt;
== Services ==&lt;br /&gt;
&lt;br /&gt;
Op [[Haskell|haskell]] draait de virtuele machine vm-mailpp (spreek uit: mail plus plus) om het mailverkeer van en naar A-Eskwadraat te regelen:&lt;br /&gt;
&lt;br /&gt;
*[http://www.postfix.org/ postfix] (''/etc/postfix/'') verwerkt in principe alle binnenkomende mails, en wat er waarheen doorgestuurd moet worden;&lt;br /&gt;
*[http://www.dovecot.org/ dovecot] (''/etc/dovecot/'') neemt de POP- en IMAP-servers voor zijn rekening en verzorgt authenticatie voor het versturen van mails;&lt;br /&gt;
*[https://www.amavis.org/ amavis] (''/etc/amavisd/'') geeft alle binnenkomende mails door aan SpamAssassin en ClamAV om gefilterd te worden;&lt;br /&gt;
*[http://spamassassin.apache.org/ SpamAssassin] (''/etc/mail/spamassassin/'') [[Mailfiltering|filtert]] de spam uit het binnenkomende mailverkeer;&lt;br /&gt;
*[http://http://www.clamav.net/lang/en/ ClamAV] (''/etc/clamd.d/'') scant het mailverkeer voor virussen en dergelijke;&lt;br /&gt;
*[https://roundcube.net/ RoundCube] (''/etc/roundcubemail/'', ''/usr/share/roundcubemail'') is een webmailclient die in een [https://www.apache.org/ apache] webserver op vm-mailpp draait;&lt;br /&gt;
*[http://www.list.org/ Mailman] (''/etc/mailman/'') Mailman is verantwoordelijk voor de mailing lists, zoals de BBCie-announce.&lt;br /&gt;
&lt;br /&gt;
== Naamgeving Maildirmappen ==&lt;br /&gt;
&lt;br /&gt;
Let op dat om voor dovecot begrijpbare namen te hebben, de mappen op in ''~/Maildir'' altijd met een punt moeten beginnen. Submappen werken ook op deze manier. Een paar voorbeelden:&lt;br /&gt;
&lt;br /&gt;
*''~/Maildir/.Intro/'' voor de IMAP-map ''Intro'';&lt;br /&gt;
*''~/Maildir/.Sysop.postmaster/'' voor de map ''postmaster'' als submap van ''Sysop''.&lt;br /&gt;
&lt;br /&gt;
Als de mappen via IMAP worden aangemaakt gebeurt dit automatisch.&lt;br /&gt;
&lt;br /&gt;
== Postfix ==&lt;br /&gt;
&lt;br /&gt;
Postfix is de SMTP server voor de vm-mailpp.&lt;br /&gt;
&lt;br /&gt;
Postfix gebruikt meerdere ports om mail te ontvangen en te verwerken. Mail die wordt gestuurd door leden moet naar de SMTP daemon op port 587 (''submission'' poort) worden gestuurd. Authenticatie en TLS encryptie zijn een vereiste op deze verbinding. In de toekomst zal de [[Router|Router]] de encryptie tussen client en mail-server regelen. Alle andere mail komt binnen op port 25. Spam- en virus-filtering gebeurd via de SMTP daemons op ports 10025 en 10027 voor onbekende en bekende mail, respectievelijk.&lt;br /&gt;
&lt;br /&gt;
In ''/etc/postfix/master.cf'' staat de configuratie van deze daemons. De configuratie in ''/etc/postfix/main.cf'' wordt gebruikt voor zaken die niet in ''master.cf'' zijn opgegeven; in principe staat hier de configuratie voor poort 25 en worden de opties specifiek voor de andere poorten opgegeven in ''master.cf''.&lt;br /&gt;
&lt;br /&gt;
Een bug/feature van postfix die slecht gedocumenteerd is, is als volgt: wanneer postfix langer dan 10 seconden duurt over het authentiseren van een email, wordt deze geweigerd met een verkeerde foutmelding: &amp;quot;535 5.7.8 Error: authentication failed: Connection lost to authentication server (SMTP AUTH failed with the remote server)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Transport ===&lt;br /&gt;
&lt;br /&gt;
Eerst checkt Postfix of de inkomende mail aan een lokaal mailadres is gestuurd. Welke domeinen als 'lokaal' worden bestempeld staat in ''/etc/postfix/domains/local''. Voor lokale mailadressen geldt, dat het domein in de verdere configuratie kan worden weggelaten.&amp;lt;br/&amp;gt;Daarna checkt Postfix of de inkomende mail naar een virtueel domein is gestuurd. Mailadressen van domeinen zoals turingslegacy.nl worden herschreven naar lokale mailadressen (zonder domeinnaam). De virtuele domeinen staan in ''/etc/postfix/domains/virtual''.&lt;br /&gt;
&lt;br /&gt;
De overblijvende adressen, worden opgezocht in de bestanden met aliases in /etc/postfix/aliases, om te zien of de mail toevallig naar een ander lokaal mailadres doorgestuurd moet worden. Postfix gebruikt hiervoor de bestanden in .db formaat, de tekstbestanden zonder extensie zijn voor ons als sysop leesbaar en te bewerken maar moeten wel met ''postalias'' in een .db bestand omgezet worden naar iedere wijziging. (Let op voor bestanden die ingedeeld zijn zoals het bestand virtual onder domains, moeten worden aangepast met het commando ''postmap &amp;lt;bestandsnaam&amp;gt;'')&amp;lt;br/&amp;gt;Als iemand dit vergeet na het aanpassen van een bestand met aliases, plaatst postfix een melding in ''/var/log/maillog'': &amp;quot;database file ''bestandsnaam''.db is older than source file ''bestandsnaam''&amp;quot;.&amp;lt;br/&amp;gt;Nu blijven er als het goed is, alleen gebruikersnamen over die op het systeem bestaan. Voor deze gebruikers wordt het bestand ''.forward'' in de homedirectory van de gebruiker opgezocht.&lt;br /&gt;
&lt;br /&gt;
Als in een ''.forward'' bestand de gebruikersnaam voorafgegaan door een backslash (\) wordt aangetroffen, wordt de mail in de Maildir map van die gebruiker geplaatst. Als een regel met een pipe (|) wordt aangetroffen, wordt het mailbericht doorgegeven als standard input aan het commando dat achter het |-teken staat. Andere regels met tekst worden geïnterpreteerd als mailadressen (lokaal zonder domeinnaam of willekeurig mailadres met domeinnaam) waarnaar de mail moet worden doorgestuurd.&amp;lt;br/&amp;gt;''Let op bij het gebruiken van de pipe (|): het kan zijn dat SELinux niet toestaat dat postfix een ander programma direct aanroept.''&lt;br /&gt;
&lt;br /&gt;
Als de mail niet bij een lokaal of virtueel adres hoort, checkt postfix of de inkomende mail is gestuurd naar een domein waarvoor A-Eskwadraat mail relayet. Deze mail word onveranderd naar de mailserver van dat domein verstuurd (relaying). Dit voorkomt verlies van mail voor het externe domein wanneer hun mailserver uitvalt, aangezien A-Eskwadraat de secondary mailserver is voor dat domein. Een uitzondering op de regel is mail bedoeld voor de webserver. Mail aan de webcie komt binnen op de mail server, maar moet worden doorgestuurd naar de webserver. De verwijzingen zijn te vinden in ''/etc/postfix/transport_www'' en ''/etc/postfix/transport_regex''.&lt;br /&gt;
&lt;br /&gt;
Let op dat deze uitleg heel erg bot is. Lees de relevante ''man'' pages van Postfix om te leren hoe mail word verwerkt. Let op dat veranderingen in een alias/transport/domain map niet worden opgemerkt tot het ''postmap'' of ''postalias'' op het bestand is aangeroepen!&lt;br /&gt;
&lt;br /&gt;
=== Mail Authorisatie ===&lt;br /&gt;
&lt;br /&gt;
Om te controleren of een gebruiker wel als een adres mag mailen wordt gebruik gemaakt van de smtpd_sender_login_maps optie voor postfix, die in een database de users opzoekt die als gegeven adres mogen versturen.&amp;amp;nbsp;Als er via SMTP een request gedaan wordt om van buitenaf een mail te versturen doet postfix een query en kijkt welke users als die alias mail mogen versturen. Deze config is op de vm-mailpp te vinden in `/etc/postfix/alias_auth.cf`.&lt;br /&gt;
&lt;br /&gt;
De database wordt gegenereerd door een python script die op de vm-sysop staat bij de sysop api, aangezien daar de mail aliases al staan voor de alias_check. Het python script, te vinden in `/var/www/html/api/python/mail-authorization.py`, loopt recursief langs alle users die in cies, bestuur, extern of iba zitten en kijkt daarnaast ook naar mail aliassen. Aan de hand hiervan wordt met een sql query alle transitieve relaties expliciet gemaakt, zodat dit niet runtime gedaan moet worden. Als een alias naar een cie wordt doorgestuurd, en een user weer in die cie zit, wil je dat die user ook als die alias mag mailen. Als database wordt PostgreSQL gebruikt op de vm-database. De database die gebruikt wordt heet &amp;quot;mail&amp;quot;. In de python code staan nog wat comments. Er draait op de vm-sysop een cron die af en toe de database refreshed. Daarnaast is het python script ook intern bereikbaar [http://vm-sysop.a-eskwadraat.nl/api/python/mail-authorization.py hier]. Bij het laden van deze pagina wordt de database gerefreshed. Op deze manier kan de database meteen gerefreshed worden zodra iemand toegevoegd is aan een cie. Als er in een alias een wildcard staat (*@bapc.eu: bapc), wat betekend dat alles van het domein bapc.eu naar de bapc commissie wordt gestuurd, wordt dit omgezet naar een SQL wildcard, wat uiteindelijk dus netjes werkt.&lt;br /&gt;
&lt;br /&gt;
Er is reeds voorgekomen dat de cache van mailpp niet verversd werd waardoor er geen permissions kwamen voor gebruikers.&lt;br /&gt;
&lt;br /&gt;
Als gebruiker x mag mailen als y@a-eskwadraat.nl, dan komen in de database de entries (x, y@a-eskwadraat.nl), (x@a-eskwadraat.nl, y) en (x@a-eskwadraat.nl, y@a-eskwadraat.nl) te staan. Dit omdat dingen soms worden opgevraagd met domain en soms zonder.&lt;br /&gt;
&lt;br /&gt;
=== Mailfiltering ===&lt;br /&gt;
&lt;br /&gt;
Postfix maakt gebruik van amavisd voor het filteren van de inkomende mail. Amavis is een interface voor SpamAssassin welke spam filtert en ClamAV welke mails op virussen scant. Check de configuratie op [[Vm-saltmaster|vm-saltmaster]] voor details.&lt;br /&gt;
&lt;br /&gt;
Om de virus database up te daten:&lt;br /&gt;
&amp;lt;pre&amp;gt;freshclam&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mailman ==&lt;br /&gt;
&lt;br /&gt;
Mailman is verantwoordelijk voor de infrastructuur van de mailing lists. De mailing lists zijn te vinden op [lists.a-eskwadraat.nl/mailman lists.a-eskwadraat.nl/mailman]. Er zijn twee belangrijke services om mailman te draaien: mailman en httpd. De configuratie van mailman bevind zich in ''/etc/mailman/'', de data bevind zich in ''/var/lib/mailman'', en de binaries bevinden zich in ''/usr/lib/mailman''.&lt;br /&gt;
&lt;br /&gt;
Gebruik de scripts in /usr/lib/mailman/bin om de mailing lists vanaf de command-line te wijzigen. De volgende commando's zijn belangrijk bij het debuggen / migreren van mailman:&lt;br /&gt;
&lt;br /&gt;
*check_perms: repareert de bestandsrechten van mailman-specifieke bestanden.&lt;br /&gt;
*with_list &amp;amp; fix_url: repareert de links van de mailman archieven indien deze zijn veranderd.&lt;br /&gt;
&lt;br /&gt;
Lees de [http://wiki.list.org/DOC/4.09%20Summary%20of%20the%20mailman%20bin%20commands MailmanWiki] voor een samenvatting van alle commands.&lt;br /&gt;
&lt;br /&gt;
Mailman werkt samen met de Postfix mailserver via de alias map ''/etc/mailman/aliases''. Voer het volgende commando uit na het toevoegen/verwijderen van een lijst zodat Postfix zijn alias database update:&lt;br /&gt;
&amp;lt;pre&amp;gt;postalias /etc/mailman/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Na een migratie van de mailman lijsten is het belangrijk om ''restorecon'' uit te voeren op ''/var/lib/mailman''. Mailman en SELinux werken prima samen zolang de rechten maar goed staan.&lt;br /&gt;
&amp;lt;pre&amp;gt;# Samenvatting van een Mailman migratie.&lt;br /&gt;
# Op de nieuwe mailserver.&lt;br /&gt;
rsync -azv -e &amp;quot;ssh -i &amp;lt;sshkey&amp;gt;&amp;quot; &amp;lt;OUDEHOST&amp;gt;:/var/lib/mailman/ /var/lib/mailman/&lt;br /&gt;
restorecon -r /var/lib/mailman/&lt;br /&gt;
cd /usr/lib/mailman/&lt;br /&gt;
bin/check_perms -f&lt;br /&gt;
bin/withlist -l -a -r fix_url&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dovecot ==&lt;br /&gt;
&lt;br /&gt;
Dovecot is de IMAP server verantwoordelijk voor het ophalen en beheren van de mail opgeslagen in de homedirs. Mail wordt opgeslagen in de .Maildir van een gebruik zijn home directory. De server luistert op poort 143 (standaard IMAP poort) en vereist een TLS-encrypted verbinding van de gebruiker. Het certificaat voor de verbinding is anders dan het certificaat van de webserver.&amp;amp;nbsp; Dovecot authenticeert gebruikers door middel van LDAP. Dovecot werkt ook als authenticatie-server voor postfix door middel van een open socket. Een SELinux module is vereist om Postfix toegang te geven tot de socket.&lt;br /&gt;
&lt;br /&gt;
Voor meer configuratie details, zie de configuratie op de salt-master. (CentOS 6: /srv/salt/centos/vm-mail/dovecot, CentOS 7: /srv/salt/centos7/dovecot)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AL DE CONFIGURATIE HIERONDER IS GIGANTISCH OUT OF DATE''' \/\/\/&lt;br /&gt;
&lt;br /&gt;
== Configuratie mailfilters ==&lt;br /&gt;
&lt;br /&gt;
Gebruik je een ''.forward'' of ''.procmailrc'' om e-mail direct in mappen te stoppen, let dan op de naamgeving (zie hierboven) en zorg ervoor dat de mappen altijd op een ''/'' eindigen. Begin je ''.procmailrc'' ook altijd met de regel&lt;br /&gt;
&lt;br /&gt;
 MAILDIR=$HOME/Maildir/&lt;br /&gt;
&lt;br /&gt;
om te zorgen dat e-mail toch niet in ''/var/mail'' terechtkomt.&lt;br /&gt;
&lt;br /&gt;
== Maak een mailserver met exim, en dovecot ==&lt;br /&gt;
&lt;br /&gt;
Zorg eerst dat sendmail uit staat!&lt;br /&gt;
&amp;lt;pre&amp;gt;service sendmail stop&lt;br /&gt;
chkconfig sendmail off&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bij voorkeur verwijder je ook de package voor [[Postfix|postfix]]. Deze is standaard bij CentOS geïnstalleerd.&lt;br /&gt;
&lt;br /&gt;
=== Exim ===&lt;br /&gt;
&lt;br /&gt;
Exim is een MTA (Mail Transfer Agent) en is ervoor om mailtjes te versturen, ontvangen, en doorsturen. Dit gebeurd uiteraard op de mailserver!&lt;br /&gt;
&lt;br /&gt;
Installeer allereerst exim op de host.&lt;br /&gt;
&amp;lt;pre&amp;gt;# yum install exim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verander vervolgens het configuratie bestand /etc/exim/exim.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Het Mail domain - normaal gesproken a-eskwadraat.nl&lt;br /&gt;
primary_hostname = circle.a-eskwadraat.nl&lt;br /&gt;
&lt;br /&gt;
# Weiger met ipv6 te werken.&lt;br /&gt;
local_interfaces = 0.0.0.0&lt;br /&gt;
disable_ipv6 = true&lt;br /&gt;
&lt;br /&gt;
daemon_smtp_ports = smtp&amp;amp;nbsp;: submission&lt;br /&gt;
accept_8bitmime = true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Lijsten van geldige mail domainin.&lt;br /&gt;
domainlist mailman_domains = CONFDIR/domains.mailman&lt;br /&gt;
domainlist local_domains = @&amp;amp;nbsp;: CONFDIR/domains.local&amp;amp;nbsp;: +mailman_domains&amp;amp;nbsp;: lsearch;CONFDIR/domains.virtual&lt;br /&gt;
domainlist relay_to_domains = CONFDIR/domains.relay&lt;br /&gt;
&lt;br /&gt;
hostlist relay_from_hosts = 10.14.3.0/22&lt;br /&gt;
&lt;br /&gt;
# Backup mail server in het geval dat onze niet werkt.&lt;br /&gt;
hostlist mx_hosts = mail.wolffelaar.nl&lt;br /&gt;
&lt;br /&gt;
qualify_domain = A-Eskwadraat.nl&lt;br /&gt;
&lt;br /&gt;
queue_run_max = 250&lt;br /&gt;
&lt;br /&gt;
smtp_accept_max = 100&lt;br /&gt;
smtp_accept_max_per_host = ${if match_ip{$sender_host_address}{+mx_hosts}{50}{10}}&lt;br /&gt;
&lt;br /&gt;
received_headers_max = 30&lt;br /&gt;
&lt;br /&gt;
RETRY_SECONDARY=F,90d,15m&lt;br /&gt;
RETRY_REST=F,2h,15m; G,16h,2h,1.5; F,4d,8h&lt;br /&gt;
&lt;br /&gt;
acl_smtp_rcpt = acl_check_rcpt&lt;br /&gt;
acl_not_smtp_start = acl_check_not_smtp&lt;br /&gt;
acl_smtp_data = acl_check_data&lt;br /&gt;
&lt;br /&gt;
host_lookup = *&lt;br /&gt;
helo_try_verify_hosts =&amp;amp;nbsp;!@&amp;amp;nbsp;:&amp;amp;nbsp;!@[]&lt;br /&gt;
helo_allow_chars = _&lt;br /&gt;
&lt;br /&gt;
# ClamAV - The Anti-Virus Scanner&lt;br /&gt;
av_scanner = clamd:/var/run/clamav/clamd.sock&lt;br /&gt;
&lt;br /&gt;
# Custom 5s limiet.&lt;br /&gt;
rfc1413_query_timeout = 5s&lt;br /&gt;
&lt;br /&gt;
# Mailman support, als per /usr/share/doc/mailman/README.EXIM.gz&lt;br /&gt;
MAILMAN_HOME=/var/lib/mailman&lt;br /&gt;
MAILMAN_WRAP=/usr/lib/mailman/mail/mailman&lt;br /&gt;
MAILMAN_USER=mailman&lt;br /&gt;
MAILMAN_GROUP=mailman&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dovecot ===&lt;br /&gt;
&lt;br /&gt;
Dovecot is een IMAP en POP3 server, wat inhoud dat het mailtjes kan ontvangen, iets wat best wel handig is om te hebben. Installeer dovecot op je mailserver als je dat nog niet gedaan hebt. Verander dan nu het volgende:&lt;br /&gt;
&lt;br /&gt;
In /etc/dovecot/dovecot.conf:&lt;br /&gt;
&lt;br /&gt;
*protocols = imap&lt;br /&gt;
*login_trusted_networks = &amp;amp;lt;ip-adressen die je vertrouwd&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
In /etc/dovecot/conf.d/10-mail.conf&lt;br /&gt;
&lt;br /&gt;
*mail_location = maildir:~/Maildir&lt;br /&gt;
*lock_method = dotlock&lt;br /&gt;
&lt;br /&gt;
In /etc/dovecot/conf.d/10-auth.conf&lt;br /&gt;
&lt;br /&gt;
*disable_plaintext_auth = no&lt;br /&gt;
*auth_realms = aeskwadraat&lt;br /&gt;
*auth_default_realm = aeskwadraat&lt;br /&gt;
*auth_gssapi_hostname = &amp;amp;lt;ipa-server&amp;amp;gt;&lt;br /&gt;
*auth_krb5_keytab = /etc/dovecot/krb5.keytab&lt;br /&gt;
*auth_mechanisms = plain gssapi&lt;br /&gt;
&lt;br /&gt;
en zet op het einde&lt;br /&gt;
&amp;lt;pre&amp;gt;userdb {&lt;br /&gt;
  driver = static&lt;br /&gt;
  args = uid=dovecot gid=dovecot home=/var/spool/mail/%u&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maak nu op de ipa-server een service imap aan met de mailserver als host. Dit kan je doen via de webinterface. Voer vervolgens het volgende uit op de mailserver:&lt;br /&gt;
&amp;lt;pre&amp;gt;kinit admin&lt;br /&gt;
ipa-getkeytab -s &amp;lt;ipa-server&amp;gt; -p imap/&amp;lt;mailserver&amp;gt; -k /etc/dovecot/krb5.keytab&lt;br /&gt;
chown root:dovecot /etc/dovecot/krb5.keytab&lt;br /&gt;
chmod 640 /etc/dovecot/krb5.keytab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart dovecot en zet hem standaard aan:&lt;br /&gt;
&amp;lt;pre&amp;gt;service dovecot restart&lt;br /&gt;
chkconfig dovecot on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zet tenslotte nog met system-config-firewall-tui 'imap over ssl' en 'mail (smtp)' aan, en voila! Je kan nu met ipa-users gebruik maken van IMAP om mailtjes te ontvangen!&lt;br /&gt;
&lt;br /&gt;
Je kan eventueel in /etc/postfix/main.cf en /etc/dovecot/conf.d/10-mail.conf nog het een ander van waar de mail wordt opgeslagen veranderen.&lt;br /&gt;
&lt;br /&gt;
=== Spamassassin ===&lt;br /&gt;
&lt;br /&gt;
Spamassassin is een mailfilteringprogramma voor spam. Om het te installeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install spamassassin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maak nu de user en group spamd aan:&lt;br /&gt;
&amp;lt;pre&amp;gt;groupadd -g 5001 spamd&lt;br /&gt;
useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd&lt;br /&gt;
mkdir /var/lib/spamassassin&lt;br /&gt;
chown spamd:spamd /var/lib/spamassassin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zet dan het volgende in /etc/mail/spamassassin/local.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;required_score 5.0&lt;br /&gt;
report_safe 0&lt;br /&gt;
rewrite_header Subject [***SPAM***]&lt;br /&gt;
&lt;br /&gt;
# Enable the Bayes system&lt;br /&gt;
use_bayes 1&lt;br /&gt;
use_bayes_rules 1&lt;br /&gt;
# Enable Bayes auto-learning&lt;br /&gt;
bayes_auto_learn 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verander nu in /etc/postfix/master.cf&lt;br /&gt;
&amp;lt;pre&amp;gt;smtp      inet  n       -       n       -       -       smtpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;pre&amp;gt;smtp      inet  n       -       n       -       -       smtpd -o content_filter=spamassassin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
en stop op het einde van master.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nu spamassassin en postfix:&lt;br /&gt;
&amp;lt;pre&amp;gt;chkconfig spamassassin on&lt;br /&gt;
service spamassassin restart&lt;br /&gt;
service postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aliases ===&lt;br /&gt;
&lt;br /&gt;
In postfix staan de locaties van de aliases in /etc/postfix/main.cf. Deze kan je vinden bij de regel 'alias_maps = ...'. Als je een nieuw aliasbestand wilt toevoegen, voeg dit dan ook toe bij deze regel als hash:&amp;amp;lt;bestandslocatie&amp;amp;gt;. Vergeet ook niet om dit toe te voegen bij alias_database!.&lt;br /&gt;
&lt;br /&gt;
De aliases zelf staan geconfigureerd in de aliasbestanden die te vinden zijn onder /etc/postfix/alias/. Als je een nieuwe alias in een bestand hebt gezet moet je het db-bestand up-to-date make door het commando 'postalias *bestand*' uitvoeren. Let erop dat de bestandsnaam de naam van het bestand is wat je gewijzigd hebt, niet een bestand met extensie '.db'.&lt;br /&gt;
&lt;br /&gt;
Op het moment van schrijven hebben we 4 alias bestanden (bestuur, cies, mensjes en standaard). Als je een alias toevoegt of veranderd doe je dit in het bijbehorende alias bestand (bestuur gerelateerde aliassen in &amp;quot;bestuur&amp;quot;, cies gerelateerde aliassen in &amp;quot;cies&amp;quot;, etc.).&lt;br /&gt;
&lt;br /&gt;
Als voorbeeld gaan we de alias sokken@a-eskwadraat aanmaken voor Michal en Rosanne. Dit is niet bestuur of cies gerelateerd dus zetten we deze alias in het bestand mensjes. Navigeer naar /etc/postfix/alias en open het bestand mensjes. Je begint met de alias gevolgd door een dubbele punt en dan A-eskwadraat gebruikersnaam(en) waarvoor de alias bedoeld is. In het geval van sokken@a-eskwadraat komt dat er dus als volgt uit te zien:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sokken: michalj, rosanne&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vervolgens moet deze wijziging nog in de database gezet worden dit gebeurt met: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;postalias mensjes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu gaan de mailtjes die binnenkomen op sokken@a-eskwadraat naar Michal en Rosanne!&lt;br /&gt;
&lt;br /&gt;
==== Lijst van alle forwards maken ====&lt;br /&gt;
&lt;br /&gt;
===== Stap 1 =====&lt;br /&gt;
&lt;br /&gt;
Maak een lijst die voor elke alias geeft waar het naar geforward wordt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;postalias -s [naam database bestand (zonder .db)]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Het onderstaande lijstje moeten we handmatig meenemen en is gebaseerd op de aliassen in het standaard.db bestand:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abuse:  postmaster&lt;br /&gt;
backup: root&lt;br /&gt;
hostmaster:     root&lt;br /&gt;
irc:    root&lt;br /&gt;
list:   root&lt;br /&gt;
listmaster:     root&lt;br /&gt;
logcheck:       root&lt;br /&gt;
postmaster:     sysop-postmaster, sysop&lt;br /&gt;
root:   sysop&lt;br /&gt;
selinux:        root&lt;br /&gt;
webmaster:      webcie&lt;br /&gt;
www-data:       webcie&lt;br /&gt;
mailer-daemon:  postmaster&lt;br /&gt;
mailman-owner:  listmaster&lt;br /&gt;
majordom:       root&lt;br /&gt;
uucp:   root&lt;br /&gt;
www-dmz:        webmaster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let op: Er zijn ook een soort aliassen in de /etc/mailman/ map, waarschijnlijk bedoeld voor mailing lists.&lt;br /&gt;
&lt;br /&gt;
Ook nog even kijken naar de aliasen in /etc/aliases.db&lt;br /&gt;
 &lt;br /&gt;
== Instellingen ==&lt;br /&gt;
&lt;br /&gt;
=== Postfix ===&lt;br /&gt;
&lt;br /&gt;
==== Mail relay ====&lt;br /&gt;
&lt;br /&gt;
Postfix kan mail relayen naar een extern domein. Hiervoor is de volgende regel:&lt;br /&gt;
&amp;lt;pre&amp;gt;relay_domains = $mydestination, hash:/etc/postfix/domains.relay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In het bestand /etc/postfix/domains.relay staat de lijst van alle externe domains waar mail naar toe gerelayed wordt. Als je iets in het bestand wijzigt, vergeet dan niet om daarna het commando&lt;br /&gt;
&amp;lt;pre&amp;gt;postmap /etc/postfix/domains.relay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uit te voeren.&lt;br /&gt;
&lt;br /&gt;
==== Whitelist ====&lt;br /&gt;
&lt;br /&gt;
Postfix kan gebruik maken van een whitelist. Zorg hiervoor dat er het volgende in /etc/postfix/main.cf staat:&lt;br /&gt;
&amp;lt;pre&amp;gt;smtpd_client_restrictions = check_client_access hash:/etc/postfix/client.access&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In het bestand /etc/postfix/client.access staat de lijst van alle domains die geweigerd en toegelaten worden. Als je hier iets in verandert, vergeet dan niet om uit te voeren&lt;br /&gt;
&amp;lt;pre&amp;gt;postmap /etc/postfix/access.client&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SquirrelMail ==&lt;br /&gt;
&lt;br /&gt;
SquirrelMail is een webmail-client.&lt;br /&gt;
&lt;br /&gt;
=== SquirrelMail installeren ===&lt;br /&gt;
&lt;br /&gt;
Installeer eerst natuurlijk Squirrelmail:&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install squirrelmail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zorg ervoor dat httpd standaard aan staat en start httpd:&lt;br /&gt;
&amp;lt;pre&amp;gt;chkconfig httpd on&lt;br /&gt;
service httpd start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verander nu het volgende in /etc/squirrelmail/config.php:&lt;br /&gt;
&amp;lt;pre&amp;gt;$org_name        = &amp;quot;A-Eskwadraat&amp;quot;;&lt;br /&gt;
$org_logo        = SM_PATH . 'images/sm_logo.png';&lt;br /&gt;
$org_logo_width  = '308';&lt;br /&gt;
$org_logo_height = '111';&lt;br /&gt;
$org_title       = 'A-Eskwadraat SquirrelMail $version&amp;quot;;&lt;br /&gt;
$signout_page    = 'vm-mail.a-eskwadraat.nl';&lt;br /&gt;
&lt;br /&gt;
$domain            = 'circle.a-eskwadraat.nl';&lt;br /&gt;
$imapServerAddress = 'localhost';&lt;br /&gt;
$useSendmail       = false;&lt;br /&gt;
$smtpServerAddress = 'localhost';&lt;br /&gt;
$pop_before_smtp   = false;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zet nu het A-Eskwadraat logo in de squirrelmail config map.&lt;br /&gt;
&amp;lt;pre&amp;gt;setsebool -P httpd_can_network_connect 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RoundcubeMail ==&lt;br /&gt;
&lt;br /&gt;
Roundcube is ook een webmail client.&lt;br /&gt;
&lt;br /&gt;
=== Installeren ===&lt;br /&gt;
&lt;br /&gt;
Op vm-salt-master staat een configuratie voor een Roundcube mail VM met een korte readme. Deze zorgt ervoor dat httpd, roundcubemail en mariadb geinstalleerd staan. Salt een VM met deze configuratie.&lt;br /&gt;
&amp;lt;pre&amp;gt;salt '$hostname' state.highstate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Laat vervolgens httpd van die VM door de firewall heen. Daarna moet de database voor Roundcube geinitialiseerd worden. Dit gaat met mysql.&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE DATABASE roundcubemail;&lt;br /&gt;
GRANT ALL PRIVILEGES on roundcubemail.* TO roundcube@localhost IDENTIFIED BY '$password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu moet de timezone nog even ingesteld worden in /etc/php.ini op de roundcube VM. Daarna moeten er nog de juiste tables in de database worden gezet. Dit kan door op de nieuwe VM de bestanden in /etc/roundcubemail/databasefiles te runnen met mysql.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql roundcubemail &amp;lt; mysql.initial.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Mail</id>
		<title>Mail</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Mail"/>
				<updated>2021-05-17T19:05:29Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bij A–Eskwadraat gebruiken we '''Maildir''' voor de opslag van e-mail van gebruikers. We raden gebruikers aan om niet direct de Maildirmappen te benaderen, maar om dit via [http://en.wikipedia.org/wiki/Internet_Message_Access_Protocol IMAP] of [http://www.washington.edu/alpine/ Alpine] te doen. De standaardconfiguratie van de meeste mailclients staat hier ook voor ingesteld.&lt;br /&gt;
Je kunt je mail bekijken op mail.a-eskwadraat.nl.&lt;br /&gt;
== Services ==&lt;br /&gt;
&lt;br /&gt;
Op [[Haskell|haskell]] draait de virtuele machine vm-mailpp (spreek uit: mail plus plus) om het mailverkeer van en naar A-Eskwadraat te regelen:&lt;br /&gt;
&lt;br /&gt;
*[http://www.postfix.org/ postfix] (''/etc/postfix/'') verwerkt in principe alle binnenkomende mails, en wat er waarheen doorgestuurd moet worden;&lt;br /&gt;
*[http://www.dovecot.org/ dovecot] (''/etc/dovecot/'') neemt de POP- en IMAP-servers voor zijn rekening en verzorgt authenticatie voor het versturen van mails;&lt;br /&gt;
*[https://www.amavis.org/ amavis] (''/etc/amavisd/'') geeft alle binnenkomende mails door aan SpamAssassin en ClamAV om gefilterd te worden;&lt;br /&gt;
*[http://spamassassin.apache.org/ SpamAssassin] (''/etc/mail/spamassassin/'') [[Mailfiltering|filtert]] de spam uit het binnenkomende mailverkeer;&lt;br /&gt;
*[http://http://www.clamav.net/lang/en/ ClamAV] (''/etc/clamd.d/'') scant het mailverkeer voor virussen en dergelijke;&lt;br /&gt;
*[https://roundcube.net/ RoundCube] (''/etc/roundcubemail/'', ''/usr/share/roundcubemail'') is een webmailclient die in een [https://www.apache.org/ apache] webserver op vm-mailpp draait;&lt;br /&gt;
*[http://www.list.org/ Mailman] (''/etc/mailman/'') Mailman is verantwoordelijk voor de mailing lists, zoals de BBCie-announce.&lt;br /&gt;
&lt;br /&gt;
== Naamgeving Maildirmappen ==&lt;br /&gt;
&lt;br /&gt;
Let op dat om voor dovecot begrijpbare namen te hebben, de mappen op in ''~/Maildir'' altijd met een punt moeten beginnen. Submappen werken ook op deze manier. Een paar voorbeelden:&lt;br /&gt;
&lt;br /&gt;
*''~/Maildir/.Intro/'' voor de IMAP-map ''Intro'';&lt;br /&gt;
*''~/Maildir/.Sysop.postmaster/'' voor de map ''postmaster'' als submap van ''Sysop''.&lt;br /&gt;
&lt;br /&gt;
Als de mappen via IMAP worden aangemaakt gebeurt dit automatisch.&lt;br /&gt;
&lt;br /&gt;
== Postfix ==&lt;br /&gt;
&lt;br /&gt;
Postfix is de SMTP server voor de vm-mailpp.&lt;br /&gt;
&lt;br /&gt;
Postfix gebruikt meerdere ports om mail te ontvangen en te verwerken. Mail die wordt gestuurd door leden moet naar de SMTP daemon op port 587 (''submission'' poort) worden gestuurd. Authenticatie en TLS encryptie zijn een vereiste op deze verbinding. In de toekomst zal de [[Router|Router]] de encryptie tussen client en mail-server regelen. Alle andere mail komt binnen op port 25. Spam- en virus-filtering gebeurd via de SMTP daemons op ports 10025 en 10027 voor onbekende en bekende mail, respectievelijk.&lt;br /&gt;
&lt;br /&gt;
In ''/etc/postfix/master.cf'' staat de configuratie van deze daemons. De configuratie in ''/etc/postfix/main.cf'' wordt gebruikt voor zaken die niet in ''master.cf'' zijn opgegeven; in principe staat hier de configuratie voor poort 25 en worden de opties specifiek voor de andere poorten opgegeven in ''master.cf''.&lt;br /&gt;
&lt;br /&gt;
Een bug/feature van postfix die slecht gedocumenteerd is, is als volgt: wanneer postfix langer dan 10 seconden duurt over het authentiseren van een email, wordt deze geweigerd met een verkeerde foutmelding: &amp;quot;535 5.7.8 Error: authentication failed: Connection lost to authentication server (SMTP AUTH failed with the remote server)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Transport ===&lt;br /&gt;
&lt;br /&gt;
Eerst checkt Postfix of de inkomende mail aan een lokaal mailadres is gestuurd. Welke domeinen als 'lokaal' worden bestempeld staat in ''/etc/postfix/domains/local''. Voor lokale mailadressen geldt, dat het domein in de verdere configuratie kan worden weggelaten.&amp;lt;br/&amp;gt;Daarna checkt Postfix of de inkomende mail naar een virtueel domein is gestuurd. Mailadressen van domeinen zoals turingslegacy.nl worden herschreven naar lokale mailadressen (zonder domeinnaam). De virtuele domeinen staan in ''/etc/postfix/domains/virtual''.&lt;br /&gt;
&lt;br /&gt;
De overblijvende adressen, worden opgezocht in de bestanden met aliases in /etc/postfix/aliases, om te zien of de mail toevallig naar een ander lokaal mailadres doorgestuurd moet worden. Postfix gebruikt hiervoor de bestanden in .db formaat, de tekstbestanden zonder extensie zijn voor ons als sysop leesbaar en te bewerken maar moeten wel met ''postalias'' in een .db bestand omgezet worden naar iedere wijziging. (Let op voor bestanden die ingedeeld zijn zoals het bestand virtual onder domains moeten worden aangepast met het commando ''postmap &amp;lt;bestandsnaam&amp;gt;'')&amp;lt;br/&amp;gt;Als iemand dit vergeet na het aanpassen van een bestand met aliases, plaatst postfix een melding in ''/var/log/maillog'': &amp;quot;database file ''bestandsnaam''.db is older than source file ''bestandsnaam''&amp;quot;.&amp;lt;br/&amp;gt;Nu blijven er als het goed is, alleen gebruikersnamen over die op het systeem bestaan. Voor deze gebruikers wordt het bestand ''.forward'' in de homedirectory van de gebruiker opgezocht.&lt;br /&gt;
&lt;br /&gt;
Als in een ''.forward'' bestand de gebruikersnaam voorafgegaan door een backslash (\) wordt aangetroffen, wordt de mail in de Maildir map van die gebruiker geplaatst. Als een regel met een pipe (|) wordt aangetroffen, wordt het mailbericht doorgegeven als standard input aan het commando dat achter het |-teken staat. Andere regels met tekst worden geïnterpreteerd als mailadressen (lokaal zonder domeinnaam of willekeurig mailadres met domeinnaam) waarnaar de mail moet worden doorgestuurd.&amp;lt;br/&amp;gt;''Let op bij het gebruiken van de pipe (|): het kan zijn dat SELinux niet toestaat dat postfix een ander programma direct aanroept.''&lt;br /&gt;
&lt;br /&gt;
Als de mail niet bij een lokaal of virtueel adres hoort, checkt postfix of de inkomende mail is gestuurd naar een domein waarvoor A-Eskwadraat mail relayet. Deze mail word onveranderd naar de mailserver van dat domein verstuurd (relaying). Dit voorkomt verlies van mail voor het externe domein wanneer hun mailserver uitvalt, aangezien A-Eskwadraat de secondary mailserver is voor dat domein. Een uitzondering op de regel is mail bedoeld voor de webserver. Mail aan de webcie komt binnen op de mail server, maar moet worden doorgestuurd naar de webserver. De verwijzingen zijn te vinden in ''/etc/postfix/transport_www'' en ''/etc/postfix/transport_regex''.&lt;br /&gt;
&lt;br /&gt;
Let op dat deze uitleg heel erg bot is. Lees de relevante ''man'' pages van Postfix om te leren hoe mail word verwerkt. Let op dat veranderingen in een alias/transport/domain map niet worden opgemerkt tot het ''postmap'' of ''postalias'' op het bestand is aangeroepen!&lt;br /&gt;
&lt;br /&gt;
=== Mail Authorisatie ===&lt;br /&gt;
&lt;br /&gt;
Om te controleren of een gebruiker wel als een adres mag mailen wordt gebruik gemaakt van de smtpd_sender_login_maps optie voor postfix, die in een database de users opzoekt die als gegeven adres mogen versturen.&amp;amp;nbsp;Als er via SMTP een request gedaan wordt om van buitenaf een mail te versturen doet postfix een query en kijkt welke users als die alias mail mogen versturen. Deze config is op de vm-mailpp te vinden in `/etc/postfix/alias_auth.cf`.&lt;br /&gt;
&lt;br /&gt;
De database wordt gegenereerd door een python script die op de vm-sysop staat bij de sysop api, aangezien daar de mail aliases al staan voor de alias_check. Het python script, te vinden in `/var/www/html/api/python/mail-authorization.py`, loopt recursief langs alle users die in cies, bestuur, extern of iba zitten en kijkt daarnaast ook naar mail aliassen. Aan de hand hiervan wordt met een sql query alle transitieve relaties expliciet gemaakt, zodat dit niet runtime gedaan moet worden. Als een alias naar een cie wordt doorgestuurd, en een user weer in die cie zit, wil je dat die user ook als die alias mag mailen. Als database wordt PostgreSQL gebruikt op de vm-database. De database die gebruikt wordt heet &amp;quot;mail&amp;quot;. In de python code staan nog wat comments. Er draait op de vm-sysop een cron die af en toe de database refreshed. Daarnaast is het python script ook intern bereikbaar [http://vm-sysop.a-eskwadraat.nl/api/python/mail-authorization.py hier]. Bij het laden van deze pagina wordt de database gerefreshed. Op deze manier kan de database meteen gerefreshed worden zodra iemand toegevoegd is aan een cie. Als er in een alias een wildcard staat (*@bapc.eu: bapc), wat betekend dat alles van het domein bapc.eu naar de bapc commissie wordt gestuurd, wordt dit omgezet naar een SQL wildcard, wat uiteindelijk dus netjes werkt.&lt;br /&gt;
&lt;br /&gt;
Er is reeds voorgekomen dat de cache van mailpp niet verversd werd waardoor er geen permissions kwamen voor gebruikers.&lt;br /&gt;
&lt;br /&gt;
Als gebruiker x mag mailen als y@a-eskwadraat.nl, dan komen in de database de entries (x, y@a-eskwadraat.nl), (x@a-eskwadraat.nl, y) en (x@a-eskwadraat.nl, y@a-eskwadraat.nl) te staan. Dit omdat dingen soms worden opgevraagd met domain en soms zonder.&lt;br /&gt;
&lt;br /&gt;
=== Mailfiltering ===&lt;br /&gt;
&lt;br /&gt;
Postfix maakt gebruik van amavisd voor het filteren van de inkomende mail. Amavis is een interface voor SpamAssassin welke spam filtert en ClamAV welke mails op virussen scant. Check de configuratie op [[Vm-saltmaster|vm-saltmaster]] voor details.&lt;br /&gt;
&lt;br /&gt;
Om de virus database up te daten:&lt;br /&gt;
&amp;lt;pre&amp;gt;freshclam&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mailman ==&lt;br /&gt;
&lt;br /&gt;
Mailman is verantwoordelijk voor de infrastructuur van de mailing lists. De mailing lists zijn te vinden op [lists.a-eskwadraat.nl/mailman lists.a-eskwadraat.nl/mailman]. Er zijn twee belangrijke services om mailman te draaien: mailman en httpd. De configuratie van mailman bevind zich in ''/etc/mailman/'', de data bevind zich in ''/var/lib/mailman'', en de binaries bevinden zich in ''/usr/lib/mailman''.&lt;br /&gt;
&lt;br /&gt;
Gebruik de scripts in /usr/lib/mailman/bin om de mailing lists vanaf de command-line te wijzigen. De volgende commando's zijn belangrijk bij het debuggen / migreren van mailman:&lt;br /&gt;
&lt;br /&gt;
*check_perms: repareert de bestandsrechten van mailman-specifieke bestanden.&lt;br /&gt;
*with_list &amp;amp; fix_url: repareert de links van de mailman archieven indien deze zijn veranderd.&lt;br /&gt;
&lt;br /&gt;
Lees de [http://wiki.list.org/DOC/4.09%20Summary%20of%20the%20mailman%20bin%20commands MailmanWiki] voor een samenvatting van alle commands.&lt;br /&gt;
&lt;br /&gt;
Mailman werkt samen met de Postfix mailserver via de alias map ''/etc/mailman/aliases''. Voer het volgende commando uit na het toevoegen/verwijderen van een lijst zodat Postfix zijn alias database update:&lt;br /&gt;
&amp;lt;pre&amp;gt;postalias /etc/mailman/aliases&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Na een migratie van de mailman lijsten is het belangrijk om ''restorecon'' uit te voeren op ''/var/lib/mailman''. Mailman en SELinux werken prima samen zolang de rechten maar goed staan.&lt;br /&gt;
&amp;lt;pre&amp;gt;# Samenvatting van een Mailman migratie.&lt;br /&gt;
# Op de nieuwe mailserver.&lt;br /&gt;
rsync -azv -e &amp;quot;ssh -i &amp;lt;sshkey&amp;gt;&amp;quot; &amp;lt;OUDEHOST&amp;gt;:/var/lib/mailman/ /var/lib/mailman/&lt;br /&gt;
restorecon -r /var/lib/mailman/&lt;br /&gt;
cd /usr/lib/mailman/&lt;br /&gt;
bin/check_perms -f&lt;br /&gt;
bin/withlist -l -a -r fix_url&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dovecot ==&lt;br /&gt;
&lt;br /&gt;
Dovecot is de IMAP server verantwoordelijk voor het ophalen en beheren van de mail opgeslagen in de homedirs. Mail wordt opgeslagen in de .Maildir van een gebruik zijn home directory. De server luistert op poort 143 (standaard IMAP poort) en vereist een TLS-encrypted verbinding van de gebruiker. Het certificaat voor de verbinding is anders dan het certificaat van de webserver.&amp;amp;nbsp; Dovecot authenticeert gebruikers door middel van LDAP. Dovecot werkt ook als authenticatie-server voor postfix door middel van een open socket. Een SELinux module is vereist om Postfix toegang te geven tot de socket.&lt;br /&gt;
&lt;br /&gt;
Voor meer configuratie details, zie de configuratie op de salt-master. (CentOS 6: /srv/salt/centos/vm-mail/dovecot, CentOS 7: /srv/salt/centos7/dovecot)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''AL DE CONFIGURATIE HIERONDER IS GIGANTISCH OUT OF DATE''' \/\/\/&lt;br /&gt;
&lt;br /&gt;
== Configuratie mailfilters ==&lt;br /&gt;
&lt;br /&gt;
Gebruik je een ''.forward'' of ''.procmailrc'' om e-mail direct in mappen te stoppen, let dan op de naamgeving (zie hierboven) en zorg ervoor dat de mappen altijd op een ''/'' eindigen. Begin je ''.procmailrc'' ook altijd met de regel&lt;br /&gt;
&lt;br /&gt;
 MAILDIR=$HOME/Maildir/&lt;br /&gt;
&lt;br /&gt;
om te zorgen dat e-mail toch niet in ''/var/mail'' terechtkomt.&lt;br /&gt;
&lt;br /&gt;
== Maak een mailserver met exim, en dovecot ==&lt;br /&gt;
&lt;br /&gt;
Zorg eerst dat sendmail uit staat!&lt;br /&gt;
&amp;lt;pre&amp;gt;service sendmail stop&lt;br /&gt;
chkconfig sendmail off&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bij voorkeur verwijder je ook de package voor [[Postfix|postfix]]. Deze is standaard bij CentOS geïnstalleerd.&lt;br /&gt;
&lt;br /&gt;
=== Exim ===&lt;br /&gt;
&lt;br /&gt;
Exim is een MTA (Mail Transfer Agent) en is ervoor om mailtjes te versturen, ontvangen, en doorsturen. Dit gebeurd uiteraard op de mailserver!&lt;br /&gt;
&lt;br /&gt;
Installeer allereerst exim op de host.&lt;br /&gt;
&amp;lt;pre&amp;gt;# yum install exim&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verander vervolgens het configuratie bestand /etc/exim/exim.conf:&lt;br /&gt;
&amp;lt;pre&amp;gt;# Het Mail domain - normaal gesproken a-eskwadraat.nl&lt;br /&gt;
primary_hostname = circle.a-eskwadraat.nl&lt;br /&gt;
&lt;br /&gt;
# Weiger met ipv6 te werken.&lt;br /&gt;
local_interfaces = 0.0.0.0&lt;br /&gt;
disable_ipv6 = true&lt;br /&gt;
&lt;br /&gt;
daemon_smtp_ports = smtp&amp;amp;nbsp;: submission&lt;br /&gt;
accept_8bitmime = true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Lijsten van geldige mail domainin.&lt;br /&gt;
domainlist mailman_domains = CONFDIR/domains.mailman&lt;br /&gt;
domainlist local_domains = @&amp;amp;nbsp;: CONFDIR/domains.local&amp;amp;nbsp;: +mailman_domains&amp;amp;nbsp;: lsearch;CONFDIR/domains.virtual&lt;br /&gt;
domainlist relay_to_domains = CONFDIR/domains.relay&lt;br /&gt;
&lt;br /&gt;
hostlist relay_from_hosts = 10.14.3.0/22&lt;br /&gt;
&lt;br /&gt;
# Backup mail server in het geval dat onze niet werkt.&lt;br /&gt;
hostlist mx_hosts = mail.wolffelaar.nl&lt;br /&gt;
&lt;br /&gt;
qualify_domain = A-Eskwadraat.nl&lt;br /&gt;
&lt;br /&gt;
queue_run_max = 250&lt;br /&gt;
&lt;br /&gt;
smtp_accept_max = 100&lt;br /&gt;
smtp_accept_max_per_host = ${if match_ip{$sender_host_address}{+mx_hosts}{50}{10}}&lt;br /&gt;
&lt;br /&gt;
received_headers_max = 30&lt;br /&gt;
&lt;br /&gt;
RETRY_SECONDARY=F,90d,15m&lt;br /&gt;
RETRY_REST=F,2h,15m; G,16h,2h,1.5; F,4d,8h&lt;br /&gt;
&lt;br /&gt;
acl_smtp_rcpt = acl_check_rcpt&lt;br /&gt;
acl_not_smtp_start = acl_check_not_smtp&lt;br /&gt;
acl_smtp_data = acl_check_data&lt;br /&gt;
&lt;br /&gt;
host_lookup = *&lt;br /&gt;
helo_try_verify_hosts =&amp;amp;nbsp;!@&amp;amp;nbsp;:&amp;amp;nbsp;!@[]&lt;br /&gt;
helo_allow_chars = _&lt;br /&gt;
&lt;br /&gt;
# ClamAV - The Anti-Virus Scanner&lt;br /&gt;
av_scanner = clamd:/var/run/clamav/clamd.sock&lt;br /&gt;
&lt;br /&gt;
# Custom 5s limiet.&lt;br /&gt;
rfc1413_query_timeout = 5s&lt;br /&gt;
&lt;br /&gt;
# Mailman support, als per /usr/share/doc/mailman/README.EXIM.gz&lt;br /&gt;
MAILMAN_HOME=/var/lib/mailman&lt;br /&gt;
MAILMAN_WRAP=/usr/lib/mailman/mail/mailman&lt;br /&gt;
MAILMAN_USER=mailman&lt;br /&gt;
MAILMAN_GROUP=mailman&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dovecot ===&lt;br /&gt;
&lt;br /&gt;
Dovecot is een IMAP en POP3 server, wat inhoud dat het mailtjes kan ontvangen, iets wat best wel handig is om te hebben. Installeer dovecot op je mailserver als je dat nog niet gedaan hebt. Verander dan nu het volgende:&lt;br /&gt;
&lt;br /&gt;
In /etc/dovecot/dovecot.conf:&lt;br /&gt;
&lt;br /&gt;
*protocols = imap&lt;br /&gt;
*login_trusted_networks = &amp;amp;lt;ip-adressen die je vertrouwd&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
In /etc/dovecot/conf.d/10-mail.conf&lt;br /&gt;
&lt;br /&gt;
*mail_location = maildir:~/Maildir&lt;br /&gt;
*lock_method = dotlock&lt;br /&gt;
&lt;br /&gt;
In /etc/dovecot/conf.d/10-auth.conf&lt;br /&gt;
&lt;br /&gt;
*disable_plaintext_auth = no&lt;br /&gt;
*auth_realms = aeskwadraat&lt;br /&gt;
*auth_default_realm = aeskwadraat&lt;br /&gt;
*auth_gssapi_hostname = &amp;amp;lt;ipa-server&amp;amp;gt;&lt;br /&gt;
*auth_krb5_keytab = /etc/dovecot/krb5.keytab&lt;br /&gt;
*auth_mechanisms = plain gssapi&lt;br /&gt;
&lt;br /&gt;
en zet op het einde&lt;br /&gt;
&amp;lt;pre&amp;gt;userdb {&lt;br /&gt;
  driver = static&lt;br /&gt;
  args = uid=dovecot gid=dovecot home=/var/spool/mail/%u&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maak nu op de ipa-server een service imap aan met de mailserver als host. Dit kan je doen via de webinterface. Voer vervolgens het volgende uit op de mailserver:&lt;br /&gt;
&amp;lt;pre&amp;gt;kinit admin&lt;br /&gt;
ipa-getkeytab -s &amp;lt;ipa-server&amp;gt; -p imap/&amp;lt;mailserver&amp;gt; -k /etc/dovecot/krb5.keytab&lt;br /&gt;
chown root:dovecot /etc/dovecot/krb5.keytab&lt;br /&gt;
chmod 640 /etc/dovecot/krb5.keytab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart dovecot en zet hem standaard aan:&lt;br /&gt;
&amp;lt;pre&amp;gt;service dovecot restart&lt;br /&gt;
chkconfig dovecot on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zet tenslotte nog met system-config-firewall-tui 'imap over ssl' en 'mail (smtp)' aan, en voila! Je kan nu met ipa-users gebruik maken van IMAP om mailtjes te ontvangen!&lt;br /&gt;
&lt;br /&gt;
Je kan eventueel in /etc/postfix/main.cf en /etc/dovecot/conf.d/10-mail.conf nog het een ander van waar de mail wordt opgeslagen veranderen.&lt;br /&gt;
&lt;br /&gt;
=== Spamassassin ===&lt;br /&gt;
&lt;br /&gt;
Spamassassin is een mailfilteringprogramma voor spam. Om het te installeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install spamassassin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maak nu de user en group spamd aan:&lt;br /&gt;
&amp;lt;pre&amp;gt;groupadd -g 5001 spamd&lt;br /&gt;
useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd&lt;br /&gt;
mkdir /var/lib/spamassassin&lt;br /&gt;
chown spamd:spamd /var/lib/spamassassin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zet dan het volgende in /etc/mail/spamassassin/local.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;required_score 5.0&lt;br /&gt;
report_safe 0&lt;br /&gt;
rewrite_header Subject [***SPAM***]&lt;br /&gt;
&lt;br /&gt;
# Enable the Bayes system&lt;br /&gt;
use_bayes 1&lt;br /&gt;
use_bayes_rules 1&lt;br /&gt;
# Enable Bayes auto-learning&lt;br /&gt;
bayes_auto_learn 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verander nu in /etc/postfix/master.cf&lt;br /&gt;
&amp;lt;pre&amp;gt;smtp      inet  n       -       n       -       -       smtpd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in&lt;br /&gt;
&amp;lt;pre&amp;gt;smtp      inet  n       -       n       -       -       smtpd -o content_filter=spamassassin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
en stop op het einde van master.cf:&lt;br /&gt;
&amp;lt;pre&amp;gt;spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Restart nu spamassassin en postfix:&lt;br /&gt;
&amp;lt;pre&amp;gt;chkconfig spamassassin on&lt;br /&gt;
service spamassassin restart&lt;br /&gt;
service postfix restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Aliases ===&lt;br /&gt;
&lt;br /&gt;
In postfix staan de locaties van de aliases in /etc/postfix/main.cf. Deze kan je vinden bij de regel 'alias_maps = ...'. Als je een nieuw aliasbestand wilt toevoegen, voeg dit dan ook toe bij deze regel als hash:&amp;amp;lt;bestandslocatie&amp;amp;gt;. Vergeet ook niet om dit toe te voegen bij alias_database!.&lt;br /&gt;
&lt;br /&gt;
De aliases zelf staan geconfigureerd in de aliasbestanden die te vinden zijn onder /etc/postfix/alias/. Als je een nieuwe alias in een bestand hebt gezet moet je het db-bestand up-to-date make door het commando 'postalias *bestand*' uitvoeren. Let erop dat de bestandsnaam de naam van het bestand is wat je gewijzigd hebt, niet een bestand met extensie '.db'.&lt;br /&gt;
&lt;br /&gt;
Op het moment van schrijven hebben we 4 alias bestanden (bestuur, cies, mensjes en standaard). Als je een alias toevoegt of veranderd doe je dit in het bijbehorende alias bestand (bestuur gerelateerde aliassen in &amp;quot;bestuur&amp;quot;, cies gerelateerde aliassen in &amp;quot;cies&amp;quot;, etc.).&lt;br /&gt;
&lt;br /&gt;
Als voorbeeld gaan we de alias sokken@a-eskwadraat aanmaken voor Michal en Rosanne. Dit is niet bestuur of cies gerelateerd dus zetten we deze alias in het bestand mensjes. Navigeer naar /etc/postfix/alias en open het bestand mensjes. Je begint met de alias gevolgd door een dubbele punt en dan A-eskwadraat gebruikersnaam(en) waarvoor de alias bedoeld is. In het geval van sokken@a-eskwadraat komt dat er dus als volgt uit te zien:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;sokken: michalj, rosanne&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vervolgens moet deze wijziging nog in de database gezet worden dit gebeurt met: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;postalias mensjes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu gaan de mailtjes die binnenkomen op sokken@a-eskwadraat naar Michal en Rosanne!&lt;br /&gt;
&lt;br /&gt;
==== Lijst van alle forwards maken ====&lt;br /&gt;
&lt;br /&gt;
===== Stap 1 =====&lt;br /&gt;
&lt;br /&gt;
Maak een lijst die voor elke alias geeft waar het naar geforward wordt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;postalias -s [naam database bestand (zonder .db)]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Het onderstaande lijstje moeten we handmatig meenemen en is gebaseerd op de aliassen in het standaard.db bestand:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abuse:  postmaster&lt;br /&gt;
backup: root&lt;br /&gt;
hostmaster:     root&lt;br /&gt;
irc:    root&lt;br /&gt;
list:   root&lt;br /&gt;
listmaster:     root&lt;br /&gt;
logcheck:       root&lt;br /&gt;
postmaster:     sysop-postmaster, sysop&lt;br /&gt;
root:   sysop&lt;br /&gt;
selinux:        root&lt;br /&gt;
webmaster:      webcie&lt;br /&gt;
www-data:       webcie&lt;br /&gt;
mailer-daemon:  postmaster&lt;br /&gt;
mailman-owner:  listmaster&lt;br /&gt;
majordom:       root&lt;br /&gt;
uucp:   root&lt;br /&gt;
www-dmz:        webmaster&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Let op: Er zijn ook een soort aliassen in de /etc/mailman/ map, waarschijnlijk bedoeld voor mailing lists.&lt;br /&gt;
&lt;br /&gt;
Ook nog even kijken naar de aliasen in /etc/aliases.db&lt;br /&gt;
 &lt;br /&gt;
== Instellingen ==&lt;br /&gt;
&lt;br /&gt;
=== Postfix ===&lt;br /&gt;
&lt;br /&gt;
==== Mail relay ====&lt;br /&gt;
&lt;br /&gt;
Postfix kan mail relayen naar een extern domein. Hiervoor is de volgende regel:&lt;br /&gt;
&amp;lt;pre&amp;gt;relay_domains = $mydestination, hash:/etc/postfix/domains.relay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In het bestand /etc/postfix/domains.relay staat de lijst van alle externe domains waar mail naar toe gerelayed wordt. Als je iets in het bestand wijzigt, vergeet dan niet om daarna het commando&lt;br /&gt;
&amp;lt;pre&amp;gt;postmap /etc/postfix/domains.relay&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uit te voeren.&lt;br /&gt;
&lt;br /&gt;
==== Whitelist ====&lt;br /&gt;
&lt;br /&gt;
Postfix kan gebruik maken van een whitelist. Zorg hiervoor dat er het volgende in /etc/postfix/main.cf staat:&lt;br /&gt;
&amp;lt;pre&amp;gt;smtpd_client_restrictions = check_client_access hash:/etc/postfix/client.access&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In het bestand /etc/postfix/client.access staat de lijst van alle domains die geweigerd en toegelaten worden. Als je hier iets in verandert, vergeet dan niet om uit te voeren&lt;br /&gt;
&amp;lt;pre&amp;gt;postmap /etc/postfix/access.client&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SquirrelMail ==&lt;br /&gt;
&lt;br /&gt;
SquirrelMail is een webmail-client.&lt;br /&gt;
&lt;br /&gt;
=== SquirrelMail installeren ===&lt;br /&gt;
&lt;br /&gt;
Installeer eerst natuurlijk Squirrelmail:&lt;br /&gt;
&amp;lt;pre&amp;gt;yum install squirrelmail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zorg ervoor dat httpd standaard aan staat en start httpd:&lt;br /&gt;
&amp;lt;pre&amp;gt;chkconfig httpd on&lt;br /&gt;
service httpd start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verander nu het volgende in /etc/squirrelmail/config.php:&lt;br /&gt;
&amp;lt;pre&amp;gt;$org_name        = &amp;quot;A-Eskwadraat&amp;quot;;&lt;br /&gt;
$org_logo        = SM_PATH . 'images/sm_logo.png';&lt;br /&gt;
$org_logo_width  = '308';&lt;br /&gt;
$org_logo_height = '111';&lt;br /&gt;
$org_title       = 'A-Eskwadraat SquirrelMail $version&amp;quot;;&lt;br /&gt;
$signout_page    = 'vm-mail.a-eskwadraat.nl';&lt;br /&gt;
&lt;br /&gt;
$domain            = 'circle.a-eskwadraat.nl';&lt;br /&gt;
$imapServerAddress = 'localhost';&lt;br /&gt;
$useSendmail       = false;&lt;br /&gt;
$smtpServerAddress = 'localhost';&lt;br /&gt;
$pop_before_smtp   = false;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zet nu het A-Eskwadraat logo in de squirrelmail config map.&lt;br /&gt;
&amp;lt;pre&amp;gt;setsebool -P httpd_can_network_connect 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== RoundcubeMail ==&lt;br /&gt;
&lt;br /&gt;
Roundcube is ook een webmail client.&lt;br /&gt;
&lt;br /&gt;
=== Installeren ===&lt;br /&gt;
&lt;br /&gt;
Op vm-salt-master staat een configuratie voor een Roundcube mail VM met een korte readme. Deze zorgt ervoor dat httpd, roundcubemail en mariadb geinstalleerd staan. Salt een VM met deze configuratie.&lt;br /&gt;
&amp;lt;pre&amp;gt;salt '$hostname' state.highstate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Laat vervolgens httpd van die VM door de firewall heen. Daarna moet de database voor Roundcube geinitialiseerd worden. Dit gaat met mysql.&lt;br /&gt;
&amp;lt;pre&amp;gt;CREATE DATABASE roundcubemail;&lt;br /&gt;
GRANT ALL PRIVILEGES on roundcubemail.* TO roundcube@localhost IDENTIFIED BY '$password';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nu moet de timezone nog even ingesteld worden in /etc/php.ini op de roundcube VM. Daarna moeten er nog de juiste tables in de database worden gezet. Dit kan door op de nieuwe VM de bestanden in /etc/roundcubemail/databasefiles te runnen met mysql.&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql roundcubemail &amp;lt; mysql.initial.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup</id>
		<title>Backup</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Backup"/>
				<updated>2021-02-08T20:53:11Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Geregeld worden er '''backups''' gemaakt van een groot deel van het systeem. Hier vallen onder andere de home directories en virtuele machines onder. De WebCie heeft ook een grote hoeveelheid incrementele databasebackups.&lt;br /&gt;
&lt;br /&gt;
== Interne backups ==&lt;br /&gt;
&lt;br /&gt;
De interne backups zijn bedoeld om bestanden terug te kunnen halen die per ongeluk verwijderd zijn. Elke 4 uur, met middernacht als offset, wordt er een recursieve snapshot gemaakt van alle data. Deze 4 uurlijkse snapshots worden, op die van middernacht na, 2 dagen bewaard. De snapshots van middernacht worden standaard 2 weken bewaard, met enkele uitzonderingen zoals de home directories. Deze uitzonderingen plus hun retention tijd staan op haskell in `/etc/cron.daily/managesnapshot`.&lt;br /&gt;
&lt;br /&gt;
Deze 4 uurlijkse backups worden direct gesynced naar de on-site backup in de vorm van Nikola.&lt;br /&gt;
&lt;br /&gt;
Interne backups kunnen makkelijk teruggehaald worden. In het geval van een dataset is er in de root van deze dataset een onzichtbare map .zfs. In het geval van de home kan de staat van 20 november 2015 teruggevonden worden in `/srv/home/.zfs/snapshot/2015112000`. Dit kan alleen op haskell gedaan worden aangezien deze map niet bereikbaar is over NFS. Iets vergelijkbaars kan gedaan wordne met zvol's. Eerst moet echter de property snapdev op visible gezet worden in plaats van hidden en daarna zijn de snapshots van de zvols zichtbaar in `/dev`. Snapshots zijn read-only, dus als je een zvol probeert te mounten die dirty is, dan werkt dit niet als er ext4 op de zvol staat. Ext4 wil bij het recoveren namelijk schrijven, wat niet kan. In een dergelijke situatie kan het vaak handig zijn om een snapshot te klonen en dan te mounten. Met xfs is dit niet nodig.&lt;br /&gt;
&lt;br /&gt;
== Off-site backups ==&lt;br /&gt;
&lt;br /&gt;
We slaan de data ook off-site op bij de universiteit. Dit is een virtuele machine met de naam [[Claude|claude]]. Dit gebeurd vanaf Nikola(vroeger max), aangezien daar een 1:1 kopie staat van de data en op deze manier wordt haskell ontlast. De backups worden vanaf [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] gepulled vanaf Nikola en door Nikola eerst ge-gzipped en ge-encrypt, zodat de universiteit niet bij onze data kan. Naar [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] wordt elke eerste dag van de maand een complete kopie gedumped en voor de rest van de maand worden incrementele dumps gemaakt.&lt;br /&gt;
&lt;br /&gt;
== Relevante scripts ==&lt;br /&gt;
&lt;br /&gt;
De volgende scripts en crons die te maken hebben met backups zijn allemaal in gebruik.&lt;br /&gt;
&lt;br /&gt;
*`/usr/local/bin/backupscript` op Haskell maakt elke 4 uur (door `/etc/cron.d/autobackup`) een snapshot en stuurt deze direct naar Nikola.&lt;br /&gt;
*`/etc/cron.daily/cleansnapshots` draait op zowel Nikola als Haskell en ruimt elke dag oude snapshots op. Deze file is identiek op beide machines, dus aanpassingen moeten gesynced worden.&lt;br /&gt;
*`/usr/local/bin/pullbackups` op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] pullt backups van Nikola en slaat deze op.&lt;br /&gt;
*`/usr/local/bin/cleanbackups`op [https://mediawiki.a-eskwadraat.nl/wiki/Claude claude] ruimt oude snapshots op als de ruimte (2TB) vol dreigt te raken. Vol is &amp;gt;90%. Dit is een cron die elke 5 minuten checkt. Mocht er iets fout gaan zoals dat er bij het opruimen niet tenminste 1 volledige backup altijd bewaard blijft, dan mailt deze dit. Het gebeurd nog wel eens dat de nfs share van de universiteit eruit knalt, en dan flipt dit script ook.&lt;br /&gt;
&lt;br /&gt;
== WebCie: snapshots van de database ==&lt;br /&gt;
&lt;br /&gt;
Op de vm-www maakt een script automatisch elke 10 minuten een dump van de database. Een diff met de vorige db-dump wordt opgeslagen in het archief (&amp;lt;code&amp;gt;haskell:/srv/www/archief&amp;lt;/code&amp;gt;): vanaf de [[vm-www]] beschikbaar op &amp;lt;code&amp;gt;/archief/www/2018-08/07/whoswho4.2018-08-07_13_00.diff&amp;lt;/code&amp;gt; bijvoorbeeld. Ook wordt elke dag een volledige db-dump opgeslagen. Elke maand worden de volledige dumps en alle diffs samen gecomprimeerd. De dumps kun je gebruiken om per ongeluk gewiste data weer terug te zetten.&lt;br /&gt;
&lt;br /&gt;
=== Backup van binaire logs ===&lt;br /&gt;
&lt;br /&gt;
Omdat het diffprogramma soms te lang deed over het backuppen omdat de diffs heeeeeeeeel lang werden, gaan we de binaire logs gebruiken voor backups.&lt;br /&gt;
&lt;br /&gt;
Als je in de mysql-configuratie de optie log-bin aanzet, zal mysql alle updates aan de databases opschrijven in een logbestand. Dit kun je gebruiken voor [[replicatie]], of voor backups. Elke 10 minuten worden de logs geflusht en alle nieuwe bestanden gekopieerd naar het www-archief. Vervolgens worden de oude logbestanden weggegooid (zodat we niet de volledige geschiedenis steeds opnieuw overnemen). PAS OP: als je replicatie doet en een andere server is offline terwijl de logs worden weggegooid, kan die niet zomaar meer up-to-date komen! Zodra je weer replicatie wilt aanzetten (zoals [[Webcie-vm#Mariadb_en_replicatie|als je een nieuwe VM wilt maken]], moet je dus een goede oplossing hiervoor verzinnen. (Misschien: houd bij welke logbestanden al gekopieerd zijn en sla die over?)&lt;br /&gt;
&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/backup-methods.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/binary-log.html&lt;br /&gt;
* https://dev.mysql.com/doc/refman/8.0/en/point-in-time-recovery.html&lt;br /&gt;
&lt;br /&gt;
=== Encryptie van de backups ===&lt;br /&gt;
&lt;br /&gt;
Alle WebCie backups worden nu encrypted opgeslagen. De public key die hier voor gebruikt wordt is de &amp;quot;A-Eskwadraat Backup Service &amp;lt;webcie@a-eskwadraat.nl&amp;gt;&amp;quot; key. Deze public key staat geregistreerd in de keychain van de apache user op de vm-www2. Daarnaast is de public key te vinden in [deze](https://gitlab.com/iba-aes/webcie/website/snippets/1835239) Gitlab snippet. De private key wordt bewaard door het bestuur en de WebCie voorzitter. &lt;br /&gt;
&lt;br /&gt;
=== Decrypten van data ===&lt;br /&gt;
&lt;br /&gt;
Is het nodig om de data te decrypten? Volg het volgende stappenplan.&lt;br /&gt;
&lt;br /&gt;
* Vraag het bestuur/de WebCie voorzitter om de USB stick met de private key.&lt;br /&gt;
* Importeer de private key: `gpg --import &amp;lt;keynaam&amp;gt;`&lt;br /&gt;
* Decrypt de data: `gpg --output &amp;lt;outputfile&amp;gt; --decrypt &amp;lt;inputfile&amp;gt;`&lt;br /&gt;
* Verwijder de private key nadat je klaar bent: `gpg --delete-secret-key webcie@a-eskwadraat.nl`&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;br /&gt;
[[Category:WebCie]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T20:02:56Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voor de meeste Sysop VM's of CT's moet je gebruik maken van de sysop key. Dit moet dan als volgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; -i ~/.ssh/id_rsa_sysop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hiervoor moet je wel al de key hebben gekregen van een Sysopper.&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
== Multiseat ==&lt;br /&gt;
De workstations in de werkkamer maken gebruik van [[Multiseat]]s.Hiervoor gebruiken we loginctl.&lt;br /&gt;
&lt;br /&gt;
Dit is niet de meest ideale oplossing en gaan daarom ook over op single seats, mocht er ooit een multiseat sterven. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Opdracht ===&lt;br /&gt;
Check wie er op dit moment zijn ingelogd door het volgende commando uit te voeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Voer de volgende opdracht uit voor elke seat om te kijken welke devices verbonden zitten aan welke seat. (Als het erg verwarrend is probeer dan niet te beginnen bij seat0, maar probeer bijvoorbeeld seat1 of 2)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl seat-status &amp;lt;seat id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Je gaat nu proberen om twee toetsenborden om te wisselen. Voordat je hier aan begint, vraag aan de mensen om je heen of dit nu kan!&lt;br /&gt;
&lt;br /&gt;
Het commando wat je hiervoor moet gebruiken is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl attach &amp;lt;seat-id&amp;gt; &amp;lt;device ID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Containers en VM's == &lt;br /&gt;
Omdat we veel verschillende servers moeten draaien op maar een paar machines maken we gebruik van virtualisatie. Oude servers draaien op [https://en.wikipedia.org/wiki/Virtual_machine VM's], maar langzaam zijn we dingen aan het overzetten naar  [https://linuxcontainers.org/ containers]&lt;br /&gt;
&lt;br /&gt;
=== Proxmox ===&lt;br /&gt;
Op onze server draaien we [https://en.wikipedia.org/wiki/Proxmox_Virtual_Environment proxmox]. De meeste handelingen met proxmox doe je op de [https://stephen.a-eskwadraat.nl:8006 webinterface]. Hiering maak je bijvoorbeeld nieuwe containers of hou je de huidige servers in de gaten!&lt;br /&gt;
==== Opdracht ====&lt;br /&gt;
&lt;br /&gt;
Vraag aan een Sysopper om je te helpen met het opzeten van een nieuwe container, je eigen &amp;quot;speeltuin&amp;quot; of zoo.&lt;br /&gt;
&lt;br /&gt;
Als dit gebeurt is en je kan inloggen op je eigen zoo,maak dan de volgende [[Container opdrachten]]. (Als je veel linux ervaring heb kan je dit overslaan)&lt;br /&gt;
== IPA ==&lt;br /&gt;
Voor de authenticatie van gebruikers op het systeem, de mail en diverse andere toepassingen maken we gebruik van [[IPA]]. IPA is vrij ingewikkeld en daarom zullen we hier niet heel diep op ingaan. &lt;br /&gt;
&lt;br /&gt;
Ook voor IPA is er een [http://ipa05.a-eskwadraat.nl webinterface]. &lt;br /&gt;
 To be COntondered.&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T19:54:05Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voor de meeste Sysop VM's of CT's moet je gebruik maken van de sysop key. Dit moet dan als volgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; -i ~/.ssh/id_rsa_sysop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hiervoor moet je wel al de key hebben gekregen van een Sysopper.&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
== Multiseat ==&lt;br /&gt;
De workstations in de werkkamer maken gebruik van [[Multiseat]]s.Hiervoor gebruiken we loginctl.&lt;br /&gt;
&lt;br /&gt;
Dit is niet de meest ideale oplossing en gaan daarom ook over op single seats, mocht er ooit een multiseat sterven. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Opdracht ===&lt;br /&gt;
Check wie er op dit moment zijn ingelogd door het volgende commando uit te voeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Voer de volgende opdracht uit voor elke seat om te kijken welke devices verbonden zitten aan welke seat. (Als het erg verwarrend is probeer dan niet te beginnen bij seat0, maar probeer bijvoorbeeld seat1 of 2)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl seat-status &amp;lt;seat id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Je gaat nu proberen om twee toetsenborden om te wisselen. Voordat je hier aan begint, vraag aan de mensen om je heen of dit nu kan!&lt;br /&gt;
&lt;br /&gt;
Het commando wat je hiervoor moet gebruiken is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl attach &amp;lt;seat-id&amp;gt; &amp;lt;device ID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Containers en VM's == &lt;br /&gt;
Omdat we veel verschillende servers moeten draaien op maar een paar machines maken we gebruik van virtualisatie. Oude servers draaien op [https://en.wikipedia.org/wiki/Virtual_machine VM's], maar langzaam zijn we dingen aan het overzetten naar  [https://linuxcontainers.org/ containers]&lt;br /&gt;
&lt;br /&gt;
=== Proxmox ===&lt;br /&gt;
Op onze server draaien we [https://en.wikipedia.org/wiki/Proxmox_Virtual_Environment proxmox]. De meeste handelingen met proxmox doe je op de [https://stephen.a-eskwadraat.nl:8006 webinterface]. Hiering maak je bijvoorbeeld nieuwe containers of hou je de huidige servers in de gaten!&lt;br /&gt;
==== Opdracht ====&lt;br /&gt;
&lt;br /&gt;
Vraag aan een Sysopper om je te helpen met het opzeten van een nieuwe container, je eigen &amp;quot;speeltuin&amp;quot; of zoo.&lt;br /&gt;
&lt;br /&gt;
Als dit gebeurt is en je kan inloggen op je eigen zoo,maak dan de volgende [[Container opdrachten]]. (Als je veel linux ervaring heb kan je dit overslaan)&lt;br /&gt;
== IPA ==&lt;br /&gt;
Voor de authenticatie van gebruikers op het systeem, de mail en diverse andere toepassingen maken we gebruik van [[IPA]].&lt;br /&gt;
 To be COntondered.&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Container_opdrachten</id>
		<title>Container opdrachten</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Container_opdrachten"/>
				<updated>2018-10-02T19:52:11Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: Samh moved page Opdrachten container to Container opdrachten&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Opdrachten_container</id>
		<title>Opdrachten container</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Opdrachten_container"/>
				<updated>2018-10-02T19:52:11Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: Samh moved page Opdrachten container to Container opdrachten&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Container opdrachten]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Container_opdrachten</id>
		<title>Container opdrachten</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Container_opdrachten"/>
				<updated>2018-10-02T19:51:29Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: Created page with &amp;quot;   Category:Sysop&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T19:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voor de meeste Sysop VM's of CT's moet je gebruik maken van de sysop key. Dit moet dan als volgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; -i ~/.ssh/id_rsa_sysop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hiervoor moet je wel al de key hebben gekregen van een Sysopper.&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
== Multiseat ==&lt;br /&gt;
De workstations in de werkkamer maken gebruik van [[Multiseat]]s.Hiervoor gebruiken we loginctl.&lt;br /&gt;
&lt;br /&gt;
Dit is niet de meest ideale oplossing en gaan daarom ook over op single seats, mocht er ooit een multiseat sterven. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Opdracht ===&lt;br /&gt;
Check wie er op dit moment zijn ingelogd door het volgende commando uit te voeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Voer de volgende opdracht uit voor elke seat om te kijken welke devices verbonden zitten aan welke seat. (Als het erg verwarrend is probeer dan niet te beginnen bij seat0, maar probeer bijvoorbeeld seat1 of 2)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl seat-status &amp;lt;seat id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Je gaat nu proberen om twee toetsenborden om te wisselen. Voordat je hier aan begint, vraag aan de mensen om je heen of dit nu kan!&lt;br /&gt;
&lt;br /&gt;
Het commando wat je hiervoor moet gebruiken is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl attach &amp;lt;seat-id&amp;gt; &amp;lt;device ID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Containers en VM's == &lt;br /&gt;
Omdat we veel verschillende servers moeten draaien op maar een paar machines maken we gebruik van virtualisatie. Oude servers draaien op [https://en.wikipedia.org/wiki/Virtual_machine VM's], maar langzaam zijn we dingen aan het overzetten naar  [https://linuxcontainers.org/ containers]&lt;br /&gt;
&lt;br /&gt;
=== Proxmox ===&lt;br /&gt;
Op onze server draaien we [https://en.wikipedia.org/wiki/Proxmox_Virtual_Environment proxmox]. De meeste handelingen met proxmox doe je op de [https://stephen.a-eskwadraat.nl:8006 webinterface]. Hiering maak je bijvoorbeeld nieuwe containers of hou je de huidige servers in de gaten!&lt;br /&gt;
== IPA ==&lt;br /&gt;
Voor de authenticatie van gebruikers op het systeem, de mail en diverse andere toepassingen maken we gebruik van [[IPA]].&lt;br /&gt;
 To be COntondered.&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T19:39:00Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voor de meeste Sysop VM's of CT's moet je gebruik maken van de sysop key. Dit moet dan als volgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; -i ~/.ssh/id_rsa_sysop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hiervoor moet je wel al de key hebben gekregen van een Sysopper.&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
== Multiseat ==&lt;br /&gt;
De workstations in de werkkamer maken gebruik van [[Multiseat]]s.Hiervoor gebruiken we loginctl.&lt;br /&gt;
&lt;br /&gt;
Dit is niet de meest ideale oplossing en gaan daarom ook over op single seats, mocht er ooit een multiseat sterven. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Opdracht ===&lt;br /&gt;
Check wie er op dit moment zijn ingelogd door het volgende commando uit te voeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Voer de volgende opdracht uit voor elke seat om te kijken welke devices verbonden zitten aan welke seat. (Als het erg verwarrend is probeer dan niet te beginnen bij seat0, maar probeer bijvoorbeeld seat1 of 2)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl seat-status &amp;lt;seat id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Je gaat nu proberen om twee toetsenborden om te wisselen. Voordat je hier aan begint, vraag aan de mensen om je heen of dit nu kan!&lt;br /&gt;
&lt;br /&gt;
Het commando wat je hiervoor moet gebruiken is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl attach &amp;lt;seat-id&amp;gt; &amp;lt;device ID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Containers en VM's == &lt;br /&gt;
Omdat we veel verschillende servers moeten draaien op maar een paar machines maken we gebruik van virtualisatie. Oude servers draaien op [https://en.wikipedia.org/wiki/Virtual_machine VM's], maar langzaam zijn we dingen aan het overzetten naar  [https://linuxcontainers.org/ containers]&lt;br /&gt;
&lt;br /&gt;
== Proxmox ==&lt;br /&gt;
Op onze server draaien we [https://en.wikipedia.org/wiki/Proxmox_Virtual_Environment proxmox]. De meeste handelingen met proxmox doe je op de [https://stephen.a-eskwadraat.nl:8006 webinterface].&lt;br /&gt;
== IPA ==&lt;br /&gt;
Voor de authenticatie van gebruikers op het systeem, de mail en diverse andere toepassingen maken we gebruik van [[IPA]].&lt;br /&gt;
 To be COntondered.&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T19:31:51Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voor de meeste Sysop VM's of CT's moet je gebruik maken van de sysop key. Dit moet dan als volgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; -i ~/.ssh/id_rsa_sysop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hiervoor moet je wel al de key hebben gekregen van een Sysopper.&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
== Multiseat ==&lt;br /&gt;
De workstations in de werkkamer maken gebruik van [[Multiseat]]s.Hiervoor gebruiken we loginctl.&lt;br /&gt;
&lt;br /&gt;
Dit is niet de meest ideale oplossing en gaan daarom ook over op single seats, mocht er ooit een multiseat sterven. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Opdracht ===&lt;br /&gt;
Check wie er op dit moment zijn ingelogd door het volgende commando uit te voeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Voer de volgende opdracht uit voor elke seat om te kijken welke devices verbonden zitten aan welke seat. (Als het erg verwarrend is probeer dan niet te beginnen bij seat0, maar probeer bijvoorbeeld seat1 of 2)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl seat-status &amp;lt;seat id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Je gaat nu proberen om twee toetsenborden om te wisselen. Voordat je hier aan begint, vraag aan de mensen om je heen of dit nu kan!&lt;br /&gt;
&lt;br /&gt;
Het commando wat je hiervoor moet gebruiken is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl attach &amp;lt;seat-id&amp;gt; &amp;lt;device ID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Containers en VM's == &lt;br /&gt;
Omdat we veel verschillende servers moeten draaien op maar een paar machines maken we gebruik van virtualisatie. Oude servers draaien op [https://en.wikipedia.org/wiki/Virtual_machine VM's], maar langzaam zijn we dingen aan het overzetten naar  [https://linuxcontainers.org/ containers]&lt;br /&gt;
== IPA ==&lt;br /&gt;
Voor de authenticatie van gebruikers op het systeem, de mail en diverse andere toepassingen maken we gebruik van [[IPA]].&lt;br /&gt;
 To be COntondered.&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T19:22:25Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voor de meeste Sysop VM's of CT's moet je gebruik maken van de sysop key. Dit moet dan als volgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; -i ~/.ssh/id_rsa_sysop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hiervoor moet je wel al de key hebben gekregen van een Sysopper.&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
== Multiseat ==&lt;br /&gt;
De workstations in de werkkamer maken gebruik van [[Multiseat]]s.Hiervoor gebruiken we loginctl.&lt;br /&gt;
&lt;br /&gt;
Dit is niet de meest ideale oplossing en gaan daarom ook over op single seats, mocht er ooit een multiseat sterven. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Opdracht ===&lt;br /&gt;
Check wie er op dit moment zijn ingelogd door het volgende commando uit te voeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Voer de volgende opdracht uit voor elke seat om te kijken welke devices verbonden zitten aan welke seat. (Als het erg verwarrend is probeer dan niet te beginnen bij seat0, maar probeer bijvoorbeeld seat1 of 2)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl seat-status &amp;lt;seat id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Je gaat nu proberen om twee toetsenborden om te wisselen. Voordat je hier aan begint, vraag aan de mensen om je heen of dit nu kan!&lt;br /&gt;
&lt;br /&gt;
Het commando wat je hiervoor moet gebruiken is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl attach &amp;lt;seat-id&amp;gt; &amp;lt;device ID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T19:20:45Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Voor de meeste Sysop VM's of CT's moet je gebruik maken van de sysop key. Dit moet dan als volgt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;vmofcontainernaam&amp;gt; -i ~/.ssh/id_rsa_sysop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hiervoor moet je wel al de key hebben gekregen van een Sysopper.&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
== Multiseat ==&lt;br /&gt;
De workstations in de werkkamer maken gebruik van [[Multiseat]]s. Dit is niet de meest ideale oplossing en gaan daarom ook over op single seats, mocht er ooit een multiseat sterven.&lt;br /&gt;
&lt;br /&gt;
=== Loginctl ===&lt;br /&gt;
Om dit werkend te krijgen maken we gebruik van loginctl. &lt;br /&gt;
==== Opdracht ====&lt;br /&gt;
Check wie er op dit moment zijn ingelogd door het volgende commando uit te voeren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Voer de volgende opdracht uit voor elke seat om te kijken welke devices verbonden zitten aan welke seat. (Als het erg verwarrend is probeer dan niet te beginnen bij seat0, maar probeer bijvoorbeeld seat1 of 2)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl seat-status &amp;lt;seat id&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Je gaat nu proberen om twee toetsenborden om te wisselen. Voordat je hier aan begint, vraag aan de mensen om je heen of dit nu kan!&lt;br /&gt;
&lt;br /&gt;
Het commando wat je hiervoor moet gebruiken is:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
loginctl attach &amp;lt;seat-id&amp;gt; &amp;lt;device ID&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T18:56:49Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
=== Externe connecties ===&lt;br /&gt;
&lt;br /&gt;
Externe SSH connecties komen bij a-eskwadraat binnen op [[Felix]]. Dit wordt vooral gebruikt door mensen die vanaf thuis op het systeem willen werken.&lt;br /&gt;
&lt;br /&gt;
=== Interne connecties ===&lt;br /&gt;
&lt;br /&gt;
Binnen het systeem zijn de meeste VM's en containers bereikbaar met SSH. Dit werkt als volgt: &lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
ssh root@&amp;lt;VMOfCTNaam&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
of&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;ipadres&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop</id>
		<title>Inwerking Sysop</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Inwerking_Sysop"/>
				<updated>2018-10-02T18:40:19Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Inwerking ==&lt;br /&gt;
Welkom bij deel 2 van de inwerking! Als het goed is heb je deel 1, het algemene linux deel, al gedaan. Is dit niet het geval, dan kan je die [https://home.a-eskwadraat.nl/~sysop/inwerking/deel1.pdf hier] vinden.&lt;br /&gt;
&lt;br /&gt;
== SSH ==&lt;br /&gt;
&lt;br /&gt;
We maken bij de Sysop veel gebruik van SSH. Wil je hier meer over leren?[https://en.wikipedia.org/wiki/Secure_Shell Kijk dan hier]&lt;br /&gt;
&lt;br /&gt;
De oude inwerking is te vinden op https://home.a-eskwadraat.nl/~sysop/inwerking/inwerking.pdf&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA</id>
		<title>IPA</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA"/>
				<updated>2018-03-16T18:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FreeIPA is a Red Hat sponsored open source project which aims to provide an easily managed Identity, Policy and Audit (IPA) suite primarily targeted towards networks of Linux and Unix computers. FreeIPA can be compared to Novell's Identity Manager or Microsoft's Active Directory in that the goals and mechanisms used are similar.&lt;br /&gt;
&lt;br /&gt;
FreeIPA currently uses 389 Directory Server for its LDAP implementation, MIT's Kerberos 5 for authentication and single sign-on, the Apache and Python for the management framework and Web UI, and (optionally) Dogtag for the integrated CA and BIND with a custom plugin for the integrated DNS. Development versions also use Samba to integrate with Microsoft's Active Directory by way of Cross Forest Trusts.&lt;br /&gt;
&lt;br /&gt;
While each of the major components of FreeIPA is a pre-existing open source project it is the bundling of these components into a single manageable suite with a Comprehensive Management Interface that make FreeIPA more comparable to its proprietary software cousins, Identity Manager and Active Directory.&lt;br /&gt;
&lt;br /&gt;
FreeIPA aims to provide support not just for Linux and Unix based computers but ultimately Microsoft Windows and Apple Macintosh computers also.&lt;br /&gt;
&lt;br /&gt;
De webinterface van de IPA van A-Eskwadraat is te benaderen via [http://ipa01.a-eskwadraat.nl http://ipa01.a-eskwadraat.nl]. Hiervoor moet je wel op het netwerk van A-Eskwadraat zitten, dit is niet van buiten af te benaderen.&lt;br /&gt;
&lt;br /&gt;
== Server installatie ==&lt;br /&gt;
&lt;br /&gt;
Installeer &amp;lt;code&amp;gt;ipa-server&amp;lt;/code&amp;gt; met alle dependencies. Zorg ervoor dat alle benodigde firewall-poorten open staan, na een schone kickstart hoeft enkel poort 7389 tcp nog geopend te worden. Vervolgens, om ipa-server te installeren ''zonder'' NTP-server:&lt;br /&gt;
&lt;br /&gt;
 ipa-server-install -N&lt;br /&gt;
&lt;br /&gt;
Na de installatie moet de server nog een beveiligings-certificaat krijgen. Voer hiervoor het volgende commando uit:&lt;br /&gt;
&lt;br /&gt;
 ipa-getcert request -d /etc/pki/nssdb/ -n ipaserver-cert&lt;br /&gt;
&lt;br /&gt;
Sudo gegevens zijn niet anoniem uit IPA te halen, daarom moet er voor de standaard user &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; een wachtwoord ingesteld worden (''zou kunnen dat dit niet meer nodig is''). Doe dit met&lt;br /&gt;
&lt;br /&gt;
 ldappasswd -Y GSSAPI uid=sudo,cn=sysaccounts,cn=etc,dc=a-eskwadraat,dc=nl -s sudopasswd&lt;br /&gt;
&lt;br /&gt;
=== Firewall ===&lt;br /&gt;
&lt;br /&gt;
IPA heeft een aantal poorten nodig om correct te werken:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''''Service'''''&lt;br /&gt;
| '''''Poort'''''&lt;br /&gt;
| '''''Type'''''&lt;br /&gt;
|-&lt;br /&gt;
| HTTP/HTTPS&lt;br /&gt;
| 80,443&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| LDAP/LDAPS&lt;br /&gt;
| 389,636&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| Kerberos&lt;br /&gt;
| 88,464&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| DNS&lt;br /&gt;
| 53&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| NTP&lt;br /&gt;
| 123&lt;br /&gt;
| udp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Client installatie ==&lt;br /&gt;
&lt;br /&gt;
{{opmerking| Bij migratie naar een andere IPA-server moet &amp;lt;code&amp;gt;/etc/ipa&amp;lt;/code&amp;gt; leeg zijn.}}&lt;br /&gt;
&lt;br /&gt;
=== ipa-client-install ===&lt;br /&gt;
&lt;br /&gt;
Installeer een IPA-client als volgt (uiteraard als root):&lt;br /&gt;
&lt;br /&gt;
 ipa-client-install&lt;br /&gt;
&lt;br /&gt;
Er wordt tijdens de installatie gevraagd om een gebruikersnaam, gebruik daarvoor gewoon je eigen account.&lt;br /&gt;
&lt;br /&gt;
'''''Reboot het systeem als de installatie voltooid is.'''''&lt;br /&gt;
&lt;br /&gt;
=== sudo ===&lt;br /&gt;
&lt;br /&gt;
Om sudoregels te gebruiken op systemen ouder dan CentOS 7, zie [[Sudo]].&lt;br /&gt;
&lt;br /&gt;
=== httpd ===&lt;br /&gt;
&lt;br /&gt;
Om in websites IPA te gebruiken is het nodig een PAM- en HBAC-service toe te voegen. Zie ook [[HBAC]].&lt;br /&gt;
&lt;br /&gt;
== Schema ==&lt;br /&gt;
&lt;br /&gt;
Aan het standaard schema van IPA is de objectClass 'aesAccount' met attribuut 'memberId'. Zie de volgende LDIF:&lt;br /&gt;
&lt;br /&gt;
 dn: cn=schema&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: attributetypes&lt;br /&gt;
 attributetypes:( 1.3.6.1.4.1.44413.1.1.1 NAME 'memberId' DESC 'MemberId of person' &lt;br /&gt;
 EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;
 -&lt;br /&gt;
 add: objectclasses&lt;br /&gt;
 objectclasses: ( 1.3.6.1.4.1.44413.1.2.1 NAME 'aesAccount' SUP top AUXILIARY &lt;br /&gt;
 DESC 'A-Eskwadraat account information' MAY  ( memberId ) )&lt;br /&gt;
&lt;br /&gt;
=== Lidnummer toevoegen ===&lt;br /&gt;
&lt;br /&gt;
'mensjeadd' vraagt bij het aanmaken van een account om een lidnummer. Mocht er onverhoopt iets misgaan, met de onderstaande LDIF is het mogelijk om een lidnummer aan een account toe te voegen:&lt;br /&gt;
&lt;br /&gt;
 dn: uid=$login,cn=users,cn=accounts,dc=a-eskwadraat,dc=nl&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: memberId&lt;br /&gt;
 memberId: $lidnummer&lt;br /&gt;
&lt;br /&gt;
== Replication ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Er zijn op dit moment drie IPA-servers met de volgende replication agreements:&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa02&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa02 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
[[Category:Software]] [[Category:Sysop]]&lt;br /&gt;
&lt;br /&gt;
== Gebruik ipa ==&lt;br /&gt;
&lt;br /&gt;
Op de webinterface van IPA zijn alle eigenschappen van gebruikers en groepen te wijzigen onder het tabblad &amp;quot;Identity&amp;quot;. Dit spreekt redelijk voor zich. Bij &amp;quot;Policy&amp;quot; zijn host-based access control en sudoregels in te stellen.&lt;br /&gt;
&lt;br /&gt;
Sommige instellingen, bijvoorbeeld de home directory van een user, zijn als sysop-user niet aan te passen. Hiervoor moet je inloggen als admin. Dit doe je via de webinterface of via de terminal met het volgende command:&lt;br /&gt;
&lt;br /&gt;
 kinit admin&lt;br /&gt;
&lt;br /&gt;
=== Host-based access control ===&lt;br /&gt;
&lt;br /&gt;
Op alle clients waar ipa is geïnstalleerd, wordt bij het inloggen sssd gebruikt om te authenticeren. Deze controleert op de ipa server of de gebruiker op die machine mag inloggen. Het is gewone gebruikers bijvoorbeeld alleen toegestaan om in te loggen op workstations, niet op virtuele machines en een aantal daarvan zijn wel ipa client. Bij Policy &amp;gt; Host-based Access Control in de IPA webinterface zijn de regels in te stellen die bepalen wie waar mag inloggen. Een regel bevat: de gebruikers waarvoor deze van toepassing is, de computers waarop deze van toepassing is, en de services waarmee ingelogd kan worden. Bij alle drie is er een optie om alles/iedereen toe te staan.&lt;br /&gt;
&lt;br /&gt;
=== Sudoregels ===&lt;br /&gt;
&lt;br /&gt;
Sudoregels staan toe dat een gebruiker een commando uitvoert als iemand anders. Het geeft gebruikers de mogelijkheid om commando's namens hun commissies uit te voeren, of sysop om overal sudo te gebruiken om root te worden. Deze zijn in de webinterface in te stellen bij Policy &amp;gt; Sudo. Een regel bestaat uit: welke gebruiker(s), welke computer(s), welke commando(s) en als welke gebruiker(s). Verder kunnen er opties worden toegevoegd, deze zijn gelijk aan opties die gewoonlijk in sudoers ingesteld kunnen worden, zoals !authenticate die bepaalt dat er geen wachtwoord ingevoerd hoeft te worden voor die regel.&lt;br /&gt;
&lt;br /&gt;
=== Wat te doen als ipa01 eruit ligt ===&lt;br /&gt;
&lt;br /&gt;
Eerst ssh je naar ipa01 als root (met de sysop key).  De directory service raakt corrupt en dan komt wordt het filesysteem read only (ro). Met het volgende command kan je controleren of het filesystem inderdaad read only is:&lt;br /&gt;
  grep &amp;quot;\sro[\s,]&amp;quot; /proc/mounts&lt;br /&gt;
&lt;br /&gt;
Als ext4 read only is dan staat het filesysteem van ipa01 in read only en moet je de vm opnieuw opstarten (&amp;quot;reboot now&amp;quot;). Wanneer de vm herstart is staat het filesysteem weer in read write (rw). De database van ipa is nog corrupt en daarom kunnen we ipa niet in een keer starten. Eerst moeten we de directory service los starten dit kan met het volgende commando:&lt;br /&gt;
  /usr/sbin/start-dirsrv&lt;br /&gt;
&lt;br /&gt;
Als dit zonder errors wordt afgerond moeten we de directory service weer stoppen, dit kan met het volgende commando:&lt;br /&gt;
  /usr/sbin/stop-dirsrv&lt;br /&gt;
&lt;br /&gt;
Nadat dit zonder errors is afgerond moeten we ipa starten. Dit doen we met het volgende commando:&lt;br /&gt;
  ipactl start&lt;br /&gt;
&lt;br /&gt;
Op het moment dat er errors zijn bij het opstarten van de directory service moet er helaas een backup worden teruggezet. Dit wordt gedaan door het volgende te doen:&lt;br /&gt;
  *Hier moet nog komen hoe je een backup terugzet*&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA</id>
		<title>IPA</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA"/>
				<updated>2018-03-16T18:42:06Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FreeIPA is a Red Hat sponsored open source project which aims to provide an easily managed Identity, Policy and Audit (IPA) suite primarily targeted towards networks of Linux and Unix computers. FreeIPA can be compared to Novell's Identity Manager or Microsoft's Active Directory in that the goals and mechanisms used are similar.&lt;br /&gt;
&lt;br /&gt;
FreeIPA currently uses 389 Directory Server for its LDAP implementation, MIT's Kerberos 5 for authentication and single sign-on, the Apache and Python for the management framework and Web UI, and (optionally) Dogtag for the integrated CA and BIND with a custom plugin for the integrated DNS. Development versions also use Samba to integrate with Microsoft's Active Directory by way of Cross Forest Trusts.&lt;br /&gt;
&lt;br /&gt;
While each of the major components of FreeIPA is a pre-existing open source project it is the bundling of these components into a single manageable suite with a Comprehensive Management Interface that make FreeIPA more comparable to its proprietary software cousins, Identity Manager and Active Directory.&lt;br /&gt;
&lt;br /&gt;
FreeIPA aims to provide support not just for Linux and Unix based computers but ultimately Microsoft Windows and Apple Macintosh computers also.&lt;br /&gt;
&lt;br /&gt;
De webinterface van de IPA van A-Eskwadraat is te benaderen via [http://ipa01.a-eskwadraat.nl http://ipa01.a-eskwadraat.nl]. Hiervoor moet je wel op het netwerk van A-Eskwadraat zitten, dit is niet van buiten af te benaderen.&lt;br /&gt;
&lt;br /&gt;
== Server installatie ==&lt;br /&gt;
&lt;br /&gt;
Installeer &amp;lt;code&amp;gt;ipa-server&amp;lt;/code&amp;gt; met alle dependencies. Zorg ervoor dat alle benodigde firewall-poorten open staan, na een schone kickstart hoeft enkel poort 7389 tcp nog geopend te worden. Vervolgens, om ipa-server te installeren ''zonder'' NTP-server:&lt;br /&gt;
&lt;br /&gt;
 ipa-server-install -N&lt;br /&gt;
&lt;br /&gt;
Na de installatie moet de server nog een beveiligings-certificaat krijgen. Voer hiervoor het volgende commando uit:&lt;br /&gt;
&lt;br /&gt;
 ipa-getcert request -d /etc/pki/nssdb/ -n ipaserver-cert&lt;br /&gt;
&lt;br /&gt;
Sudo gegevens zijn niet anoniem uit IPA te halen, daarom moet er voor de standaard user &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; een wachtwoord ingesteld worden (''zou kunnen dat dit niet meer nodig is''). Doe dit met&lt;br /&gt;
&lt;br /&gt;
 ldappasswd -Y GSSAPI uid=sudo,cn=sysaccounts,cn=etc,dc=a-eskwadraat,dc=nl -s sudopasswd&lt;br /&gt;
&lt;br /&gt;
=== Firewall ===&lt;br /&gt;
&lt;br /&gt;
IPA heeft een aantal poorten nodig om correct te werken:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''''Service'''''&lt;br /&gt;
| '''''Poort'''''&lt;br /&gt;
| '''''Type'''''&lt;br /&gt;
|-&lt;br /&gt;
| HTTP/HTTPS&lt;br /&gt;
| 80,443&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| LDAP/LDAPS&lt;br /&gt;
| 389,636&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| Kerberos&lt;br /&gt;
| 88,464&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| DNS&lt;br /&gt;
| 53&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| NTP&lt;br /&gt;
| 123&lt;br /&gt;
| udp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Client installatie ==&lt;br /&gt;
&lt;br /&gt;
{{opmerking| Bij migratie naar een andere IPA-server moet &amp;lt;code&amp;gt;/etc/ipa&amp;lt;/code&amp;gt; leeg zijn.}}&lt;br /&gt;
&lt;br /&gt;
=== ipa-client-install ===&lt;br /&gt;
&lt;br /&gt;
Installeer een IPA-client als volgt (uiteraard als root):&lt;br /&gt;
&lt;br /&gt;
 ipa-client-install&lt;br /&gt;
&lt;br /&gt;
Er wordt tijdens de installatie gevraagd om een gebruikersnaam, gebruik daarvoor gewoon je eigen account.&lt;br /&gt;
&lt;br /&gt;
'''''Reboot het systeem als de installatie voltooid is.'''''&lt;br /&gt;
&lt;br /&gt;
=== sudo ===&lt;br /&gt;
&lt;br /&gt;
Om sudoregels te gebruiken op systemen ouder dan CentOS 7, zie [[Sudo]].&lt;br /&gt;
&lt;br /&gt;
=== httpd ===&lt;br /&gt;
&lt;br /&gt;
Om in websites IPA te gebruiken is het nodig een PAM- en HBAC-service toe te voegen. Zie ook [[HBAC]].&lt;br /&gt;
&lt;br /&gt;
== Schema ==&lt;br /&gt;
&lt;br /&gt;
Aan het standaard schema van IPA is de objectClass 'aesAccount' met attribuut 'memberId'. Zie de volgende LDIF:&lt;br /&gt;
&lt;br /&gt;
 dn: cn=schema&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: attributetypes&lt;br /&gt;
 attributetypes:( 1.3.6.1.4.1.44413.1.1.1 NAME 'memberId' DESC 'MemberId of person' &lt;br /&gt;
 EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;
 -&lt;br /&gt;
 add: objectclasses&lt;br /&gt;
 objectclasses: ( 1.3.6.1.4.1.44413.1.2.1 NAME 'aesAccount' SUP top AUXILIARY &lt;br /&gt;
 DESC 'A-Eskwadraat account information' MAY  ( memberId ) )&lt;br /&gt;
&lt;br /&gt;
=== Lidnummer toevoegen ===&lt;br /&gt;
&lt;br /&gt;
'mensjeadd' vraagt bij het aanmaken van een account om een lidnummer. Mocht er onverhoopt iets misgaan, met de onderstaande LDIF is het mogelijk om een lidnummer aan een account toe te voegen:&lt;br /&gt;
&lt;br /&gt;
 dn: uid=$login,cn=users,cn=accounts,dc=a-eskwadraat,dc=nl&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: memberId&lt;br /&gt;
 memberId: $lidnummer&lt;br /&gt;
&lt;br /&gt;
== Replication ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Er zijn op dit moment drie IPA-servers met de volgende replication agreements:&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa02&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa02 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
[[Category:Software]] [[Category:Sysop]]&lt;br /&gt;
&lt;br /&gt;
== Gebruik ipa ==&lt;br /&gt;
&lt;br /&gt;
Op de webinterface van IPA zijn alle eigenschappen van gebruikers en groepen te wijzigen onder het tabblad &amp;quot;Identity&amp;quot;. Dit spreekt redelijk voor zich. Bij &amp;quot;Policy&amp;quot; zijn host-based access control en sudoregels in te stellen.&lt;br /&gt;
&lt;br /&gt;
Sommige instellingen, bijvoorbeeld de home directory van een user, zijn als sysop-user niet aan te passen. Hiervoor moet je inloggen als admin. Dit doe je via de webinterface of via de terminal met het volgende command:&lt;br /&gt;
kinit admin&lt;br /&gt;
&lt;br /&gt;
=== Host-based access control ===&lt;br /&gt;
&lt;br /&gt;
Op alle clients waar ipa is geïnstalleerd, wordt bij het inloggen sssd gebruikt om te authenticeren. Deze controleert op de ipa server of de gebruiker op die machine mag inloggen. Het is gewone gebruikers bijvoorbeeld alleen toegestaan om in te loggen op workstations, niet op virtuele machines en een aantal daarvan zijn wel ipa client. Bij Policy &amp;gt; Host-based Access Control in de IPA webinterface zijn de regels in te stellen die bepalen wie waar mag inloggen. Een regel bevat: de gebruikers waarvoor deze van toepassing is, de computers waarop deze van toepassing is, en de services waarmee ingelogd kan worden. Bij alle drie is er een optie om alles/iedereen toe te staan.&lt;br /&gt;
&lt;br /&gt;
=== Sudoregels ===&lt;br /&gt;
&lt;br /&gt;
Sudoregels staan toe dat een gebruiker een commando uitvoert als iemand anders. Het geeft gebruikers de mogelijkheid om commando's namens hun commissies uit te voeren, of sysop om overal sudo te gebruiken om root te worden. Deze zijn in de webinterface in te stellen bij Policy &amp;gt; Sudo. Een regel bestaat uit: welke gebruiker(s), welke computer(s), welke commando(s) en als welke gebruiker(s). Verder kunnen er opties worden toegevoegd, deze zijn gelijk aan opties die gewoonlijk in sudoers ingesteld kunnen worden, zoals !authenticate die bepaalt dat er geen wachtwoord ingevoerd hoeft te worden voor die regel.&lt;br /&gt;
&lt;br /&gt;
=== Wat te doen als ipa01 eruit ligt ===&lt;br /&gt;
&lt;br /&gt;
Eerst ssh je naar ipa01 als root (met de sysop key).  De directory service raakt corrupt en dan komt wordt het filesysteem read only (ro). Met het volgende command kan je controleren of het filesystem inderdaad read only is:&lt;br /&gt;
  grep &amp;quot;\sro[\s,]&amp;quot; /proc/mounts&lt;br /&gt;
&lt;br /&gt;
Als ext4 read only is dan staat het filesysteem van ipa01 in read only en moet je de vm opnieuw opstarten (&amp;quot;reboot now&amp;quot;). Wanneer de vm herstart is staat het filesysteem weer in read write (rw). De database van ipa is nog corrupt en daarom kunnen we ipa niet in een keer starten. Eerst moeten we de directory service los starten dit kan met het volgende commando:&lt;br /&gt;
  /usr/sbin/start-dirsrv&lt;br /&gt;
&lt;br /&gt;
Als dit zonder errors wordt afgerond moeten we de directory service weer stoppen, dit kan met het volgende commando:&lt;br /&gt;
  /usr/sbin/stop-dirsrv&lt;br /&gt;
&lt;br /&gt;
Nadat dit zonder errors is afgerond moeten we ipa starten. Dit doen we met het volgende commando:&lt;br /&gt;
  ipactl start&lt;br /&gt;
&lt;br /&gt;
Op het moment dat er errors zijn bij het opstarten van de directory service moet er helaas een backup worden teruggezet. Dit wordt gedaan door het volgende te doen:&lt;br /&gt;
  *Hier moet nog komen hoe je een backup terugzet*&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA</id>
		<title>IPA</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA"/>
				<updated>2018-03-12T11:41:13Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FreeIPA is a Red Hat sponsored open source project which aims to provide an easily managed Identity, Policy and Audit (IPA) suite primarily targeted towards networks of Linux and Unix computers. FreeIPA can be compared to Novell's Identity Manager or Microsoft's Active Directory in that the goals and mechanisms used are similar.&lt;br /&gt;
&lt;br /&gt;
FreeIPA currently uses 389 Directory Server for its LDAP implementation, MIT's Kerberos 5 for authentication and single sign-on, the Apache and Python for the management framework and Web UI, and (optionally) Dogtag for the integrated CA and BIND with a custom plugin for the integrated DNS. Development versions also use Samba to integrate with Microsoft's Active Directory by way of Cross Forest Trusts.&lt;br /&gt;
&lt;br /&gt;
While each of the major components of FreeIPA is a pre-existing open source project it is the bundling of these components into a single manageable suite with a Comprehensive Management Interface that make FreeIPA more comparable to its proprietary software cousins, Identity Manager and Active Directory.&lt;br /&gt;
&lt;br /&gt;
FreeIPA aims to provide support not just for Linux and Unix based computers but ultimately Microsoft Windows and Apple Macintosh computers also.&lt;br /&gt;
&lt;br /&gt;
De webinterface van de IPA van A-Eskwadraat is te benaderen via [http://ipa01.a-eskwadraat.nl http://ipa01.a-eskwadraat.nl]. Hiervoor moet je wel op het netwerk van A-Eskwadraat zitten, dit is niet van buiten af te benaderen.&lt;br /&gt;
&lt;br /&gt;
== Server installatie ==&lt;br /&gt;
&lt;br /&gt;
Installeer &amp;lt;code&amp;gt;ipa-server&amp;lt;/code&amp;gt; met alle dependencies. Zorg ervoor dat alle benodigde firewall-poorten open staan, na een schone kickstart hoeft enkel poort 7389 tcp nog geopend te worden. Vervolgens, om ipa-server te installeren ''zonder'' NTP-server:&lt;br /&gt;
&lt;br /&gt;
 ipa-server-install -N&lt;br /&gt;
&lt;br /&gt;
Na de installatie moet de server nog een beveiligings-certificaat krijgen. Voer hiervoor het volgende commando uit:&lt;br /&gt;
&lt;br /&gt;
 ipa-getcert request -d /etc/pki/nssdb/ -n ipaserver-cert&lt;br /&gt;
&lt;br /&gt;
Sudo gegevens zijn niet anoniem uit IPA te halen, daarom moet er voor de standaard user &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; een wachtwoord ingesteld worden (''zou kunnen dat dit niet meer nodig is''). Doe dit met&lt;br /&gt;
&lt;br /&gt;
 ldappasswd -Y GSSAPI uid=sudo,cn=sysaccounts,cn=etc,dc=a-eskwadraat,dc=nl -s sudopasswd&lt;br /&gt;
&lt;br /&gt;
=== Firewall ===&lt;br /&gt;
&lt;br /&gt;
IPA heeft een aantal poorten nodig om correct te werken:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''''Service'''''&lt;br /&gt;
| '''''Poort'''''&lt;br /&gt;
| '''''Type'''''&lt;br /&gt;
|-&lt;br /&gt;
| HTTP/HTTPS&lt;br /&gt;
| 80,443&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| LDAP/LDAPS&lt;br /&gt;
| 389,636&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| Kerberos&lt;br /&gt;
| 88,464&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| DNS&lt;br /&gt;
| 53&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| NTP&lt;br /&gt;
| 123&lt;br /&gt;
| udp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Client installatie ==&lt;br /&gt;
&lt;br /&gt;
{{opmerking| Bij migratie naar een andere IPA-server moet &amp;lt;code&amp;gt;/etc/ipa&amp;lt;/code&amp;gt; leeg zijn.}}&lt;br /&gt;
&lt;br /&gt;
=== ipa-client-install ===&lt;br /&gt;
&lt;br /&gt;
Installeer een IPA-client als volgt (uiteraard als root):&lt;br /&gt;
&lt;br /&gt;
 ipa-client-install&lt;br /&gt;
&lt;br /&gt;
Er wordt tijdens de installatie gevraagd om een gebruikersnaam, gebruik daarvoor gewoon je eigen account.&lt;br /&gt;
&lt;br /&gt;
'''''Reboot het systeem als de installatie voltooid is.'''''&lt;br /&gt;
&lt;br /&gt;
=== sudo ===&lt;br /&gt;
&lt;br /&gt;
Om sudoregels te gebruiken op systemen ouder dan CentOS 7, zie [[Sudo]].&lt;br /&gt;
&lt;br /&gt;
=== httpd ===&lt;br /&gt;
&lt;br /&gt;
Om in websites IPA te gebruiken is het nodig een PAM- en HBAC-service toe te voegen. Zie ook [[HBAC]].&lt;br /&gt;
&lt;br /&gt;
== Schema ==&lt;br /&gt;
&lt;br /&gt;
Aan het standaard schema van IPA is de objectClass 'aesAccount' met attribuut 'memberId'. Zie de volgende LDIF:&lt;br /&gt;
&lt;br /&gt;
 dn: cn=schema&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: attributetypes&lt;br /&gt;
 attributetypes:( 1.3.6.1.4.1.44413.1.1.1 NAME 'memberId' DESC 'MemberId of person' &lt;br /&gt;
 EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;
 -&lt;br /&gt;
 add: objectclasses&lt;br /&gt;
 objectclasses: ( 1.3.6.1.4.1.44413.1.2.1 NAME 'aesAccount' SUP top AUXILIARY &lt;br /&gt;
 DESC 'A-Eskwadraat account information' MAY  ( memberId ) )&lt;br /&gt;
&lt;br /&gt;
=== Lidnummer toevoegen ===&lt;br /&gt;
&lt;br /&gt;
'mensjeadd' vraagt bij het aanmaken van een account om een lidnummer. Mocht er onverhoopt iets misgaan, met de onderstaande LDIF is het mogelijk om een lidnummer aan een account toe te voegen:&lt;br /&gt;
&lt;br /&gt;
 dn: uid=$login,cn=users,cn=accounts,dc=a-eskwadraat,dc=nl&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: memberId&lt;br /&gt;
 memberId: $lidnummer&lt;br /&gt;
&lt;br /&gt;
== Replication ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Er zijn op dit moment drie IPA-servers met de volgende replication agreements:&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa02&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa02 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
[[Category:Software]] [[Category:Sysop]]&lt;br /&gt;
&lt;br /&gt;
== Gebruik ipa ==&lt;br /&gt;
&lt;br /&gt;
Op de webinterface van IPA zijn alle eigenschappen van gebruikers en groepen te wijzigen onder het tabblad &amp;quot;Identity&amp;quot;. Dit spreekt redelijk voor zich. Bij &amp;quot;Policy&amp;quot; zijn host-based access control en sudoregels in te stellen.&lt;br /&gt;
&lt;br /&gt;
Sommige instellingen, bijvoorbeeld de home directory van een user, zijn als sysop-user niet aan te passen. Hiervoor moet je inloggen als admin.&lt;br /&gt;
&lt;br /&gt;
=== Host-based access control ===&lt;br /&gt;
&lt;br /&gt;
Op alle clients waar ipa is geïnstalleerd, wordt bij het inloggen sssd gebruikt om te authenticeren. Deze controleert op de ipa server of de gebruiker op die machine mag inloggen. Het is gewone gebruikers bijvoorbeeld alleen toegestaan om in te loggen op workstations, niet op virtuele machines en een aantal daarvan zijn wel ipa client. Bij Policy &amp;gt; Host-based Access Control in de IPA webinterface zijn de regels in te stellen die bepalen wie waar mag inloggen. Een regel bevat: de gebruikers waarvoor deze van toepassing is, de computers waarop deze van toepassing is, en de services waarmee ingelogd kan worden. Bij alle drie is er een optie om alles/iedereen toe te staan.&lt;br /&gt;
&lt;br /&gt;
=== Sudoregels ===&lt;br /&gt;
&lt;br /&gt;
Sudoregels staan toe dat een gebruiker een commando uitvoert als iemand anders. Het geeft gebruikers de mogelijkheid om commando's namens hun commissies uit te voeren, of sysop om overal sudo te gebruiken om root te worden. Deze zijn in de webinterface in te stellen bij Policy &amp;gt; Sudo. Een regel bestaat uit: welke gebruiker(s), welke computer(s), welke commando(s) en als welke gebruiker(s). Verder kunnen er opties worden toegevoegd, deze zijn gelijk aan opties die gewoonlijk in sudoers ingesteld kunnen worden, zoals !authenticate die bepaalt dat er geen wachtwoord ingevoerd hoeft te worden voor die regel.&lt;br /&gt;
&lt;br /&gt;
=== Wat te doen als ipa01 eruit ligt ===&lt;br /&gt;
&lt;br /&gt;
Eerst ssh je naar ipa01 als root (met de sysop key).  De directory service raakt corrupt en dan komt wordt het filesysteem read only (ro). Met het volgende command kan je controleren of het filesystem inderdaad read only is:&lt;br /&gt;
  grep &amp;quot;\sro[\s,]&amp;quot; /proc/mounts&lt;br /&gt;
&lt;br /&gt;
Als ext4 read only is dan staat het filesysteem van ipa01 in read only en moet je de vm opnieuw opstarten (&amp;quot;reboot now&amp;quot;). Wanneer de vm herstart is staat het filesysteem weer in read write (rw). De database van ipa is nog corrupt en daarom kunnen we ipa niet in een keer starten. Eerst moeten we de directory service los starten dit kan met het volgende commando:&lt;br /&gt;
  /usr/sbin/start-dirsrv&lt;br /&gt;
&lt;br /&gt;
Als dit zonder errors wordt afgerond moeten we de directory service weer stoppen, dit kan met het volgende commando:&lt;br /&gt;
  /usr/sbin/stop-dirsrv&lt;br /&gt;
&lt;br /&gt;
Nadat dit zonder errors is afgerond moeten we ipa starten. Dit doen we met het volgende commando:&lt;br /&gt;
  ipactl start&lt;br /&gt;
&lt;br /&gt;
Op het moment dat er errors zijn bij het opstarten van de directory service moet er helaas een backup worden teruggezet. Dit wordt gedaan door het volgende te doen:&lt;br /&gt;
  *Hier moet nog komen hoe je een backup terugzet*&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA</id>
		<title>IPA</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA"/>
				<updated>2018-02-26T18:37:11Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FreeIPA is a Red Hat sponsored open source project which aims to provide an easily managed Identity, Policy and Audit (IPA) suite primarily targeted towards networks of Linux and Unix computers. FreeIPA can be compared to Novell's Identity Manager or Microsoft's Active Directory in that the goals and mechanisms used are similar.&lt;br /&gt;
&lt;br /&gt;
FreeIPA currently uses 389 Directory Server for its LDAP implementation, MIT's Kerberos 5 for authentication and single sign-on, the Apache and Python for the management framework and Web UI, and (optionally) Dogtag for the integrated CA and BIND with a custom plugin for the integrated DNS. Development versions also use Samba to integrate with Microsoft's Active Directory by way of Cross Forest Trusts.&lt;br /&gt;
&lt;br /&gt;
While each of the major components of FreeIPA is a pre-existing open source project it is the bundling of these components into a single manageable suite with a Comprehensive Management Interface that make FreeIPA more comparable to its proprietary software cousins, Identity Manager and Active Directory.&lt;br /&gt;
&lt;br /&gt;
FreeIPA aims to provide support not just for Linux and Unix based computers but ultimately Microsoft Windows and Apple Macintosh computers also.&lt;br /&gt;
&lt;br /&gt;
De webinterface van de IPA van A-Eskwadraat is te benaderen via [http://ipa01.a-eskwadraat.nl http://ipa01.a-eskwadraat.nl]. Hiervoor moet je wel op het netwerk van A-Eskwadraat zitten, dit is niet van buiten af te benaderen.&lt;br /&gt;
&lt;br /&gt;
== Server installatie ==&lt;br /&gt;
&lt;br /&gt;
Installeer &amp;lt;code&amp;gt;ipa-server&amp;lt;/code&amp;gt; met alle dependencies. Zorg ervoor dat alle benodigde firewall-poorten open staan, na een schone kickstart hoeft enkel poort 7389 tcp nog geopend te worden. Vervolgens, om ipa-server te installeren ''zonder'' NTP-server:&lt;br /&gt;
&lt;br /&gt;
 ipa-server-install -N&lt;br /&gt;
&lt;br /&gt;
Na de installatie moet de server nog een beveiligings-certificaat krijgen. Voer hiervoor het volgende commando uit:&lt;br /&gt;
&lt;br /&gt;
 ipa-getcert request -d /etc/pki/nssdb/ -n ipaserver-cert&lt;br /&gt;
&lt;br /&gt;
Sudo gegevens zijn niet anoniem uit IPA te halen, daarom moet er voor de standaard user &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; een wachtwoord ingesteld worden (''zou kunnen dat dit niet meer nodig is''). Doe dit met&lt;br /&gt;
&lt;br /&gt;
 ldappasswd -Y GSSAPI uid=sudo,cn=sysaccounts,cn=etc,dc=a-eskwadraat,dc=nl -s sudopasswd&lt;br /&gt;
&lt;br /&gt;
=== Firewall ===&lt;br /&gt;
&lt;br /&gt;
IPA heeft een aantal poorten nodig om correct te werken:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''''Service'''''&lt;br /&gt;
| '''''Poort'''''&lt;br /&gt;
| '''''Type'''''&lt;br /&gt;
|-&lt;br /&gt;
| HTTP/HTTPS&lt;br /&gt;
| 80,443&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| LDAP/LDAPS&lt;br /&gt;
| 389,636&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| Kerberos&lt;br /&gt;
| 88,464&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| DNS&lt;br /&gt;
| 53&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| NTP&lt;br /&gt;
| 123&lt;br /&gt;
| udp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Client installatie ==&lt;br /&gt;
&lt;br /&gt;
{{opmerking| Bij migratie naar een andere IPA-server moet &amp;lt;code&amp;gt;/etc/ipa&amp;lt;/code&amp;gt; leeg zijn.}}&lt;br /&gt;
&lt;br /&gt;
=== ipa-client-install ===&lt;br /&gt;
&lt;br /&gt;
Installeer een IPA-client als volgt (uiteraard als root):&lt;br /&gt;
&lt;br /&gt;
 ipa-client-install&lt;br /&gt;
&lt;br /&gt;
Er wordt tijdens de installatie gevraagd om een gebruikersnaam, gebruik daarvoor gewoon je eigen account.&lt;br /&gt;
&lt;br /&gt;
'''''Reboot het systeem als de installatie voltooid is.'''''&lt;br /&gt;
&lt;br /&gt;
=== sudo ===&lt;br /&gt;
&lt;br /&gt;
Om sudoregels te gebruiken op systemen ouder dan CentOS 7, zie [[Sudo]].&lt;br /&gt;
&lt;br /&gt;
=== httpd ===&lt;br /&gt;
&lt;br /&gt;
Om in websites IPA te gebruiken is het nodig een PAM- en HBAC-service toe te voegen. Zie ook [[HBAC]].&lt;br /&gt;
&lt;br /&gt;
== Schema ==&lt;br /&gt;
&lt;br /&gt;
Aan het standaard schema van IPA is de objectClass 'aesAccount' met attribuut 'memberId'. Zie de volgende LDIF:&lt;br /&gt;
&lt;br /&gt;
 dn: cn=schema&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: attributetypes&lt;br /&gt;
 attributetypes:( 1.3.6.1.4.1.44413.1.1.1 NAME 'memberId' DESC 'MemberId of person' &lt;br /&gt;
 EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;
 -&lt;br /&gt;
 add: objectclasses&lt;br /&gt;
 objectclasses: ( 1.3.6.1.4.1.44413.1.2.1 NAME 'aesAccount' SUP top AUXILIARY &lt;br /&gt;
 DESC 'A-Eskwadraat account information' MAY  ( memberId ) )&lt;br /&gt;
&lt;br /&gt;
=== Lidnummer toevoegen ===&lt;br /&gt;
&lt;br /&gt;
'mensjeadd' vraagt bij het aanmaken van een account om een lidnummer. Mocht er onverhoopt iets misgaan, met de onderstaande LDIF is het mogelijk om een lidnummer aan een account toe te voegen:&lt;br /&gt;
&lt;br /&gt;
 dn: uid=$login,cn=users,cn=accounts,dc=a-eskwadraat,dc=nl&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: memberId&lt;br /&gt;
 memberId: $lidnummer&lt;br /&gt;
&lt;br /&gt;
== Replication ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Er zijn op dit moment drie IPA-servers met de volgende replication agreements:&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa02&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa02 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
[[Category:Software]] [[Category:Sysop]]&lt;br /&gt;
&lt;br /&gt;
== Gebruik ipa ==&lt;br /&gt;
&lt;br /&gt;
Op de webinterface van IPA zijn alle eigenschappen van gebruikers en groepen te wijzigen onder het tabblad &amp;quot;Identity&amp;quot;. Dit spreekt redelijk voor zich. Bij &amp;quot;Policy&amp;quot; zijn host-based access control en sudoregels in te stellen.&lt;br /&gt;
&lt;br /&gt;
Sommige instellingen, bijvoorbeeld de home directory van een user, zijn als sysop-user niet aan te passen. Hiervoor moet je inloggen als admin.&lt;br /&gt;
&lt;br /&gt;
=== Host-based access control ===&lt;br /&gt;
&lt;br /&gt;
Op alle clients waar ipa is geïnstalleerd, wordt bij het inloggen sssd gebruikt om te authenticeren. Deze controleert op de ipa server of de gebruiker op die machine mag inloggen. Het is gewone gebruikers bijvoorbeeld alleen toegestaan om in te loggen op workstations, niet op virtuele machines en een aantal daarvan zijn wel ipa client. Bij Policy &amp;gt; Host-based Access Control in de IPA webinterface zijn de regels in te stellen die bepalen wie waar mag inloggen. Een regel bevat: de gebruikers waarvoor deze van toepassing is, de computers waarop deze van toepassing is, en de services waarmee ingelogd kan worden. Bij alle drie is er een optie om alles/iedereen toe te staan.&lt;br /&gt;
&lt;br /&gt;
=== Sudoregels ===&lt;br /&gt;
&lt;br /&gt;
Sudoregels staan toe dat een gebruiker een commando uitvoert als iemand anders. Het geeft gebruikers de mogelijkheid om commando's namens hun commissies uit te voeren, of sysop om overal sudo te gebruiken om root te worden. Deze zijn in de webinterface in te stellen bij Policy &amp;gt; Sudo. Een regel bestaat uit: welke gebruiker(s), welke computer(s), welke commando(s) en als welke gebruiker(s). Verder kunnen er opties worden toegevoegd, deze zijn gelijk aan opties die gewoonlijk in sudoers ingesteld kunnen worden, zoals !authenticate die bepaalt dat er geen wachtwoord ingevoerd hoeft te worden voor die regel.&lt;br /&gt;
&lt;br /&gt;
=== Wat te doen als ipa01 eruit ligt ===&lt;br /&gt;
&lt;br /&gt;
Eerst log je in als root op ipa01 (met de sysop key). De directory service raakt corrupt en dan komt wordt het filesystem read only. Met het volgende command kan je controleren of het filesystem inderdaad read only is:&lt;br /&gt;
  grep &amp;quot;\sro[\s,]&amp;quot; /proc/mounts&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA</id>
		<title>IPA</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/IPA"/>
				<updated>2018-02-26T18:36:41Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FreeIPA is a Red Hat sponsored open source project which aims to provide an easily managed Identity, Policy and Audit (IPA) suite primarily targeted towards networks of Linux and Unix computers. FreeIPA can be compared to Novell's Identity Manager or Microsoft's Active Directory in that the goals and mechanisms used are similar.&lt;br /&gt;
&lt;br /&gt;
FreeIPA currently uses 389 Directory Server for its LDAP implementation, MIT's Kerberos 5 for authentication and single sign-on, the Apache and Python for the management framework and Web UI, and (optionally) Dogtag for the integrated CA and BIND with a custom plugin for the integrated DNS. Development versions also use Samba to integrate with Microsoft's Active Directory by way of Cross Forest Trusts.&lt;br /&gt;
&lt;br /&gt;
While each of the major components of FreeIPA is a pre-existing open source project it is the bundling of these components into a single manageable suite with a Comprehensive Management Interface that make FreeIPA more comparable to its proprietary software cousins, Identity Manager and Active Directory.&lt;br /&gt;
&lt;br /&gt;
FreeIPA aims to provide support not just for Linux and Unix based computers but ultimately Microsoft Windows and Apple Macintosh computers also.&lt;br /&gt;
&lt;br /&gt;
De webinterface van de IPA van A-Eskwadraat is te benaderen via [http://ipa01.a-eskwadraat.nl http://ipa01.a-eskwadraat.nl]. Hiervoor moet je wel op het netwerk van A-Eskwadraat zitten, dit is niet van buiten af te benaderen.&lt;br /&gt;
&lt;br /&gt;
== Server installatie ==&lt;br /&gt;
&lt;br /&gt;
Installeer &amp;lt;code&amp;gt;ipa-server&amp;lt;/code&amp;gt; met alle dependencies. Zorg ervoor dat alle benodigde firewall-poorten open staan, na een schone kickstart hoeft enkel poort 7389 tcp nog geopend te worden. Vervolgens, om ipa-server te installeren ''zonder'' NTP-server:&lt;br /&gt;
&lt;br /&gt;
 ipa-server-install -N&lt;br /&gt;
&lt;br /&gt;
Na de installatie moet de server nog een beveiligings-certificaat krijgen. Voer hiervoor het volgende commando uit:&lt;br /&gt;
&lt;br /&gt;
 ipa-getcert request -d /etc/pki/nssdb/ -n ipaserver-cert&lt;br /&gt;
&lt;br /&gt;
Sudo gegevens zijn niet anoniem uit IPA te halen, daarom moet er voor de standaard user &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt; een wachtwoord ingesteld worden (''zou kunnen dat dit niet meer nodig is''). Doe dit met&lt;br /&gt;
&lt;br /&gt;
 ldappasswd -Y GSSAPI uid=sudo,cn=sysaccounts,cn=etc,dc=a-eskwadraat,dc=nl -s sudopasswd&lt;br /&gt;
&lt;br /&gt;
=== Firewall ===&lt;br /&gt;
&lt;br /&gt;
IPA heeft een aantal poorten nodig om correct te werken:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=&amp;quot;30%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''''Service'''''&lt;br /&gt;
| '''''Poort'''''&lt;br /&gt;
| '''''Type'''''&lt;br /&gt;
|-&lt;br /&gt;
| HTTP/HTTPS&lt;br /&gt;
| 80,443&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| LDAP/LDAPS&lt;br /&gt;
| 389,636&lt;br /&gt;
| tcp&lt;br /&gt;
|-&lt;br /&gt;
| Kerberos&lt;br /&gt;
| 88,464&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| DNS&lt;br /&gt;
| 53&lt;br /&gt;
| tcp,udp&lt;br /&gt;
|-&lt;br /&gt;
| NTP&lt;br /&gt;
| 123&lt;br /&gt;
| udp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Client installatie ==&lt;br /&gt;
&lt;br /&gt;
{{opmerking| Bij migratie naar een andere IPA-server moet &amp;lt;code&amp;gt;/etc/ipa&amp;lt;/code&amp;gt; leeg zijn.}}&lt;br /&gt;
&lt;br /&gt;
=== ipa-client-install ===&lt;br /&gt;
&lt;br /&gt;
Installeer een IPA-client als volgt (uiteraard als root):&lt;br /&gt;
&lt;br /&gt;
 ipa-client-install&lt;br /&gt;
&lt;br /&gt;
Er wordt tijdens de installatie gevraagd om een gebruikersnaam, gebruik daarvoor gewoon je eigen account.&lt;br /&gt;
&lt;br /&gt;
'''''Reboot het systeem als de installatie voltooid is.'''''&lt;br /&gt;
&lt;br /&gt;
=== sudo ===&lt;br /&gt;
&lt;br /&gt;
Om sudoregels te gebruiken op systemen ouder dan CentOS 7, zie [[Sudo]].&lt;br /&gt;
&lt;br /&gt;
=== httpd ===&lt;br /&gt;
&lt;br /&gt;
Om in websites IPA te gebruiken is het nodig een PAM- en HBAC-service toe te voegen. Zie ook [[HBAC]].&lt;br /&gt;
&lt;br /&gt;
== Schema ==&lt;br /&gt;
&lt;br /&gt;
Aan het standaard schema van IPA is de objectClass 'aesAccount' met attribuut 'memberId'. Zie de volgende LDIF:&lt;br /&gt;
&lt;br /&gt;
 dn: cn=schema&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: attributetypes&lt;br /&gt;
 attributetypes:( 1.3.6.1.4.1.44413.1.1.1 NAME 'memberId' DESC 'MemberId of person' &lt;br /&gt;
 EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE )&lt;br /&gt;
 -&lt;br /&gt;
 add: objectclasses&lt;br /&gt;
 objectclasses: ( 1.3.6.1.4.1.44413.1.2.1 NAME 'aesAccount' SUP top AUXILIARY &lt;br /&gt;
 DESC 'A-Eskwadraat account information' MAY  ( memberId ) )&lt;br /&gt;
&lt;br /&gt;
=== Lidnummer toevoegen ===&lt;br /&gt;
&lt;br /&gt;
'mensjeadd' vraagt bij het aanmaken van een account om een lidnummer. Mocht er onverhoopt iets misgaan, met de onderstaande LDIF is het mogelijk om een lidnummer aan een account toe te voegen:&lt;br /&gt;
&lt;br /&gt;
 dn: uid=$login,cn=users,cn=accounts,dc=a-eskwadraat,dc=nl&lt;br /&gt;
 changetype: modify&lt;br /&gt;
 add: memberId&lt;br /&gt;
 memberId: $lidnummer&lt;br /&gt;
&lt;br /&gt;
== Replication ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;Er zijn op dit moment drie IPA-servers met de volgende replication agreements:&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa02&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa01 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
*&amp;lt;s&amp;gt;ipa02 &amp;amp;lt;=&amp;amp;gt; ipa03&amp;lt;/s&amp;gt;&lt;br /&gt;
[[Category:Software]] [[Category:Sysop]]&lt;br /&gt;
&lt;br /&gt;
== Gebruik ipa ==&lt;br /&gt;
&lt;br /&gt;
Op de webinterface van IPA zijn alle eigenschappen van gebruikers en groepen te wijzigen onder het tabblad &amp;quot;Identity&amp;quot;. Dit spreekt redelijk voor zich. Bij &amp;quot;Policy&amp;quot; zijn host-based access control en sudoregels in te stellen.&lt;br /&gt;
&lt;br /&gt;
Sommige instellingen, bijvoorbeeld de home directory van een user, zijn als sysop-user niet aan te passen. Hiervoor moet je inloggen als admin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Host-based access control ===&lt;br /&gt;
&lt;br /&gt;
Op alle clients waar ipa is geïnstalleerd, wordt bij het inloggen sssd gebruikt om te authenticeren. Deze controleert op de ipa server of de gebruiker op die machine mag inloggen. Het is gewone gebruikers bijvoorbeeld alleen toegestaan om in te loggen op workstations, niet op virtuele machines en een aantal daarvan zijn wel ipa client. Bij Policy &amp;gt; Host-based Access Control in de IPA webinterface zijn de regels in te stellen die bepalen wie waar mag inloggen. Een regel bevat: de gebruikers waarvoor deze van toepassing is, de computers waarop deze van toepassing is, en de services waarmee ingelogd kan worden. Bij alle drie is er een optie om alles/iedereen toe te staan.&lt;br /&gt;
&lt;br /&gt;
=== Sudoregels ===&lt;br /&gt;
&lt;br /&gt;
Sudoregels staan toe dat een gebruiker een commando uitvoert als iemand anders. Het geeft gebruikers de mogelijkheid om commando's namens hun commissies uit te voeren, of sysop om overal sudo te gebruiken om root te worden. Deze zijn in de webinterface in te stellen bij Policy &amp;gt; Sudo. Een regel bestaat uit: welke gebruiker(s), welke computer(s), welke commando(s) en als welke gebruiker(s). Verder kunnen er opties worden toegevoegd, deze zijn gelijk aan opties die gewoonlijk in sudoers ingesteld kunnen worden, zoals !authenticate die bepaalt dat er geen wachtwoord ingevoerd hoeft te worden voor die regel.&lt;br /&gt;
&lt;br /&gt;
=== Wat te doen als ipa01 eruit ligt ===&lt;br /&gt;
&lt;br /&gt;
Eerst log je in als root op ipa01 (met de sysop key). De directory service raakt corrupt en dan komt wordt het filesystem read only. Met het volgende command kan je controleren of het filesystem inderdaad read only is:&lt;br /&gt;
  grep &amp;quot;\sro[\s,]&amp;quot; /proc/mounts&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Zoo</id>
		<title>Zoo</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Zoo"/>
				<updated>2018-02-26T18:27:03Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Zoo}}&lt;br /&gt;
&lt;br /&gt;
Een Zoo is een term voor een VM die wordt gebruikt als sandbox binnen de sysop. Hierop wordt bijvoorbeeld een inwerking voltooid of iets getest. Hierdoor heb je afzondering van de rest van het systeem en kan er veilig van alles fout gaan.&lt;br /&gt;
&lt;br /&gt;
== Het maken van een Zoo ==&lt;br /&gt;
&lt;br /&gt;
Je kan een zoo maken door de stappen in de [https://mediawiki.a-eskwadraat.nl/wiki/index.php/Virtualisation virtualisatie documentatie] te volgen&lt;br /&gt;
&lt;br /&gt;
[[Category:Sysop]]&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	<entry>
		<id>https://mediawiki.a-eskwadraat.nl/wiki/index.php/Zoo</id>
		<title>Zoo</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.a-eskwadraat.nl/wiki/index.php/Zoo"/>
				<updated>2018-02-26T18:23:51Z</updated>
		
		<summary type="html">&lt;p&gt;Samh: Created page with &amp;quot;{{DISPLAYTITLE:Zoo}}  Een Zoo is een term voor een VM die wordt gebruikt als sandbox binnen de sysop. Hierop wordt bijvoorbeeld een inwerking voltooid of iets getest. Hierdoor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Zoo}}&lt;br /&gt;
&lt;br /&gt;
Een Zoo is een term voor een VM die wordt gebruikt als sandbox binnen de sysop. Hierop wordt bijvoorbeeld een inwerking voltooid of iets getest. Hierdoor heb je afzondering van de rest van het systeem en kan er veilig van alles fout gaan.&lt;br /&gt;
&lt;br /&gt;
== Het maken van een Zoo ==&lt;br /&gt;
&lt;br /&gt;
Je kan een zoo maken door de stappen in de [https://mediawiki.a-eskwadraat.nl/wiki/index.php/Virtualisation virtualisatie documentatie] te volgen&lt;/div&gt;</summary>
		<author><name>Samh</name></author>	</entry>

	</feed>