Home

 

Server::Configureren

Naar index

Tools en Hulpprogramma's

Voor het configureren en beheren van de ClearOS server staan ons naast 'Webconfig' diverse tools en hulpmiddelen ter beschikking zoals, puTTY, Webmin en YUM

puTTY
Met Webconfig hebben we een grafische console voor het beheer van de server.
Voor veel applicaties is verdere configuratie echter alleen mogelijk aan de shell prompt met Bash.
puTTY is een vrije telnet- en SSH-client en hiervoor uitstekend geschikt. Het is software waarmee een verbinding gemaakt wordt met een andere computer, meestal zijn dit servers met een op UNIX gebaseerd besturingssysteem. puTTY is een vervanging voor een terminal (ook wel Teletype, TTY genoemd), een domme machine die voor de introductie van de Personal Computer, gebruikt werd om te verbinden met een server.

De verbinding tussen de terminalsoftware en de server verloopt via het SSH-protocol, dat als de veilige opvolger wordt gezien van het verouderde telnetprotocol.
puTTY is down te loaden van http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html onclick="window.open(this.href); return false;"

puTTY heeft geen installatieprogramma, het bestaat uit één .exe bestand en kan overal op de harde schijf neergezet worden.
Geef bij hostname het IP adres van de ClearOS server en accepteer de voorgestelde poort 22 voor SSH en selecteer het SSH protocol. Er zijn diverse configuratie schermen om de applicatie naar eigen wens op te zetten.
De configuratie kan op naam opgeslagen worden, zodat bij het opstarten het inlogscherm geopend wordt. Maak hiervoor een desktop icon met de link : "C:\Program Files\Putty\putty.exe" -load "<naam>", waarbij <naam> vervangen wordt door de naam waaronder de configuratie opgeslagen is.

Als puTTY op de desktop geopend is kan door rechts-klikken op de bovenbalk een contextmenu geopend worden met speciale opties en voor aanpassen van de configuratie.

Note: Let er bij het instellen van de server firewall op dat voor puTTY de benodigde poort (22) open gesteld wordt voor SSH. Beperk dit wel tot alleen het lokale netwerk, dwz bron IP-range 192.168.178.0/24. Zie de de regel voor SSH in de sectie Firewall: Diensten met aanvullende firewall beperkingen.

Vertraging bij het inloggen: Als er bij het inloggen van puTTY vertraging optreedt dan is dit een vaker voorkomend SSH probleem. Hierbij probeert de server een DNS Lookup van de client te doen en als dit niet lukt wacht de server totdat er een time-out optreedt voordat het verder gaat met de verbinding.
Dit kan voorkomen worden door de volgende regel toe te voegen in /etc/ssh/sshd_config: UseDNS no Bij ClearOS 7.3 lijkt dit niet nodig te zijnn.

Naar index

WEBMIN
Met dit programma kan vanuit een webbrowser een Unix-achtig systeem onderhouden en geadministreerd worden. Zo is het bijvoorbeeld mogelijk om gebruikersaccounts te beheren, om instellingen te wijzigen voor Apache, Mysql en dns, en om fileshares aan te maken. Webmin bestaat uit een eenvoudige webserver, aangevuld met diverse in Perl 5 geschreven cgi-programma's.
Terwijl WEBCONFIG is gemaakt door ClearOS voor ClearOS, is WEBMIN voor LINUX in het algemeen. WEBMIN heeft veel meer opties, maar kan daarom ook riskant zijn.
WEBMIN komt niet voor in de ClearOS repositorie en moet dus zelf gehaald en geïnstalleerd worden.
Helaas wordt ClearOS 7 niet herkend en worden de Apps niet gevonden omdat ClearOS hiervoor een aangepast bestandssysteem gebruikt.
Elke gewenste (en aanwezige) module moet op de hand gecorrigeerd worden.

De ClearOS Webserver Webconfig is inmiddels dusdanig verbeterd, dat het installeren en configureren van Webmin niet meer loont.

Naar index

YUM
Door Linuxgebruikers en systeembeheerders worden rpm-bestanden gebruikt om op een eenvoudige manier software te kunnen updaten, upgraden of installeren.
RPM Package Manager (of RPM, oorspronkelijk Red Hat Package Manager genaamd) is een package manager die primair is bedoeld voor het besturingssysteem Linux.
RPM installeert, updatet, verwijdert, verifieert en bevraagt softwarepakketten.
RPM is het standaardsoftwarepakketformaat van de Linux Standard Base. Daar overheen wordt meestal een gebruiksvriendelijke frontend, zoals YUM, gebruikt waarmee een gebruiker via een simpele opdracht een toepassing kan installeren of updaten.
YUM (Yellow dog Updater Modified) is een Linux update-gereedschap dat de afhankelijkheden verwerkt bij het gebruik van RPM.
YUM is een commando in 'bash', zie voor details # man yum en voor voorbeelden van gebruik de hierna volgende sectie.

Upgrade met YUM
Commando: # yum upgrade
Als dit uitgevoerd wordt zonder vermelding van packages zal 'upgrade' alle geïnstalleerde packages upgraden. Tijdens het upgraden zal YUM zeker stellen dat aan alle afhankelijkheden (dependencies) voldaan wordt.

Andere YUM commando's:
# yum repolist Resulteert in lijst van van Clearrepositories zoals gespecificeerd in '/etc/yum.repos.d/base.repo'.
# yum list Resulteert in lijst van alle geïnstalleerde packages en alle overige in de repositories beschikbare packages.
# yum list [*samba*] Als hierboven maar nu alleen de packages waarbij in de naam 'samba' voor komt.
# yum list available Resulteert in lijst met alle in de repositories beschikbare upgrades of modules
# yum list installed Resulteert in lijst met alle geïnstalleerde modules
# yum install [package] Installeert gespecificeerde package en zorgt dat dependencies in orde zijn.
# yum remove [package] Verwijdert gespecificeerde package en dependencies.

Voor een listing van alle geïnstalleerde Apps:
# yum list installed | grep ^app > apps.txt
of voor een compactere lijst:
# rpm -qa | grep ^app > apps.txt

Naar index

