Hushfort

Hoe controleer ik wat mijn WordPress-site naar buiten laat zien?

Door Eureka Studio · Bijgewerkt op

Kort antwoord

Test je WordPress-site van buitenaf met echte verzoeken, uitgelogd: open /wp-login.php, /xmlrpc.php, /wp-json/wp/v2/users, /?author=1 en /wp-sitemap-users-1.xml. Elk daarvan laat zien of er een inlogdeur openstaat of een gebruikersnaam uitlekt. Je kunt ze met een browser of curl uitvoeren, of een scanplugin het laten doen en laten benoemen wat hij vindt.

Stappen

  1. 1Stap 1

    Open een privévenster of een terminal

    Test als een buitenstaander, niet als jezelf. Ingelogde verzoeken zien meer dan het publiek, dus controleer altijd terwijl je bent uitgelogd.

    Vijf verzoeken die een bot zou doen
    curl -sI https://yoursite.com/wp-login.phpcurl -s  https://yoursite.com/xmlrpc.phpcurl -s  https://yoursite.com/wp-json/wp/v2/userscurl -sI https://yoursite.com/?author=1curl -sI https://yoursite.com/wp-sitemap-users-1.xml
  2. 2Stap 2

    Controleer de inlogdeuren

    Toont wp-login.php een inlogformulier, dan is de standaardlogin openbaar. Antwoordt xmlrpc.php met "accepts POST requests only", dan staat er ook een tweede inlogdeur open.

    yoursite.com/xmlrpc.php antwoordt: XML-RPC server accepts POST requests only
  3. 3Stap 3

    Controleer op uitgelekte gebruikersnamen

    Een JSON-lijst van /wp/v2/users, een doorverwijzing van ?author=1 naar /author/naam/ of een gebruikerssitemap: ze verraden allemaal inlognamen.

    De openbare REST-gebruikerslijst met de inlognaam demo-admin
  4. 4Stap 4

    Voer de Oppervlakscan uit voor het volledige beeld

    Open in Hushfort het Overzicht en klik onder Oppervlakscan op Opnieuw scannen. De scan stuurt echte verzoeken naar je site en noemt elke gebruikersnaam die hij vindt bij naam.

    Oppervlakscan met 3 open punten: XML-RPC open, REST-gebruikerslijst en auteursscan tonen demo-admin
  5. 5Stap 5

    Sluit wat je hebt gevonden en scan opnieuw

    Schakel Oppervlakbeveiliging in en klik op Opnieuw scannen. De deuren die rood waren, krijgen nu een groen vinkje; wat overblijft staat op Aandacht nodig, met een voorgestelde oplossing.

    Oppervlakscan na Oppervlakbeveiliging: XML-RPC, REST-gebruikerslijst, auteursscan en auteurslijst in sitemap gesloten

Waarom het ertoe doet

Het meeste beveiligingsadvies gaat over schakelaars: zet dit aan, schakel dat uit. Maar een schakelaar vertelt je wat je hebt gevraagd, niet wat er is gebeurd. Een cachelaag kan een oud antwoord serveren. Een CDN-regel kan een bestand blokkeren voordat WordPress het verzoek ooit ziet. Een plugin kan iets weer openzetten dat een andere had gesloten. Het enige eerlijke antwoord op "wat laat mijn site zien?" krijg je door het te vragen zoals een buitenstaander dat zou doen.

Het goede nieuws: de lijst met dingen die het waard zijn om aan de inlogkant te controleren, is kort. Bots zoeken op elke WordPress-site naar hetzelfde handjevol adressen:

Adres Wat het verraadt als het openstaat
/wp-login.php, /wp-admin Het standaard inlogformulier
/xmlrpc.php Een tweede inlogdeur, met massaal raden via system.multicall
/wp-json/wp/v2/users Een lijst met auteurs en hun inlog-slugs
/?author=1 Een doorverwijzing naar /author/login-name/
/wp-sitemap-users-1.xml URL's van auteursarchieven, met daarin inlog-slugs

Geen daarvan is op zichzelf een ramp. Samen geven ze een bot een lijst met namen en twee deuren om ze op uit te proberen. Weet je welke openstaan, dan kun je ze in de juiste volgorde sluiten: eerst de deuren, dan de namen.

