Beveiliging
Tweefactorauthenticatie, captcha, een aangepaste beheer-URL, leeftijdsverificatie en hardening.
TubePress is standaard beveiligd — CSRF-bescherming op elk formulier, beperking van verzoekfrequentie bij gevoelige acties, moderne wachtwoordhashing en sessieregeneratie zijn allemaal ingebouwd. Bovenop deze basislijn bieden een handvol instellingen u de mogelijkheid het beheerpaneel volledig te vergrendelen.
Deze pagina behandelt tweestapsverificatie, CAPTCHA, het verplaatsen van de beheerderslogin naar een geheime URL, de leeftijdspoort, transportbeveiliging en eindigt met een beveiligingschecklist. De meeste van deze opties bevinden zich onder Instellingen → Beveiliging.
Beveiligingsoverzicht
Goede beveiliging is gelaagd: geen enkele maatregel volstaat op zichzelf, maar samen maken ze uw site een moeilijk doelwit. De maatregelen die u beheert vanuit de beveiligingsinstellingen zijn:
- Tweestapsverificatie — een eenmalige code bij het inloggen als beheerder.
- CAPTCHA — houdt bots weg van uw openbare formulieren.
- Een aangepaste beheerders-URL — verbergt de login voor scanners.
Onderliggend versleutelt het framework wachtwoorden al met Argon2id (of bcrypt waar Argon2 niet beschikbaar is), valideert een CSRF-token bij elk verzoek dat de toestand wijzigt, regenereert de sessie bij het inloggen en beperkt herhaalde pogingen tot inloggen, registreren en wachtwoord opnieuw instellen.
Tweestapsverificatie
Tweestapsverificatie (2FA) voegt een tijdgebaseerde eenmalige code (TOTP) toe aan het inloggen als beheerder, zodat een gestolen wachtwoord alleen niet genoeg is om toegang te krijgen. Het werkt met Google Authenticator, Authy, 1Password of elke TOTP-compatibele app.
Om u in te schrijven, opent u Instellingen → Beveiliging en:
- Klik op 2FA inschakelen om een geheim te genereren.
- Scan de QR-code met uw authenticator-app of voer de getoonde sleutel handmatig in.
- Voer de huidige 6-cijferige code in om te verifiëren en 2FA in te schakelen.
Het geheim wordt opgeslagen bij uw individuele account, zodat elke beheerder zijn eigen geheim instelt. Het later uitschakelen van 2FA vereist een huidige code, en de poort is fail-closed: zodra een code is ingesteld, vereist het beheerpaneel deze bij toegang, zelfs als u zich via het openbare inlogformulier hebt aangemeld.
CAPTCHA
Een CAPTCHA voorkomt geautomatiseerd misbruik van uw openbare formulieren. Kies een provider in Instellingen → Beveiliging:
Plak de websitesleutel en geheime sleutel van de provider, kies een licht of donker widget-thema en selecteer vervolgens welke formulieren u wilt beveiligen — Registratie, Opmerkingen en het Contactformulier worden elk afzonderlijk in- of uitgeschakeld en zijn standaard ingeschakeld zodra een provider is ingesteld. De CAPTCHA combineert met de opmerkingen-antispam-suite die wordt beschreven in Opmerkingen.
Een aangepaste beheerders-URL
Geautomatiseerde scanners zijn gericht op bekende paden zoals /admin/login. U kunt het inlogformulier verplaatsen naar een geheime slug zodat die scans niets vinden. Stel in Instellingen → Beveiliging een aangepaste inlogslug in (3–50 tekens, kleine letters, cijfers en koppeltekens). Uw login bevindt zich dan op /your-secret-slug in plaats van /admin/login; het dashboard zelf blijft op /admin, nog steeds beveiligd door verificatie.
/admin/login niet meer. Dit is beveiliging door obscuriteit — het is geen vervanging voor een sterk wachtwoord en 2FA. Als u de slug ooit vergeet, wist u deze rechtstreeks in de database: DELETE FROM settings WHERE setting_key='admin_login_slug'.Leeftijdspoort
Voor sites voor volwassenen plaatst de ingebouwde Leeftijdspoort-plugin een leeftijdsverificatiemuur op volledig scherm voor uw inhoud, met meerdere verificatiemodi, een optionele RTA-metatag en links naar uw Gebruiksvoorwaarden, 2257 en Privacypagina's. Het is ingeschakeld en geconfigureerd vanuit /admin/plugins.
Omdat het deel uitmaakt van uw moderatie- en nalevingsinstellingen, bevindt de volledige uitleg zich op de pagina Moderatie.
HTTPS & headers
Serveer uw site altijd via HTTPS — het beschermt wachtwoorden en sessiecookies tijdens overdracht. Een gratis certificaat van Let's Encrypt (Certbot) is voldoende. Als TLS stroomopwaarts wordt beëindigd bij een proxy of loadbalancer, stuur dan het schema door (bijvoorbeeld een X-Forwarded-Proto-header) zodat de applicatie weet dat het verzoek veilig is.
Schakel voor productie ook PHP's display_errors uit (zodat stack traces nooit bezoekers bereiken) en expose_php (zodat de versie niet wordt geadverteerd). De gezondheidscontrole markeert alle drie voor u.
Beveiligingschecklist
Doorloop deze lijst voor — en periodiek na — het live gaan:
- Stel een lang, uniek beheerderswachtwoord in.
- Activeer 2FA op elke personeelsaccount.
- Verplaats de login naar een aangepaste beheerders-URL.
- Schakel een CAPTCHA in voor registratie, opmerkingen en contact.
- Serveer alles via HTTPS.
- Schakel
display_errorsenexpose_phpuit. - Geef personeel de minste rol die zij nodig hebben — geef de voorkeur aan moderator boven administrator.
- Houd PHP en TubePress up-to-date en maak regelmatig back-ups.
Volgende stappen
Nog vastgelopen?
Open een ticket vanuit uw dashboard en ons team helpt u verder.