UPDATES/UPGRADES uit ClearOS Repositories

Repositories
Een software repository is een opslaglocatie vanwaar updates en apps geupload en op de server geïnstalleerd kunnen worden. Welke updates en apps beschikbaar zijn in de ClearOS 'Marketplace' is afhankelijk van welke repositories geactiveerd zijn. Op de homeserver heb ik alle repositories geactiveerd behalve die met de vermelding 'testing' of 'unverified'
De default ClearOS Repository List is als ingesteld op Webconfig > Cloud > Updates > Software Repository:

Extra repositories activeren
Bovenstaand ClearOS repository-pakket is zeer uitgebreid. Het gebruik van 'testing' en 'unverified' repositories wordt afgeraden en zijn voorbehouden aan programmeurs.

Om te zien in welke pakketten in één bepaalde repository zitten:
# yum --disablerepo="*" --enablerepo=private-clearcenter-dyndns list available

In plaats van repositories toe te voegen zoals hierboven via Webconfig is het ook mogelijk met YUM tijdelijk een repository toe te voegen bijvoorbeeld:
# yum --enablerepo=clearos-epel install awstats
Hiermee wordt het Web Analyse pakket 'awstats 7.3-2.el7' geïnstalleerd.

Om de repo's permanent toe te voegen is een edit nodig in één van de *.repo bestanden in '/etc/yum.repos.d/' en wijzig van betreffende repo de lijn 'enabled=0' naar 'enabled=1', maar kan ook zoals hierboven beschreven met 'Webconfig'.

Om een bepaald pakket (in dit voorbeeld 'lshw') in alle ClearOS repo's te zoeken gebruiken we het commando:
# yum --enablerepo="*" list | grep 'lshw'
Dit resulteert bij ClearOS 7.3 in het volgende:
lshw.x86_64       B.02.18-7.el7    clearos-centos
lshw-gui.x86_64   B.02.18-7.el7    centos-unverified
Hiermee hebben we vastgesteld dat betreffende pakket beschikbaar is en wel in de repo 'clearos-centos

Naar index

Automatische ClearOS Updates

Zet In ClearOS Webconfig > Cloud > Software Updates de 'Automatic Update' aan. Clearfoundation installeert nu op regelmatige basis de meest recente software.
Ten tijde van het bijwerken van deze configuratiepagina op 17-10-2019 was bijvoorbeeld ClearOS inmiddels automatisch opgewaardeerd van 7.3 naar versie 7.7.1

Naar index

Automatische Update mislukt

Als je automatische updates uitschakeld of software van derden installeert dat mogelijk een conflict veroorzaakt met de update van afhankelijkheden (dependencies) is het onvermijdelijk dat je op regelmatige basis handmatig op updates controleert met het commando #yum update.
Als er dependencies ontbreken in de beschikbare repositories moeten deze eerst geïnstalleerd worden. Om te vinden in welke repository ze beschikbaar zijn kun je het hierboven beschreven commando gebruiken: # yum --enablerepo="*" list | grep 'naam ontbrekende dependency'
Als we hiermee de <repositorynaam> gevonden hebben kunnen we de update alsnog uitvoeren met het commando: # yum --enablerepo=<repositorynaam> update

Naar index

Software Repository laadt niet

Medio 2022 bleek bij een handmatige controle de automatische update niet meer te werken.
In Webconfig > Cloud > Updates resulteerde de selectie 'Software Repository' in een eeuwig ronddraaiende cursor, de Update App bleef hangen.

In de console resulteerde het commando # yum list in het volgende:

Loading mirror speeds from cached hostfile
 * clearos: mirror1-amsterdam.clearos.com
 * clearos-centos: download4.clearsdn.com
 * clearos-centos-extras: download4.clearsdn.com
 * clearos-centos-fasttrack: download4.clearsdn.com
 * clearos-centos-sclo-rh: download4.clearsdn.com
 * clearos-centos-updates: download4.clearsdn.com
 * clearos-centosplus: download4.clearsdn.com
 * clearos-contribs: mirror1-amsterdam.clearos.com
 * clearos-epel: download4.clearsdn.com
 * clearos-fast-updates: download4.clearsdn.com
 * clearos-infra: mirror1-amsterdam.clearos.com
 * clearos-paid: mirror1-amsterdam.clearos.com
 * clearos-updates: mirror1-amsterdam.clearos.com
.....

.....
Trying other mirror.
http://download4.clearsdn.com/centos/7.9.2009/centosplus/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.

 One of the configured repositories failed (CentOS-7 - x86_64 - Plus),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:
     1. Contact the upstream for the repository and get them to fix the problem.
     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).
     3. Run the command with the repository temporarily disabled
            yum --disablerepo=clearos-centosplus ...
     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable clearos-centosplus
        or
            subscription-manager repos --disable=clearos-centosplus
     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=clearos-centosplus.skip_if_unavailable=true

failure: repodata/repomd.xml from clearos-centosplus: [Errno 256] No more mirrors to try.

Het probleem was dus de CentosPlus repository en uit verder onderzoek op Clearos forums werd duidelijk dat de url naar deze repository dood is.

Voorgaande is ook te bewerkstelligen met een edit van de desbetrefefende sectie in het bestand /etc/yum.repos.d/clearos-centos.repo

[clearos-centosplus]
name=CentOS-7 - $basearch - Plus
baseurl=http://download1.clearsdn.com/centos/7.9.2009/centosplus/x86_64
       http://download2.clearsdn.com/centos/7.9.2009/centosplus/x86_64
       http://download3.clearsdn.com/centos/7.9.2009/centosplus/x86_64
       http://download4.clearsdn.com/centos/7.9.2009/centosplus/x86_64
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
http_caching = packages
skip_if_unavailable = 1

Naar index

PHP update naar 7.4 met PHP-Engines

Met de ClearOS 7.3 distributie van 2016 werd voor de Apache webserver de toen al verouderde PHP versie 5.4 meegeleverd. Tot op heden ( 25-03-2019) heeft ClearOS hiervoor geen update uitgebracht. Dit terwijl RedHat en CentOS al lang de versies 5.6 en 7.0 uitgebracht hebben. Zie https://www.clearos.com/resources/

