Parental control voor Linux?
- September 14, 2021
- 0
Als ouder wil je allicht een aantal beperkingen opleggen aan het computergebruik van je (jonge) kinderen. Parental control software helpt je daarbij: in deze workshop gaan we aan de slag met twee oplossingen voor Linux.(een artikel van Filip Vervloesem).
We gaan uit van twee populaire maatregelen om het computergebruik van je kroost in te perken:
– het gebruik van de computer beperken in tijd met Timekpr
– ongewenste websites blokkeren met CTparental
Dat zijn twee losstaande maatregelen, die je onafhankelijk van elkaar kan invoeren. Misschien ben je enkel geïnteresseerd in één van die maatregelen. Dan mag je het andere deel van de workshop gerust overslaan. Een aantal opmerkingen gelden wel voor beide programma’s. Zo heeft het natuurlijk geen zin om beperkingen op te leggen als ze eenvoudig te omzeilen zijn! Het is dus erg belangrijk dat jouw kind aanlogt met een eigen gebruikersaccount, zonder beheerdersrechten (Standaard gebruikersaccount in Linux Mint). Zulke gebruikers kunnen de opgelegde beperkingen niet zomaar uitschakelen.
Is je kind al wat ouder en toont het een gezonde interesse in technologie? Dan is het misschien een uitdaging voor hem of haar om de beperkingen tóch proberen te omzeilen. In principe is het zelfs relatief eenvoudig om beheerdersrechten te krijgen als je fysieke toegang tot het systeem hebt. Wil je de uitdaging wat groter maken? Stel dan een veilig wachtwoord in voor alle beheerdersaccounts (dus niet pakweg de naam van je kind!) en beveilig de Grub-bootloader ook met een wachtwoord. Dan moet je al booten vanaf een live-cd om wijzigingen aan het systeem aan te brengen. Wil je ook die optie uitsluiten, schakel dan alle boot devices uit in het BIOS (behalve de interne schijf) en beveilig het BIOS met een wachtwoord. Nu wordt het al behoorlijk omslachtig om beheerderstoegang te krijgen tot je systeem. Je moet de pc immers openschroeven, de schijf eruithalen en aankoppelen aan een ander Linux-systeem. Is je kind in staat om dat te doen, dan is het waarschijnlijk ook oud genoeg om zonder beperkingen jouw pc te gebruiken 🙂
Timekpr
Vooral bij jongere kinderen controleer je misschien liever of ze niet té veel tijd spenderen op jouw computer. Je kan dat uiteraard zelf proberen bij te houden, maar handig is dat niet. Staat de computer in een andere ruimte of ben je zelf druk bezig, dan verlies je gemakkelijk de tijd uit het oog. We zoeken dus een oplossing om gebruikersaccounts onder bepaalde omstandigheden automatisch de toegang te ontzeggen. Voor Linux is dergelijke software helaas nogal dun gezaaid. Er bestaat eigenlijk slechts één goed programma met die functionaliteit en dat is Timekpr. De eerste versie verscheen ongeveer tien jaar geleden, maar de ontwikkeling verliep nogal moeizaam. Door gebrekkig onderhoud werkte Timekpr vaak niet meer op de nieuwste distro’s. Daarom verschenen er twee afgeleide projecten: Timekpr-revived (voor Ubuntu 12.04 en hoger) en Timekpr-nExT (voor Ubuntu 16.04 en hoger). In moderne distro’s installeer je dus Timekpr-nExT, maar voor het gemak spreken we verder in de workshop steeds over Timekpr.
Installatie
Timekpr-nExT is een relatief jong project en heeft zijn weg dus nog niet gevonden naar de distro repositories. Voor Ubuntu en Linux Mint is er een PPA beschikbaar op https://launchpad.net/timekpr-next. We overlopen kort de installatie in Linux Mint. Open Menu > Beheer > Pakketbronnen en selecteer het tweede onderdeel in de navigatiebalk (PPA’s). Klik op Toevoegen en vul volgende naam in:
ppa:mjasnik/ppa
Wacht nu enkele seconden en klik op Oké in het volgende scherm. Bovenaan het venster verschijnt er een melding dat de instellingen zijn gewijzigd: klik nogmaals op Oké om de softwarecache bij te werken. Sluit nu Pakketbronnen, open Programmabeheer, klik op het menu-icoontje rechtsboven en kies Ververs pakketlijst. Zoek vervolgens op “timekpr” in het zoekvak rechtsboven, selecteer Timekpr-next en klik op Installeren. Na installatie -en na even uit te loggen en opnieuw in te loggen- verschijnt er een icoontje van een hangslot in de taakbalk om aan te duiden dat Timekpr actief is.
## 01_timekpr_install.png: Installeer Timekpr eenvoudig in Linux Mint via een PPA
Server en client
Timekpr bestaat uit drie componenten:
- een server, die steeds op de achtergrond draait en die de beperkingen afdwingt
- een client, die de gebruiker toont welke beperkingen er actief zijn
- een configuratietool, waarmee je per gebruiker specifieke limieten instelt
De client open je via het Timekpr-icoontje in de taakbalk. De optie Time left geeft aan hoe lang je vandaag nog op de computer mag werken. Via Limits & Configuration zie je de precieze configuratie voor jouw gebruiker, namelijk hoeveel tijd je per dag, per week en per maand mag werken en tijdens welke uren van de dag. Als gewone gebruiker kan je uiteraard niets wijzigen aan die limieten!
## 02_timekpr_client.png: De Timekpr client toont je precies hoe lang je nog mag werken
Configuratie
De eigenlijke configuratie verloopt via Beheer > Timekpr Control Panel. Er zijn twee snelkoppelingen naar dat programma in het startmenu: één die begint met (SU) en waarvoor je je beheerderswachtwoord moet invullen en één zonder. Enkel die eerste laat je toe om alle instellingen te wijzigen. Kies om te beginnen een gebruiker uit de lijst bovenaan. In het eerste tabblad onderaan zie je hoeveel tijd die gebruiker al gespendeerd heeft tijdens de huidige dag, week en maand. Je kan daar ook manueel tijd toevoegen aan of aftrekken van de geregistreerde tijd voor vandaag. In het volgende tabblad stel je de dagelijkse limieten in. Per dag stel je een maximale tijd in, eventueel binnen een bepaald tijdsvak. Bijvoorbeeld: op weekdagen 1u per dag, enkel tussen 19u en 21u en in de weekend 2u per dag, tussen 10u en 18u. De toegang volledig uitschakelen op bepaalde dagen is ook mogelijk. Daarvoor vink je gewoon de kolom Enabled af.
## 03_timekpr_config.png: De configuratie van Timekpr is niet erg gebruiksvriendelijk
Even wennen
Helaas is de configuratie niet erg gebruiksvriendelijk. Wijzigingen worden niet meteen doorgevoerd, maar pas nadat je klikt op Set, Add of Remove. Ingestelde limieten kan je niet meer bewerken, maar enkel overschrijven. Wil je bijvoorbeeld 1u veranderen in 1u30, dan moet je opnieuw zowel het uur als de minuten instellen. Bij de tijdsvakken is dat nog omslachtiger. Overlapt het aangepaste tijdsvak met een bestaand tijdsvak, dan moet je die laatste eerst verwijderen. Een ander probleem doet zich voor wanneer je alle beperkingen qua tijdsvak verwijdert. Je moet dan eigenlijk een nieuw tijdsvak aanmaken van 00:00 tot 24:00. Doe je dat niet, dan herstelt Timekpr de vorige instelling zónder dat je het merkt! Ben je klaar met de configuratie van één gebruikersaccount? Vergeet dan niet te klikken op de knop Apply daily limits om de wijzigingen effectief weg te schrijven. Wij hadden aanvankelijk niet door dat dat een knop was, omdat die de volledige breedte van het venster inneemt! In het derde tabblad stel je eventueel nog wekelijkse en maandelijkse limieten in. Die gebruik je om bijvoorbeeld elke dag tot twee uur schermtijd toe te staan, maar in totaal slechts tien uur per week.
Zonder pardon
Eens de configuratie op punt staat, doet Timekpr zijn werk goed. Gebruikers met beperkingen krijgen in de taakbalk een gesloten in plaats van een open hangslotje te zien. Dat hangslotje wordt ook rood wanneer het einde van de toegestane tijd nabij komt. Is de schermtijd opgebruikt? Dan wordt de sessie zonder pardon afgesloten, na een korte waarschuwing. Probeer je in te loggen buiten de toegestane uren, dan gebeurt hetzelfde.
CTParental
Wil je niet dat je kinderen onbeperkt op internet surfen? Dan installeer je een proxy server, configureer je de nodige beperkingen en blokkeer je rechtstreekse verbindingen naar het internet. Er bestaan voor Linux verschillende applicaties om dat te doen, zoals Squid en DansGuardian. Helaas zijn die niet zo eenvoudig te configureren voor wie absoluut géén kennis heeft van de commandline. CTparental is een veelbelovende oplossing voor wie minder technisch aangelegd is. CTparental is een kant-en-klaar pakket om webverkeer te filteren. Achterliggend maakt CTparental gebruik van iptables, dnsmasq, e2guardian, Privoxy, ClamAV en lighttpd, maar daar hoef je je weinig van aan te trekken. De configuratie verloopt immers via een eenvoudige webinterface. CTparental biedt onder andere de volgende mogelijkheden om webverkeer te filteren:
– categorieën van websites blokkeren
– specifieke websites blokkeren (blacklist) of tóch toelaten (whitelist)
– internettoegang beperken tot bepaalde uren
– maximale tijdsduur instellen voor internettoegang
– SafeSearch in Google afdwingen
Installatie
De ontwikkelaar van CTparental is Franstalig, maar het grootste deel van de website is ook in het Engels beschikbaar. De precieze installatie-instructies vind je op https://bit.ly/37v1FVs. Er zijn pakketten beschikbaar voor verschillende Debian- en Ubuntu-versies op https://bit.ly/2ZN40Zf. Gebruik je Linux Mint 19? Kies dan het pakket voor Ubuntu 18.04. De wiki bevat verder ook instructies voor installatie in Fedora, Mageia en Solus. Heb je reeds een oudere versie van CTparental geïnstalleerd, dan moet je die eerst verwijderen. Wij hebben CTparental 4.44.05i getest op Linux Mint 19.2 met het installatiepakket ctparental_ubuntu18.04_lighttpd_4.44.05-1.0_all.deb.
Download nu de laatste versie voor jouw distributie en dubbelklik op het .deb-bestand om de installatie te starten. Klik op pakket installeren: je krijgt dan een lijst van benodigde pakketten te zien. Klik op doorgaan om die allemaal te installeren: dat kan wel een vijftal minuten duren. Tijdens de installatie kregen we nog een venster te zien met de vraag om de toetsenbordindeling aan te passen voor het pakket console-data. Klik gewoon op Volgende om die instellingen ongemoeid te laten. Vervolgens verschijnt er een pop-upvenster om een gebruikersnaam en wachtwoord in te stellen voor de webinterface. Kies een sterk wachtwoord, want anders kunnen je kinderen de instellingen achter jouw rug wijzigen! Wees geduldig nadat je op Volgende geklikt hebt, want in de achtergrond worden er nog allerlei zaken geconfigureerd. Het pop-upvenster verdwijnt een minuut later: de installatie is dan afgerond. Sluit tot slot het Pakketinstalleerder-venster.
04_ctparental_install.png: CTparental installeer je via een deb-pakket
## 05_ctparental_pw.png: Stel een gebruikersnaam en wachtwoord in om CTparental te beveiligen
Configuratie
Je hebt enkel de webinterface nodig om CTparental te configureren. Surf dus naar de volgende url:
https://admin.ct.local
en log in met de gekozen gebruikersnaam/wachtwoord-combinatie. In de menubalk bovenaan vind je een sneltoets om de webfiltering globaal uit te schakelen. Dat is handig om tijdelijk volledige internettoegang te geven, bijvoorbeeld wanneer je zelf een oogje in het zeil houdt. Aan de linkerkant van het scherm zie je een navigatiebalk met acht onderdelen. In Blacklist filtering kies je welke categorieën van websites je al dan niet wilt blokkeren. Die informatie is gebaseerd op een blacklist van de universiteit van Toulouse. Meer informatie over die blacklist en de verschillende categorieën vind je op https://bit.ly/2ZMfwnL (in het Frans). Je kan vanuit CTparental de laatste versie van die blacklist downloaden of dat automatisch éénmaal per week laten doen.
Webverkeer filteren
De standaardconfiguratie blokkeert onder andere adult (veruit de grootste categorie), gambling, hacking, malware, phishing en warez. De bedoeling van een blacklist is dat jij je niet hoeft bezig te houden met uit te zoeken welke websites je wilt blokkeren. Toch is het mogelijk dat er soms onterecht een website geblokkeerd wordt of dat er één door de mazen van het net glipt. In dat geval voeg je de domeinnaam toe onder Rehabilitated domain names (onterecht geblokkeerd) of onder Filtered domain names (onterecht toegelaten). Klik tot slot op Save changes en wacht een dertigtal seconden om de nieuwe configuratie te laden. CTparental kan ook bepaalde bestandstypes blokkeren. Die configureer je onder “extensions to be filtered” en “mimetype to be filtered”. Op dat onderdeel is de standaardconfiguratie behoorlijk restrictief: audio-, video- en zip-bestanden wil je misschien niet zomaar blokkeren…
06_ctparental_web.png: CTparental configureer je via een eenvoudige webinterface
## 07_ctparental_blocked.png: CTparental in actie
Geavanceerde configuratie
Een webfilter op een gedeelde computer heeft vaak als nadeel dat élke gebruiker nog maar beperkte internettoegang heeft. Gelukkig biedt CTparental de optie om specifieke gebruikers uit te sluiten van de beperkingen. Onder “privileged group” selecteer je gewoon de gebruikers die nog volledige internettoegang mogen hebben. Standaard zijn dat de gebruikers met beheerdersrechten op de computer. Handig is ook de optie om Safesearch af te dwingen in Google. Probeer je in Google de optie “Expliciete resultaten filteren” uit te schakelen, dan lukt dat niet. Zo is de kans erg klein dat je alsnog terechtkomt op een ongewenste adult-website die niet in de blacklist is opgenomen. Maar let op: die optie is actief voor iedereen, dus óók voor de gebruikers met volledige internettoegang. Heb je zelf geen boodschap aan Safesearch, dan zal je die optie (tijdelijk) moeten uitschakelen voor iedereen.
## 08_ctparental_safesearch.png: Erg handig is de optie om Google Safesearch af te dwingen
Beperkte uren
Tot slot kan CTparental de internettoegang ook beperken tot bepaalde uren of tot een maximum aantal uren per dag. Dat doe je door onder “Hours of allowed connections” op Enable te klikken en vervolgens een gebruiker te kiezen. Dan verschijnt de tekst “24/7” met een selectievakje ernaast: vink dat vakje af en klik vervolgens op de knop “Record”. Je kan dan het maximaal aantal minuten instellen dat die gebruiker de pc mag gebruiken of op internet mag surfen. Optioneel stel je voor elke weekdag nog één of twee tijdsvakken in waarbinnen je toegang wilt geven. Klik nogmaals op “Record” om de wijzigingen te bewaren. De webinterface is hier een beetje rommelig en tijdens onze test leek deze functionaliteit ook niet correct te werken. Je gebruikt dus beter Timekpr als je de schermtijd van je kinderen wilt beperken.
Conclusie
Timekpr en CTparental zijn twee prima oplossingen om het computergebruik van je kinderen enigzins binnen de perken te houden. Timekpr zorgt ervoor dat ze niet té veel tijd achter het scherm spenderen, terwijl CTparental ongewenste websites filtert. Beide programma’s bevatten hier en daar misschien wat schoonheidsfoutjes, maar desondanks doen ze prima hun werk. Op zich bieden ze geen nieuwe functionaliteit aan, maar ze maken die wél toegankelijk voor een breder publiek. Beide programma’s kan je immers perfect installeren én configureren zonder op de commandline terug te vallen.