Serverinstellingen en diensten
Dit scherm gaat over de machine zelf: op welke poort je hem bereikt, welke sleutels root openen, welke diensten erop draaien, welke vorm hij heeft gekregen, en hoe je hem netjes stopt. Niets hier gaat over een klant of een website — dat sta
Geschreven voor: Beheerder
Dit scherm gaat over de machine zelf: op welke poort je hem bereikt, welke sleutels root openen, welke diensten erop draaien, welke vorm hij heeft gekregen, en hoe je hem netjes stopt. Niets hier gaat over een klant of een website — dat staat op de accountpagina's.
Servers → de server → Serverinstellingen.
Alles wat je hier doet, doet de server zelf. Het paneel geeft de opdracht door en laat zien wat er terugkomt; het bewaart geen eigen kopie van de waarheid. Elke wijziging komt daardoor ook in het takenlogboek van de server te staan, mét de naam van wie hem gaf.
De SSH-poort verzetten zonder jezelf buiten te sluiten
Een SSH-poort verzetten is de enige wijziging die je toegang tot een machine kan kosten. Daarom werkt het hier anders dan je gewend bent: de nieuwe poort komt er naast, niet in de plaats van.
- Klik op SSH-poort wijzigen en vul de nieuwe poort in (een getal boven 1023, bijvoorbeeld 2222). Poorten die een andere dienst op deze server al gebruikt worden geweigerd, met de naam van die dienst erbij.
- Kies hoe lang het bevestigingsvenster duurt. Standaard tien minuten.
- Druk op Poort openen. Vanaf dat moment luistert de server op allebei de poorten, en de firewall laat ze allebei door.
- Open nu een nieuwe verbinding op de nieuwe poort, vanaf de plek waar je zelf zit:
ssh -p 2222 root@stck1.corecp.dev- Werkt dat? Klik dan op Nieuwe poort bevestigen. De oude poort gaat dicht, in de server én in de firewall.
- Werkt het níet? Doe dan niets. Als het venster verloopt zonder bevestiging zet de server zichzelf terug op de oude poort — er hoeft niemand te kijken en er hoeft niets te draaien. Je kunt ook meteen op Terugzetten klikken; dat is precies dezelfde handeling, alleen nu.
Bevestigen vanaf de oude poort bewijst niets over de nieuwe. Daarom staat die zin ook op het scherm zelf.
Op de commandoregel is het dezelfde reeks:
corectl sshd port # wat luistert er, en antwoordt daar iets?
corectl sshd port set --port 2222 # allebei open, venster van 10 minuten
corectl sshd port confirm # de nieuwe houden
corectl sshd port rollback # of nu al terugcorectl sshd port laat ook zien wat de poort bepaalt. Op Ubuntu 24.04 en later start systemd de SSH-server via ssh.socket en wordt Port in sshd_config niet gelezen; CoreCP schrijft daarom allebei, en het scherm zegt welke van de twee op deze machine de baas is.
Wie er überhaupt bij SSH mag
De poort verzetten verstopt de deur. Dit sluit hem: een lijst met bronnen die de SSH-server mogen bereiken, en al het andere wordt eerder tegengehouden. Je vindt het onder Servers → de machine → Beheren, direct onder de poort.
Het getal ernaast is waaróm die lijst bestaat. Het telt de mislukte aanmeldingen die deze machine het afgelopen uur zag — op de paneelserver van deze vloot waren dat er 709 in één uur — en elk daarvan is iemand die een wachtwoord probeert te raden.
Een lege lijst betekent dat de deur openstaat. Zo staat een server erbij tot iemand de eerste bron toevoegt, en zo blijft het na een upgrade: software die een poort dichtdoet door geïnstalleerd te worden, sluit op de dag van uitrollen elke vloot buiten. Daarom zegt het blok "Open voor iedereen" met zoveel woorden in plaats van je een lege tabel te laten zien.
De eerste bron sluit de deur voor alle andere
- Vul een adres of een reeks in (
203.0.113.10/32, of een IPv6-reeks) en wie het is — die notitie staat later in elke lijst, ook op de opdrachtregel. - Kies Terugdraaien na. Dat is het belangrijke veld, en bij de eerste regel is het niet vrijblijvend: het is hoelang de server wacht voordat hij de vorige lijst vanzelf terugzet.
- Druk op Toevoegen. Vanaf dat moment bereiken alleen de bronnen op de lijst nog SSH.
- Open nu een nieuwe SSH-verbinding, vanaf de plek waar je echt zit.
- Werkt het? Druk op Deze lijst houden. Het terugdraaien vervalt.
- Werkt het niet? Doe niets. Als het venster afloopt zet de server de vorige lijst zelf terug — er hoeft niemand bij te zitten. Nu terugdraaien is dezelfde handeling, alleen eerder.
Zolang het venster loopt staat de aftelling bovenaan het blok, met allebei de knoppen ernaast.
Het paneel kan je niet opvangen zoals de opdrachtregel dat kan
Op de opdrachtregel weigert de server een wijziging die jouw eigen SSH-sessie buiten de lijst zou zetten, en noemt hij het adres waar je vandaan komt. Bij een wijziging vanuit het paneel kan hij dat niet: daar is geen SSH-sessie om te beschermen. Het blok zegt dat, en het betekent dat het venster je vangnet is en geen formaliteit.
Om dezelfde reden vraagt het wijzigen van de lijst je om te bevestigen wie je bent — een code of je passkey — als je dat het afgelopen kwartier niet hebt gedaan. Voor het lézen van de lijst geldt dat niet, en voor terugdraaien evenmin.
Alleen met een sleutel aanmelden
Wachtwoorden over SSH zijn de helft van de brute force die kan slagen. Toepassen zet ze uit en vraagt daarna aan de SSH-server wat hij nu werkelijk leest — een andere vraag dan wat het configuratiebestand zegt, want een ander bestand kan eerder sorteren en winnen. Het antwoord komt van de server zelf, en als er nog iets anders wachtwoorden toestaat, staat dat er ook.
Wachtwoorden weer áánzetten is bewust geen knop. Dat is een regel in de configuratie van de machine zelf (password_auth: on onder sshd: in /etc/corecp/node.yaml, daarna corectl reconcile), omdat het de enige richting is die een machine makkelijker binnenkombaar maakt.
Op de opdrachtregel:
corectl sshd exposure # hoeveel wordt er gevraagd?
corectl sshd allow list # wie mag erbij
corectl sshd allow add --address 203.0.113.10 --comment "kantoor" --window 30m
corectl sshd allow confirm # houden
corectl sshd allow rollback # of nu terug
corectl sshd harden # alleen met sleutelSleutels waarmee je als root binnenkomt
Plesk en WHM laten je de sleutels van een klant beheren en houden daar op — de sleutels van de server zelf zijn een bestand dat iemand met de hand bijwerkt. Hier staan ze in het paneel.
De eerste keer dat CoreCP dit rendert neemt het over wat er al staat. Elke geldige sleutel in /root/.ssh/authorized_keys komt in de lijst te staan, met de naam uit zijn eigen commentaar. Niemand raakt toegang kwijt door deze functie aan te zetten. Regels die CoreCP niet kan lezen blijven letterlijk staan en worden niet beheerd.
Een sleutel toevoegen:
- Sleutel toevoegen.
- Plak de publieke sleutel — de regel uit
id_ed25519.pub, beginnend metssh-ed25519ofssh-rsa. Nooit de privésleutel. RSA moet minstens 2048 bits zijn. - Geef hem eventueel een naam en beperk hem eventueel tot een reeks adressen.
Op de commandoregel gaat de sleutel nooit via de opdrachtregel zelf mee — op een gedeelde machine kan iedereen de procesregels lezen:
corectl node sshkey add --file ~/.ssh/id_ed25519.pub --label laptop
corectl node sshkey list
corectl node sshkey remove --label laptopDe laatste sleutel gaat er niet zomaar af. Als deze server geen wachtwoord accepteert voor root — en dat is de standaard na onze eigen hardening — is de laatste sleutel verwijderen geen intrekking maar een machine waar niemand meer in kan. Je krijgt dan een weigering met uitleg; wie het écht bedoelt gebruikt --force.
Diensten starten, stoppen en herstarten
De lijst toont wat deze machine draait: de agent, de SSH-server, de firewall, de bewaker, en alles wat bij de rollen hoort (webserver, database, mail, DNS, FTP). Per dienst zie je of hij draait, of hij bij het opstarten meekomt, en sinds wanneer.
- Een dienst die draait krijgt Herstarten.
- Een dienst die stilstaat krijgt Starten.
- Drie diensten kun je van hieruit niet stoppen: de agent (dan is de verbinding waar je opdracht overheen kwam weg), de SSH-server (dan is er geen weg terug) en
nftables(die gooit bij het stoppen de hele firewall leeg in plaats van hem te herladen). Herstarten mag wel, en dat is meestal ook wat je bedoelt.
Wat je terugkrijgt is wat de server erna gemeten heeft, niet wat je gevraagd hebt: een dienst die start en twee seconden later omvalt, ziet er hier ook uit alsof hij omgevallen is.
corectl node service list
corectl node service restart nginx
corectl node service enable fail2banOnder deze machine: de gastagent en het trimschema
Bijna elke CoreCP-server is een virtuele machine, en er zijn twee dingen die de host van zijn gast verwacht en die alléén de gast zelf kan doen. Ze staan onder Onder deze machine, met daarboven wat de server over zichzelf heeft kunnen vaststellen.
De gastagent (qemu-guest-agent) is het lijntje waarover de host vraagt om netjes af te sluiten, de bestandssystemen even bevriest vóór hij een snapshot maakt, en te horen krijgt welke adressen de machine echt heeft. Zonder die agent is een snapshot van deze server een foto van een dráaiende database — technisch te herstellen, maar met de kans op werk dat halverwege stond — en betekent "afsluiten" op de host: de stekker.
- Automatisch (de standaard) installeert hem zodra de server merkt dat hij een QEMU/KVM-gast is. Op echt ijzer gebeurt er niets.
- Altijd aan negeert die vaststelling. Handig bij een geneste gast of een hypervisor die zichzelf anders noemt.
- Uit zet de dienst stil. Het pakket blijft staan — software verwijderen omdat je een schakelaar omzet is een grotere belofte dan een schakelaar hoort te doen, en terugzetten heeft dan weer een netwerk en een spiegel nodig.
Blokken teruggeven (fstrim) is hoe een thin-provisioned schijf ooit weer krimpt. Alleen de gast weet welke blokken vrij zijn; een server die dat nooit vertelt groeit door tot zijn volledige maat en blijft daar, wat df er ook van zegt. Kies Wekelijks (de standaard van Ubuntu), Dagelijks op een machine waar veel omgaat, of Nooit op echte schijven, waar een trim alleen maar schijfwerk voor niets is.
Beide keuzes zijn meteen doorgevoerd als je ze wijzigt — er is geen opslaan-knop en je hoeft niet op een onderhoudsronde te wachten.
Wat het paneel wél meldt en niet regelt
Twee dingen staan er alleen ter informatie, en dat is met opzet:
- Discard op de schijf. De schakelaar die een trim écht iets laat doen staat op de host, bij de schijf van deze VM (in Proxmox: Hard Disk → Discard). Vanuit de gast is die niet te zetten. Staat hij uit, dan zie je hier een waarschuwing met de plek waar je hem aanzet — en tot die tijd geeft een trim netjes niets terug. Een scherm dat "aan" zou zeggen terwijl de host elke opdracht weggooit, is erger dan geen scherm.
- Het kanaal van de gastagent. Dat verschijnt pas als op de host het vinkje QEMU Guest Agent aanstaat voor deze VM. Staat het uit, dan installeert CoreCP de agent gewoon — de volgorde is niet aan ons — en meldt erbij dat de host nog aan zet is.
corectl platform
corectl platform set --guest-agent auto
corectl platform set --fstrim dailyHet profiel van een server
Een profiel is de vorm die een machine gekregen heeft: welke rollen, welke tools, welke webserver, welke PHP-plafonds. Het is een startpunt, geen slot — de server mag ervan afwijken, en die afwijkingen (drift) staan eronder.
Wisselen doe je in twee stappen: eerst Wat verandert er?, dan pas Profiel toepassen. Die eerste stap is geen beleefdheid. Een profiel dat smáller is dan wat er nu op de server staat — bijvoorbeeld zonder mailrol — wordt geweigerd zolang er nog mailboxen, zones of databases op zitten, en de weigering noemt ze bij naam.
Opnieuw opstarten en uitschakelen
Onderaan, in het rode blok, en met de meeste wrijving van het hele paneel: je typt de naam van de server over. Dat is niet voor de sier — het is precies wat de server zelf als bevestiging eist, dus het paneel kan hem niet voor je invullen.
- Opnieuw opstarten sluit netjes af en komt terug. Iedereen die is ingelogd krijgt eerst een waarschuwing, en er zit een minuut tussen.
- Uitschakelen sluit netjes af en blijft uit. Aanzetten kan daarna alleen nog via de console van je hoster.
- Toch niet roept een geplande herstart binnen die minuut terug.
corectl node power reboot --confirm stck1.corecp.dev
corectl node power cancelEen herstart of uitschakeling komt nooit uit automatiek: er is geen instelling die dit vanzelf doet, en dat is met opzet.
Wie dit mag
Alles op deze pagina is serverbeheer. Een reseller ziet het niet en een eindgebruiker al helemaal niet — die krijgen een weigering, ook als ze het adres raden. Een API-sleutel kan er niet bij: een sleutel die de SSH-poort kan verzetten of een sleutel in authorized_keys van root kan schrijven, is een sleutel die vanuit een script root krijgt op alle klanten op die machine.
Als een instelling niet wordt aangenomen
Verander je in Rollen aanpassen een rol, de webserver, het kanaal of de groep en de server neemt het niet aan, dan staat de reden in dat venster — één keer, waar je aan het kijken bent. Vroeger stond hij ook op de pagina eronder en bleef daar staan nadat je het venster had gesloten, wat de indruk wekte dat er nóg iets mis was.
De weigering die je hier het vaakst zult zien is die van de server zelf: er kan maar één LiteSpeed-editie in dezelfde serverroot.