Eind 2017 heeft ClearOS een app gebouwd waarmee deze RedHat PHP distributies in ClearOS 7.0 geïntegreerd kunnen worden. Deze app kan geïnstalleerd worden vanuit de ClearOS Marketplace of aan de command line met commando # yum install app-php-engines. Zorg er hierbij voor dat de ClearOS-Contribs repositorie beschikbaar is.
Op 25-03-2019 worden met deze app de PHP versies 5.6, 7.0 en 7.1 van RedHat geïnstalleerd. De oude versie 5.4 is een vast onderdeel van ClearOS 7.x en kan niet verwijderd worden.

Zie voor het installeren en configureren van de app-php-engines Server::Apache > Upgrade PHP met met App PHP-Engines

Naar index

PHP update 5.4 naar 7.4 met Remi repo

Met de ClearOS 7.3 distributie van 2016 werd voor de Apache webserver de toen al verouderde PHP versie 5.4 meegeleverd. Deze oude versie 5.4 is een vast onderdeel van ClearOS 7.x en kan niet verwijderd worden.
Eind 2017 heeft ClearOS een wel app geleverd waarmee de RedHat PHP distributies t/m versie 7.3 in ClearOS 7 geïntegreerd kunnen worden.

Tot op heden, 25-01-2024, zijn er echter geen verdere ClearOS upgrades beschikbaar en naar verwachting komen die er ook niet meer.
ClearOS is gebaseerd op CentOS, een open source, gratis en complete Linux distributie die op zijn beurt een aftakking is van RHEL (Red Hat Enterprise Linux).
Red Hat is in 2019 overgenomen door IBM en er zal niet meer aan CentOS gewerkt worden. ClearOS zal op zoek moeten naar een ander platform.

Mogelijk moet ik in de toekomst overstappen naar een andere LAMP server distributie zoals bijvoorbeeld Ubuntu Server.
Om dat nog even uit te stellen ben ik op zoek gegaan naar een upgrade naar PHP 7.4 in de hoop dat deze toegepast kan worden op mijn ClearOS release 7.9.1 (Final).

Remi's RPM repository
In de Remi RPM repositorie zijn voor Centos Enterprise Linux meerdere PHP versies beschikbaar tot en met PHP 8.3
Op de testserver heb ik een update gedaan naar PHP 7.4 en dat werkte prima.
Een verdere upgrade naar 8.3 was ook probleemloos maar het door mij gebruikte Wordpress thema is dusdanig verouderd dat PHP 8.3 volledig crashte. Andere, wel onderhouden, thema's werkten wel goed, dus in de toekomst zal ik in Wordpress een nieuwer thema toe moeten gaan passen.

Zie voor het installeren van de Remi Repository en de ClearOS PHP upgrade Server::Apache > Upgrade PHP 5.4 naar 7.4

Naar index

PHP update naar 8+ met PHP-Engines

Remi's RPM repository
In de Remi RPM repositorie zijn voor Centos Enterprise Linux meerdere PHP versies beschikbaar tot en met PHP 8.3
Een verdere upgrade naar 8.3 was ook probleemloos maar het door mij gebruikte Wordpress thema is dusdanig verouderd dat PHP 8.3 volledig crashte. Andere, wel onderhouden, thema's werkten wel goed, dus in de toekomst zal ik in Wordpress een nieuwer thema toe moeten gaan passen.

Piwigo is wel PHP 8.3 compatible en als we PHP 8.3 integreren in PHP Engines is het mogelijk Apache te laten functioneren met PHP 8.3 maar tegelijkertijd voor Wordpress de basis PHP 7.4 aan te bieden

Zie voor de ClearOS PHP upgrade in PHP Engines Server::Apache > Upgrade naar PHP 8+ met App PHP-Engines

Naar index

Software uit Repositories van Derden

De repositories van ClearOS bevat software packages die door ClearOS beschikbaar worden gesteld en die compatibel zijn met de geïnstalleerde ClearOS versie en door ClearOS getest en geadopteerd zijn.
Er zijn echter legio aanvullende repositairies van derden. Deze zijn over het algemeen goed te vertrouwen maar ClearOS staat hier niet voor in.
Een uitzondering hierop zijn wel de repo's van Tim Burgess. Tim behoort tot het Clearfoundation-team en als dusdanig nauw betrokken met ClearOS waarvoor hij veel Apps ontwikkeld heeft zoals Zarafa en Owncloud. Ook in zijn vrije tijd ontwikkelde hij Apps en Hacks voor ClearOS zoals Webconfig, BackupPC, Gallery3, etc.

TIM BURGESS Repo's
Er zijn aanvullende repositories zoals die van Tim Burgess, zie Tim's_Repo
Tim Burgess is miv ClearOS 6 gestopt met zijn FTP repo naast ClearOS. Hij is nog wel actief op Github

Naar index

Installatie van Packages

NTFS bestandssysteem
NTFS-3G is een read/write NTFS driver voor Linux.
Om echter bijvoorbeeld een externe harde schijf te mounten waarop het NTFS bestandssysteem gehanteerd wordt, is deze driver nodig:
# yum --enablerepo=clearos-epel list available | grep 'ntfs' geeft o.a. als resultaat:
ntfs-3g.x86_64 2:2015.3.14-2.el7 clearos-epel
dus de driver is beschikbaar in de 'clearos-epel' repo
Enable de repo 'clearos-epel' in Webconfig > Cloud > Updates > Sofware Repository
Installeer driver: # yum install ntfs-3g
of als repo niet enabled is: # yum --enablerepo=clearos-epel install ntfs-3g
Nu kan de server een NTFS HDD mounten. Zie hiervoor Linux::FAQ en Oplossingen Externe HDD aansluiten met USB

Naar index

Commando LSHW (list hardware)
LSHW is een tool dat gedetailleerde informatie van de hardwareconfiguratie weergeeft. Zie voor dit commando Linux::Commando's LSHW
# yum list available | grep 'lshw' resulteert in: lshw.x86_64 B.02.17-2.el7 clearos-centos'
Enable de repo çlearos-centos en geef commando: #yum install lshw
Of installeer met commando: # yum --enablerepo=clearos-centos install lshw