Veelgemaakte fouten

  • Testen terwijl je bent ingelogd. WordPress laat ingelogde gebruikers meer zien. Gebruik een privévenster of curl.
  • De gecachte pagina testen. Heb je net een instelling gewijzigd, leeg dan eerst je paginacache en CDN-cache, anders zie je het oude antwoord.
  • Stoppen bij het eerste groene lampje. Het inlogformulier sluiten terwijl XML-RPC openblijft, is de halve oplossing die we het vaakst zien.
  • Een volledige beveiligingsaudit verwachten. Deze checks gaan over de toegangswegen. Ze zeggen niets over malware, gewijzigde bestanden of verouderde plugins.

Zonder plugin

De vijf curl-commando's uit stap 1 zijn de handmatige methode, en het loont om ze te kennen. Lees de resultaten zo:

  • HTTP/2 200 op wp-login.php: de standaardlogin is openbaar. 404: hij is verborgen.
  • XML-RPC server accepts POST requests only. van xmlrpc.php: het endpoint is actief. Om te zien of inloggen wordt geaccepteerd, zou je een wp.getUsersBlogs-aanroep met een testaccount moeten sturen.
  • Een JSON-array van /wp/v2/users met "slug"-velden: gebruikersnamen zijn openbaar. 401 of een lege array: gesloten.
  • Location: /author/name/ van ?author=1: een lek. Herhaal met 2, 3 enzovoort om te zien hoeveel gebruikers een bot zou kunnen verzamelen.
  • 200 op de gebruikerssitemap: auteurs-URL's worden opgesomd.

Het nadeel is de tijd en de interpretatie. Je moet het na elke wijziging herhalen, en XML-RPC-login goed testen betekent XML met de hand opstellen.

Als er iets misgaat

  • De scan zegt "open", maar je hebt het uitgeschakeld. Leeg de pagina- en CDN-cache en scan opnieuw. Staat het nog steeds open, dan overschrijft mogelijk een andere plugin of een serverregel de instelling.
  • De scan kan je site niet bereiken. Sommige hosts blokkeren dat een site verzoeken naar zichzelf stuurt (loopback). Vraag je host om loopback-verzoeken toe te staan, of gebruik de curl-methode van buitenaf.
  • Er lekt na het dichtzetten nog steeds een gebruikersnaam uit. Controleer het auteursblok van je thema en de auteurssitemap van een eventuele SEO-plugin. Wijzig de weergavenaam van de auteur als het thema die toont.

Met Hushfort

De Oppervlakscan zit in het paneel Oppervlakbeveiliging van Hushfort Security, de gratis WordPress-beveiligingsplugin. Hij meet met echte verzoeken wat je site werkelijk laat zien, net als de handmatige methode, en noemt de gebruikersnamen die hij vindt bij naam. Elke bevinding hoort bij een Hushfort-laag die hem dichtzet:

We hebben de Oppervlakscan gebouwd nadat een webwinkel wachtwoordpogingen via XML-RPC bleef ontvangen, terwijl de inlogpagina verborgen was. De instelling zag er goed uit; alleen een echt verzoek liet de open deur zien.

Veelgestelde vragen

Mag ik mijn eigen WordPress-site scannen?

Ja, gewone verzoeken naar je eigen site sturen is prima. Test alleen sites die van jou zijn of waarvoor je toestemming hebt.

Waarom testen met echte verzoeken in plaats van de instellingen te lezen?

De instellingen kunnen het ene zeggen terwijl een cache, een CDN-regel, een andere plugin of een thema iets anders doet. Een echt verzoek laat zien wat een bezoeker werkelijk krijgt.

Vindt deze check malware of kwetsbare plugins?

Nee. Hij controleert de deuren en uitgelekte gebruikersnamen. Voor malware en bekende kwetsbaarheden heb je een ander hulpmiddel nodig; dat doet Hushfort niet.

Hoe vaak moet ik controleren?

Nadat je plugins installeert of verwijdert, van thema wisselt, naar een andere host verhuist of CDN-regels wijzigt. Op die momenten verandert ongemerkt wat je site laat zien.

Meld een bug of vraag een functie aan

Je bericht gaat rechtstreeks naar het team dat Hushfort bouwt.

Waar gaat het over?

Alleen gebruikt om je te antwoorden.

We gebruiken deze gegevens alleen om je te antwoorden. Privacy