Naar index

ZIP, UNZIP, GZIP en BZIP2

Voor Gallerymodule 'mandje' is een ZIP-module nodig.
# yum install zip
Installeert:
zip.x86_64 3.0-10.el7 uit repo 'clearos-centos'

Voor Gallerymodule 'Archief Upload' is de UNZIP-module nodig.
# yum install unzip
Installeert: unzip.x86_64 6.0-15.el7 uit repo 'clearos-centos-updates'

GZIP is een nog betere module en is al aanwezig in de ClearOS 7 installatie, deze wordt echter niet door Gallery gebruikt.

# yum install bzip2
Installeert: bzip2 x86_64 1.0.6-12.el7 uit repo 'clearos-centos'

Naar index

WGET

Wget is een free software package voor het downloaden van bestanden middels HTTP, HTTPS, FTP and FTPS. Het is een niet-interaktieve tool aan de commandoregel en het kan makkelijk aangeroepen worden vanuit scripts, cron taken, terminals zonder X-Window ondersteuning, enz.

# yum install wget
Installeert: wget.x86_64 0:1.14-18.el7_6.1

Naar index

Grafische Pakketten

Menalto Gallery2 en mogelijk Piwigo heeft de grafische pakketten NetPBM en/of ImageMagick nodig.
Voor NetPMB:
# yum install jhead
Installeert het pakket 'jhead.x86_64 0:2.97-1.el7', benodigd voor NetPMB
# yum --enablerepo=clearos-centos install netpbm*
Installeert:
netpbm       x86_64 10.61.02-9.el7 uit repo 'clearos-centos'
netpbm-devel x86_64 10.61.02-9.el7 uit repo 'clearos-centos'
netpbm-doc   x86_64 10.61.02-9.el7 uit repo 'clearos-centos'
netpbm-progs x86_64 10.61.02-9.el7 uit repo 'clearos-centos'
NOTE: Alleen netpbm is onvoldoende voor Menalto Gallery 2.3.2

Voor ImageMagick:
# yum install ImageMagick.x86_64
Installeert: ImageMagick.x86_64 0:6.7.8.9-10.el7 en 8 Dependencies

Voor GD:
# yum install gd
Installeert: gd.x86_64 0:2.0.35-26.el7 uit repo 'clearos-centos'
# yum install php-gd
Installeert: php-gd.x86_64 5.4.16-36.el7_1 uit repo 'clearos-centos-verified'
ClearOS 7 heeft php-gd al aan boord

Imagick is de PHP ImageMagick extension.
Piwigo en Wordpress maken middels Imagick gebruik van de ImageMagick App en elke PHP versie heeft zijn eigen Imagick extension.
Installeer php-imagick voor de PHP versie die in gebruik is. Zie voor instructies PHP extension Imagick

Naar index

ETHER-WAKE
Voor het maken van backups van netwerk PC's kan het nodig zijn een Wake On Lan te doen om een PC uit de slaapstand te wekken dmv een magic packet. Deze PC moet hiervoor wel geconfigureerd zijn.
ClearOS 7 komt al met het commando # ether-wake. Onder ClearOS 6.6 er is ook een App beschikbaar voor Webconfig. Deze moet nog wel geinstalleerd worden (Is niet beschikbaar in Marketplace). Helaas is deze App nog niet beschikbaar onder ClearOS 7.

Naar index

WHOIS
Aan de commandline kan het nuttig zijn een IPsearch te doen met # whois, dit commando is niet in de ClearOS 7 distributie geïnstalleerd.
# yum install whois
Installeert: whois.x86_64 5.1.1-2.el7 uit repo 'clearos-centos'

Naar index

Packages voor Cleware USB Powerswitch

Voor het aan- en uitschakelen van electrische apparaten kan een powerswitch gebruikt worden die aangestuurd wordt via een USB poort op de server.
Op mijn server in de kelder van ons appartementencomplexheb ik een Cleware USB powerswitch geplaatst waarmee ik de ernaast geplaatste testserver op afstand aan- en uit kan schakelen.
Zie voor de installatie van de switch op een linux machine: USB Netschakelaar in de projectmap

De software geleverd bij de USB switch maakt gebruik van de volgende packages:

Hidapi.x86_64: # yum install hidapi (clearos-epel)

Hidapi-devel.x86_64: # yum install hidapi-devel (clearos-epel)

gcc.x86_64: # yum install gcc (clearos-centos)

gcc-c++.x86_64: # yum install gcc-c++ (clearos-centos)

Naar index

Configuratie met Webconfig

Beheer
Na de installatie van de ClearOS serverdistributie met de bootdisk en het uitvoeren van de upgrades in de repositories mbv 'YUM' wordt de server verder geconfigureerd.
Dit doen we om te beginnen zoveel mogelijk met Webconfig van ClearOS, een Gebruikers Interface voor het beheren van een Linux Server.
De Webconfig interface is aan het einde van de installatie al in gebruik genomen om deze af te ronden.
Hieronder de verdere configuratiestappen zoals die op de server doorlopen zijn.

Naar index

Mail notificatie
Veel programma's gebruiken e-mail om alarmen en rapportages te versturen naar de administrator.
Maak de instellingen op Webconfig > System > Settings > Mail Settings

Naar index

Mail naar Root

Om onduidelijke redenen worden notificaties van veel apps naar root gestuurd die vervolgens niet afgehandeld worden middels de bovenstaande ClearOS Mail Notificatie.
Deze notificaties naar root zijn alleen maar te lezen in het bestand /var/spool/mail/root. Als er niet aan de commandoprompt gewerkt wordt krijgen we deze mails dan ook nooit te zien.

Middels een hack in /etc/aliases kunnen de notificatiemails naar root alsnog doorgestuurd worden naar het ingevoerde e-mailadres:
Voeg hiertoe aan het einde van het bestand de alias van root toe.

# Person who should get root's mail
#root:          marc
root: admin@makkink.eu

Run vervolgens: # postalias /etc/aliases om de wijzigingen in Postfix te importeren.

Naar index

Netwerk: IP Settings

Webconfig > Network > Settings > IP Settings

Tijdens de installatie onder Server::Installeren > Network zijn de nodige gegevens al ingevoerd en in onderstaande pagina vullen we nog de 'Hostnames' in.

Naar index

Netwerk: DHCP Server

Dynamic Host Configuration Protocol (DHCP) is een computerprotocol dat beschrijft hoe een computer dynamisch zijn netwerkinstelling van een DHCP-server kan verkrijgen. Het DHCP-protocol is gebaseerd op het Internet Protocol IP en werkt met UDP-pakketten.

Webconfig > Network > Infrastructure > DHCP server

Authoritative
Bij de initiele installatie wordt de DHCP Server App geïnstalleerd en staat 'Authoritative naar 'enabled'.
Een Authoritative DHCP Server is een server die altijd reageert op een DHCP request als geen andere DHCP server in het netwerk reageert.
In mijn netwerk is de router de authoritative netwerk DHCP server.
Op zich is het gunstig meer dan één authoritative DHCP in een (groter) netwerk te hebben maar dan moet er op toegezien worden dat ze allen dezelfde DHCP Pool instellingen gebruiken en weten wat de geldige IP nummers zijn.
Op mijn router staat de DHCP Pool ingesteld op IP's van 192.168.178.64 tot 200 en worden de vaste IP's (Fixed Leases of gereserveerde adressen) uitgegeven in de range 192.168.178.1 tot 63

Van alle andere DHCP Servers (zoals bij een testserver) zetten we 'Authoritative' naar 'disabled'.

Subnets
In een typische installatie, wordt de DHCP server geconfigureerd op alle LAN interfaces van een server.
Voor het toevoegen en/of bewerken van DHCP instellingen voor een specifiek netwerk interface configureren we een sub-net.

Leases
Onder leases kunnen we vaste IP's toekennen aan MAC adressen van de individuele interfaces. Dit kan voor elke interface slechts 1 maal op een netwerk gedaan worden, dus als dit al op de router gedaan is lukt het niet opnieuw op de server. Ik beperk de instellingen tot die van de router

Naar index

Netwerk: DNS Server

Het Domain Name System (DNS) is het systeem en netwerkprotocol dat op het internet gebruikt wordt om namen van computers naar numerieke adressen (IP-adressen) te vertalen en omgekeerd. Hoewel dit "vertalen" genoemd wordt gaat het gewoon om opzoeken in tabellen, waarin namen aan nummers gekoppeld zijn.

Webconfig > Network > Infrastructure > DNS Server

De lokale DNS server kan gebruikt worden voor het koppelen van IP adressen aan hostnamen.
De gegevens worden opgeslagen in /etc/hosts en kunnen daar ook bewerkt worden met een teksteditor zoals 'vi'

Naar index

Netwerk: SSH Server

Webconfig > Network > Infrastructure > SSH Server

SSH is een 'Secure SHell' netwerkprotocol waarmee het door cryptografische versleuteling mogelijk wordt om op een veilige manier gegevens uit te wisselen en communicatie te maken tussen twee computers of servers.

Op mijn servers heb ik een restrictie ingebouwd in de firewall waarmee alleen hosts op hetzelfde lokale netwerk SSH toegang hebben tot de server.
Zie Server::Firewall Diensten met aanvullende firewall beperkingen.
Het is beter voor externe toegang tot de ClearOS server gebruik te maken van OpenVPN

Allow Root Login
De root account is de meest gezochte en de meest gebruikte account om te proberen te hacken.
Door root login te disabelen kun je nog steeds inloggen als een gewone gebruiker, maar dan moet zo'n gebruiker schakelen (su=switch user) of privilege escalation (sudo) gebruiken voor alle root commando's op het systeem.

Naar index

Netwerkmap en arpwatch

Webconfig > Network > Device Management> Network Map

De Network Map scant het netwerk voor apparaten en verschaft een manier om de apparaten te assosiëren met specifieke eindgebruikers.

Zodra een apparaat contact maakt met de ClearOS server laat het een vingerafdruk achter in de netwerk Map scan. Een summarie van het aantal onbekende apparaten wordt getoond in de hieronder getoonde webpagina

In bovenstaande pagina kunnen de individuele apparaten met hun IP en MAC adres manueel geassocieerd worden met gebruikers.

Voor een klein Netwerk heeft associatie met eindgebruikers weinig nut en op mijn netwerk wordt de MAC-IP binding beheerd op de router. De ClearOS server is geen Netwerk server.

Ik maak geen gebruik van de Netwerk Mapping App en heb de installatie verwijderd.

ARPWatch
Voor het scannen van het netwerk maakt Network Mapping gebruik van de service ARPWatch.
De ARPWatch service is zodanig geconfigureerd dat elke keer als het een wijziging in het netwerk ontdekt er een e-mail naar root gestuurd wordt.
Dit kan nuttig zijn maar ook een PITA (Pain In The Ass).

E-mails stoppen
Het zenden van deze mails kunnen we eenvoudig stoppen door een edit van het ARPWatch configuratie-bestand /etc/sysconfig/arpwatch

# -u  : defines with what user id arpwatch should run
# -e     : the  where to send the reports
# -s      : the -address
# OPTIONS="-u arpwatch -e root -s 'root (Arpwatch)' -N"
# Voer arpwatch uit zonder het zenden van e-mail naar root:
OPTIONS="-u arpwatch -e -N"

Arpwatch stoppen
Het is mij niet duidelijk welke Apps naast Network Map mogelijk ook gebruik maken van de ARPWatch Service maar het is te overwegen deze service uit te schakelen.
Dit kan eenvoudig met de Services App: Webconfig > System > Settings > Services
Als we het op de commandline willen doen moeten we eerst de naam van de service vinden:

[root@testserver ~]# ls -al /etc/systemd/system/multi-user.target.wants/arpwatch*
lrwxrwxrwx 1 root root 41 Dec 15 09:22 /etc/systemd/system/multi-user.target.wants/arpwatch@eno1.service -> /usr/lib/systemd/system/arpwatch@.service

Vervolgens kunnen we de gevonden arpwatch@eno1.service stoppen en blokkeren

[root@testserver ~]# systemctl stop arpwatch@en01.service
[root@testserver ~]# systemctl disable arpwatch@en01.service

Naar index

LDAP

LDAP staat voor ‘Lightweight Access Protocol’ en is een netwerkprotocol dat beschrijft hoe gegevens uit directoryservices (Active Directory in dit geval) benaderd moeten worden.
De 'Active Directory' bevat informatie van gebruikers gegevens, computers, access controles, etc die opgevraagd kunnen worden door services die op de server draaien als wel remote door andere systemen via het netwerk.
ClearOS 7 'Directory Server' maakt gebruik van LDAP (openLDAP) om de informatie in de Active Directory te beheren.

Directory Server

Voor het beheren van accounts van administrators, gebruikers en groepen moet eerst de 'Directory Server' geïnitialiseerd worden.
Webconfig > Server > Directory > Directory Server

Directory Desktop Graphical Tools
Je kunt tools zoals 'phpLDAPadmin' gebruiken om de Directory te browsen en/of wijzigen.
Zie de sectie phpLDAPadmin aan het einde van dit hoofdstuk voor het installeren en configuren.
Je kunt ook command line tools gebruiken om de Directory te beheren met bijv.: # ldapsearch. Zie hiervoor de ClearOS documentatie

Naar index

Groepen aanmaken

Webconfig > System > Accounts > Groups

Voorlopig worden drie groepen aangemaakt:
1.  sysadmins Systeem Administrators
2.  lan Alle Gebruikers op local LAN
3.  lanshare Gebruikersgroep voor gedeelde Samba mappen
 

Naar index

Nu ziet Webconfig > System > Accounts > Groups er zo uit:

Windows Groups:
Alleen groepen van geïnstalleerde diensten worden getoond!
Pas zodra de Windows Networking Server (SAMBA) geactiveerd wordt worden automatisch ook de 'Windows Groups' gecreëerd.

Naar index

Group Members

Zodra gebruikers aangemaakt zijn kan door bij een specifieke groep (bijv. 'lan') de button 'Edit Members' aan te klikken kunnen we in onderstaand dialoog de gebruikers selecteren die member van de groep moeten zijn.

Naar index

Gebruikers aanmaken

Webconfig > System > Accounts > Users

Note 1:
Om de keuze 'Login Shell' beschikbaar te hebben moet de App 'Shell Extension' uit de Marketplace geïnstalleerd zijn.

Note 2:
Als later diensten of Apps toegevoegd worden die hierbij ook groepen creëeren zoals Samba dan moeten al bestaande gebruikers alsnog individueel toegevoegd worden

We maken de volgende gebruikers aan:
User Voornaam  Achternaam  Shell Groups Omschrijving
beheerder Ben Makkink /bin/bash lan;
lanshare; sysadmins 
Hoofdgebruiker met admin rechten
archief archief smblan no login lan; lanshare Samba toegang naar Archief
asrock HTPC Media no login lanshare Samba-shares gebruiker
ben Ben

XPS

no login lanshare Samba-shares gebruiker
erica Erica

Lenovo

no login lanshare Samba-shares gebruiker
files file smblan no login lan; lanshare Samba toegang naar Fileshares
tablet Benjamin

Win10

no login lanshare Samba-shares gebruiker
website www smblan no login lan; lanshare Samba toegang naar Webroot
     

Naar index

Administrator en Policy

Maak gebruiker 'beheerder' systeembeheerder met beperkte rechten:

We hebben in Groepen aanmaken de groep 'sysadmins' aangemaakt.
Voor deze groep maken we nu een 'Policy' waarin vastgelegd wordt tot welke apps deze groep toegang heeft.
Door op zijn beurt 'beheerder' member van de groep 'sysadmins' te maken krijgt de user 'beheerder' de systeembeheersrechten zoals vastgelegd in de policy.

Webconfig > System > Accounts > Administrators
Geef naam en beschrijving aan de policy en verbind deze aan de groep

Naar index

Omdat gebruiker 'beheerder' de hoofdgebruiker (eigenaar) is kiezen we (bijna) alle Webconfig pagina's waar gebruiker 'beheerder' toegang tot zal krijgen. Als later modules toegevoegd worden dan moeten deze hier ook toegevoegd worden!

Hieronder een voorbeeldsectie van de policy-editor:

Naar index

phpLDAPadmin Directorie browser

phpLDAPadmin kan ingezet worden om meer inzicht te krijgen in LDAP en de informatie in de Active Directory.
Hoewel het ook gebruikt kan worden om wijzigingen aan te brengen wordt dit ten sterkste afgeraden omdat het de functionaliteit van ClearOS kan breken en support onmogelijk maakt.
Wees voorzichtig!

Installeren en configureren van phpLDAPadmin
Volg hiervoor de ClearOS documentatie

Installeer

[root@mainserver ~]# yum list phpldapadmin
   Available Packages
   phpldapadmin.noarch    1.2.5-1.el7    clearos-epel

[root@mainserver ~]# yum install phpldapadmin

Configureer

Edit /etc/httpd/conf.d/phpldapadmin.conf om toegang tot phpLDAPadmin te beperken tot het IP adres van de Admin.
Wijzig
  Require local
naar
  Require ip 192.168.178.10

Edit /etc/phpldapadmin/config.php
Wijzig server host in sectie *Define your LDAP servers*
van
   // $servers->setValue('server','host','127.0.0.1');
naar (verwijder uitmarkering)
   $servers->setValue('server','host','127.0.0.1');

Wijzig login attr in sectie *SASL Authentication*
van
   $servers->setValue('login','attr','uid');
naar (markeer uit)
   // $servers->setValue('login','attr','uid');

Inloggen

Login phpLDAPadmin met url https://mainserver/phpldapadmin

Gebruik voor het inloggen de volledige Bind DN en Bind Password zoals weergegeven in Webconfig > Server > Directory > Directory Server
Of vind deze waarden aan de commandline met commando:
[root@mainserver ~]# php /var/clearos/openldap/config.php

Naar index

Beveiliging

ClamAV Antivirus Scanner
Indien nog niet geïnstalleerd, van Marketplace de 'Gateway and Antivirus' App downloaden en installeren.
Maak de instellingen op Webconfig > Gateway > gateway Antivirus
Accepteer de defaults, zie documentatie

De ClearOS Gateway Antivirus App gebruikt de open source (GPL) ClamAV antivirus engine voor UNIX voor het scannen van het web, FTP, mail en meer. De Antivirus App is ontworpen aanvallen te voorkomen op de server, de computers, smartphones, etc op het netwerk. De ClamAV software checkt automatisch meerdere malen per dag voor updates van antivirus signatures.

Clam Antivirus biedt een aantal tools zoals een flexibele en schaalbare multi-threaded daemon, een command line scanner en een geavanceerde tool voor automatisch database updates.
De kern van het pakket wordt gevormd door een anti-virus engine in de vorm van een gedeelde bibliotheek.

Wij installeren ClamAV mede omdat het een command-line scanner heeft voor onder andere mappen en bestanden. Hiervoor ontbreekt echter een 'front end'.
ClearOS heeft voor het scannen van mappen en bestanden in Webconfig onderstaand 'front end' Antimalware File Scanner voor ClamAV toegevoegd.

Naar index

Antivirus bestanden scanner

Indien nog niet geïnstalleerd, van Marketplace de 'Antimalware File Scanner' App downloaden en installeren.
Maak de instellingen op Webconfig > Server > File > Antimalware File Scanner
Zie ook ClearOS documentatie

Voor het scannen van mappen en bestanden heeft ClearOS zelf een 'front end' App voor ClamAV toegevoegd.
De App geeft de status weer en het resultaat van de laatste scan. De filescan wordt automatisch met een cron deamon uitgevoerd, maar de App kan ook handmatig gestart worden. Tevens kan gekozen worden meerdere settingen naar eigen wens te zetten

Naar index

Filescan settings
In de App kan de de starttijd van de dagelijkse scan door ClamAV ingesteld worden. Er kan ervoor gekozen worden geïnfecteerde bestanden direct in quarantaine te plaatsen en een e-mail notificatie te sturen naar een adres naar keuze.
Er kunnen te scannen mappen geselecteerd worden uit een ClearOS pre-fab lijst. De geselecteerde mappen worden opgeslagen in /etc/avscan.conf.
De starttijd wordt opgeslagen in /etc/cron.d/app-file-scan van de Linux-taakbeheerdeamon. In ClearOS 7.8.1 werkt het met de App zetten van de Daily Scantijd nog steeds niet. De tijd manueel gewijzigd met een edit in het bestand /etc/cron.d/app-file-scan.
Onderaan de settings pagina is er sprake van 'custom' mappen, hierop komen we later terug.

Naar index

Besmet bestand gevonden
Als er bij een scan een besmet bestand gevonden wordt dan worden de gegevens van het besmette bestand weergegeven in de App-sectie 'Last Scan Result' en opgeslagen in /var/clearos/file_scan/quarantine_list
Als er gekozen is voor het direct in quarantaine plaatsen dan wordt het besmette bestand verplaatst naar de map /var/clearos/file_scan/quarantine/ en het bestand wordt weergegeven in de App-sectie 'Quarantine'
In laatst genoemde sectie kan nu gekozen worden het bestand geheel te verwijderen door 'Delete'te klikken. Het bestand wordt nu ook uit de quarantine map verwijderd.
Hier kan echter ook gekozen worden voor 'Whitelist'

Whitelist
Als een bestand naar je mening onterecht als besmet aangemerkt is dan kan deze in een whitelist geplaatst worden. Als we nu 'Whitelist' aanklikken wordt het bestand vanuit /var/clearos/file_scan/quarantine/ teruggezet naar zijn oorspronkelijke locatie. Ook wordt het bestand vermeld in het whitelist bestand /var/clearos/file_scan/whitelist zodat bij een volgende scan dit bestand overgeslagen wordt.

Pas op: Zoals de App geïnstalleerd was werkte de Whitelisting met ClearOS 7.3 niet goed. Het bestand werd welliswaar teruggezet, maar bij een volgende scan opnieuw in quarantaine geplaatst. Het bleek dat ClamAv het whitelist bestand niet kon lezen.
Bij de installatie van ClearOS 7.8.1 deed dit probleem zich niet meer voor.
Toen later zich een soortgelijk probleem voordeed bleek er een probleem te zijn met een mapnaam (nbp++) waarin het 'besmette' bestand zich bevond. Na de mapnaam gewijzigd te hebben naar nbpplusplus werkte alles wel. Het lijkt erop dat zich hier een syntax gevoeligheid voordoet.

Testfile
Om de Antimalware File Scanner te testen maken we een bestand aan bijv. /home/files/virustest.txt en plaatsen onderstaande tekst in het bestand:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Naar index

Eigen selectie van te scannen mappen

De selectiemogelijkheid in de Antimalware File Scanner App beperkt zich tot de pre-fab ClearOS mappen. Als de gebruiker andere bestandslocaties prefereert, kunnen de bestandspaden helaas niet in de GUI gespecificeerd worden.
Het kan echter wel nuttig zijn bijv.: Op mijn server bevat /homes subdirectories met 40.000+ foto's, video's en archieven die al -tig keer gescand zijn. Een scan hiervan duurt uren en belast de prestaties onnodig.
In de App selecteren wij daarom o.a. /homes niet en voegen wel te scannen mappen manueel toe door het pad van de te scannen map(pen) met een editor te vermelden in het bestand /etc/avscan.conf.

Bestand /etc/avscan.conf
/var/www
/home/files/documenten
/home/files/afbeeldingen/fotos-huidig /home/beheerder

Pas op: Alle mappen in het pad moeten executable zijn voor 'others' anders kan de App het pad niet toevoegen. Van bovenstaand pad /home/files/afbeeldingen/huidig-jaar moeten dus zowel de mappen home, files als afbeeldingen allemaal x (executable) voor others zijn.

Naar index

Symbolische links worden niet gevolgd (default)

In tegenstelling tot wat gesuggereerd wordt in de ClearOS documentatie worden, met de default Antimalware File Scanner instellingen, Symbolische Links NIET gevolgd.
Als gevolg worden o.a. de Piwigomappen '_data en gallerie' met de grote datahoeveelheid niet gescand omdat ze via symbolische links buiten de webroot opgeslagen worden. Onderstaand voorbeeld met excludes voor Piwigo is in dit geval overbodig.

Symbolische links toch volgen
Als om specifieke redenen het toch gewenst is dat symbolische links toch gevolgd worden dan is een edit nodig van /etc/clearos/file_scan.conf met de toevoeging van:

follow-dir-symlinks=2

Zie voor deze parameters ook # man clamscan

BUG: Door de toevoeging van follow-dir-symlinks=2 worden de symbolische links gevolgd en worden gevonden virussen uit gelinkte albums verwijderd en in quarantaine geplaatst.
Door een fout in het front-end van de Antimalware File Scanner App wordt dit niet gerapporteerd en volgt er ook geen notificatie mail. Bestanden kunnen op deze manier verdwijnen zonder dat we hiervan weet hebben.
Mijn advies is dan ook, zolang deze bug bestaat, het volgen van Symbolische Links niet in te schakelen, maar in plaats daarvan het directe pad van de gelinkte mappen toe te voegen aan de eigen selectie van mappen.

Als alle symbolische links wel gevolgd worden moeten we zorgvuldig controleren dat data niet dubbel gecontroleerd worden: ten eerste direct de fysieke data en daarna nogmaals via de symbolische link.
Ook moet onnodig scannen van grote datahoeveelheden vermeden worden als deze elders ook al eens gescand zijn.
Als bijvoorbeeld Piwigo gebruikt wordt voor het beheren en presenteren van images dan worden de images en derivaten opgeslagen in sub-mappen van Piwigo. Voordat ze daar belanden zijn ze al vele malen gescand geweest. De Piwigo app bevindt zich in de webroot /var/www/html en als in de File Scanner de optie 'Web' geselecteerd wordt voor scannen dan worden ook al de images nogmaals gescand, wat uren in beslag neemt.
Dus als we besluiten dat symbolische links gevolgd moeten worden is het noodzakelijk mappen uit te kunnen sluiten van de scan.

Naar index

Eigen selectie van NIET te scannen mappen

Net zoals de mogelijkheid handmatig te scannen mappen toe te voegen is het mogelijk submappen van een selectie uit te sluiten van de scan.

Sluit mappen en bestanden uit van scannen
Er zijn een paar verborgen opties die gebruikt kunnen worden om mappen en/of bestanden uit te sluiten van scannen.
Zie de sectie Excluding Files and Folders from scanning in de ClearOS Antimalware File Scan documentatie.
Voor het uitsluiten van de Piwigo data voegen we de volgende parameters toe in het bestand /etc/clearos/file_scan.conf:

exclude-dir="(\/var\/www\/html\/piwigo\/(_data|galleries))"

Dit resulteert in het niet scannen van:

  1. /var/www/html/piwigo/_data (symlink naar /home/pwgdata/_data met +/- 35 GB)
  2. /var/www/html/piwigo/galleries (symlink naar /home/pwgdata/galleries met +/- 300 GB)

Naar index

Inbraakdetectie

Indien nog niet geïnstalleerd, van Marketplace de 'Intrusion Detection System' App downloaden en installeren.

Maak de instellingen op Webconfig > Gateway > Intrusion Protection > Intrusion Detection System

  1. Selecteer 'Start'
  2. Selecteer de gewenste beveiligingsregels
  3. ClearSDN Intrusion Protection 'Updates' is een betaalde dienst, dus niet ingeschakeld.

De SNORT inbraakdetectie is een geavanceerd systeem met een lijst van meer dan 500 detectie-regels, die de server in de gaten houden.
De gratis ClearOS default open source detectieregelset heeft geen abonnement op de updateservice voor beveiligingsregels. Hiervoor is abonneren bij Snort.org noodzakelijk.
De rules zijn opgeslagen in /etc/snort.d/rules

Het inbraakdetectiesysteem is door ClearOS toegevoegd vooral om de gebruikers te attenderen op enkele van de dagelijkse vijandigheden in het netwerkverkeer. De software is in staat ongewoon netwerkverkeer te ontdekken en te rapporteren, inclusief inbraakpogingen, trojans/virussen en poortscans.

Configuratie:
Ik heb de default beveiligings- en beleidsregels geaccepteerd en geen wijzigingen aangebracht.
Beveiligingsregels detecteren zaken betreffende de algemene systeemveiligheid en beleidsregels detecteren gevallen aangaande het door jezelf ingestelde gebruiksbeleid. Bijvoorbeeld, de 'online chat detectie' zal chatten op je netwerk detecteren en rapporteren.

Naar index

Inbraakdetectie rapportage
Webconfig > Reports > Performance and Resources > Log Viewer >> Log File = snortsam
Raak niet in paniek als je de alarmeringen ziet, het zijn afgeslagen aanvallen.
In feite zou het erg ongebruikelijk zijn als er niets gerapporteerd werd. Het maakt de noodzaak van beveiligingen en een firewall des te duidelijker.
Waarschuwing: Inbraakdetectie verlangt behoorlijk wat paardekrachten. Als je vindt dat je systeem wat traag is, zou je kunnen overwegen detectie uit te schakelen.

Naar index

Inbraakpreventie

Indien nog niet geïnstalleerd, van Marketplace de 'Intrusion Prevention System' App downloaden en installeren.
Het inbraakpreventie systeem is een geavanceerd systeem dat actief verdachte aanvallers van het systeem blokkeert.
Het is een ClearOS plug-in voor Snort en blokkeert de IP's via de firewall (IPTables).
Updates van SnortSam met verdachte IP's zijn helaas niet gratis.
Maak de instellingen op Webconfig > Gateway > Intrusion Protection > Intrusion Detection System

  1. Selecteer 'Start'
  2. Voeg IP adressen toe die actief geblokkeerd moeten worden. Bijvoorbeeld IP's van ongewenste web robots, etc.
    Zie hiervoor bijv. de logs in: /var/log/httpd/access_log en /var/log/httpd/error_log

Naar index