Ar trebui WordPress să adauge opțiuni pentru a îmbunătăți securitatea sau să lase această responsabilitate dezvoltatorilor de plugin-uri?
Pe baza pasiunii generate de răspunsurile la această întrebare, se pare că răspunsul este un categoric "Nimic!" sau "lasă-i pe dezvoltatorii de plugin-uri să se ocupe, WP este deja suficient de sigur"...
Deci presupun că m-am înșel complet cu întrebarea? Se pare că am stârnit un cuib de viespi și nu acesta a fost intenția. Cu toate acestea, iată rezultatul din lumea reală...
Tocmai am primit un e-mail de la unul dintre clienții mei care a avut 12 site-uri hackuite pentru că un atacator a spart parola lui. Comentariile lui mi-au deschis ochii la posibilități pentru câteva opțiuni foarte simple care ar putea fi adăugate în nucleul WordPress pentru a ajuta la reducerea acestor tipuri de atacuri.
Cea mai simplă chestie pe care un utilizator o poate face este să schimbe numele de utilizator implicit. Presupun că peste 90% dintre site-urile WordPress live au un profil de utilizator "admin" care poate fi folosit sau nu, dar care evident are drepturi și permisiuni complete. Munca unui atacator este deja pe jumătate făcută!
Dar nucleul WordPress ar putea fi îmbunătățit cu câteva opțiuni de securitate foarte simple. Cât de greu ar fi să adaugi...
- Blocare după încercări de autentificare eșuate (setare definită de utilizator)
- Reglementarea timpului între încercări de autentificare eșuate (setare definită de utilizator în secunde)
- Restricție de interval IP (setează o listă de IP-uri de la care sunt acceptate autentificările)
Acestea sunt doar câteva idei care îmi vin în minte. Sunt sigur că și voi aveți alte sugestii mai bune.
Și scopul întrebării mele nu este ce ar trebui să facă "utilizatorii" pentru a îmbunătăți securitatea, asta este o cu totul altă întrebare. Întreb ce pași ar putea face WP pentru a oferi unele OPȚIUNI, nimic obligatoriu, dar lucruri pe care dezvoltatorii de plugin-uri în prezent le completează acolo unde ar trebui să fie parte din fiecare instalare WordPress implicită (după părerea mea).
Sunt planificate astfel de îmbunătățiri pentru versiunile viitoare de WordPress?

RE: Nume de utilizator - admin
Începând cu versiunea 3.0, programul de instalare cere utilizatorului să furnizeze un nume de utilizator pentru contul principal, evident că nu veți avea această opțiune dacă faceți upgrade de la o versiune mai veche (deoarece nu este o instalare nouă).
Puteți vedea o imagine a acestui lucru aici:
http://codex.wordpress.org/Installing_WordPress#Step_5:_Run_the_Install_Script
RE: Blocarea utilizatorilor rău intenționați
Nu există o metodă cu adevărat eficientă de a face acest lucru, deoarece orice informație pe care o puteți obține și reține despre un utilizator poate fi falsificată și schimbată în câteva momente, riscați să blocați utilizatori legitimi.
RE: Încercări eșuate de autentificare
Acest lucru ar putea fi util, dar există întotdeauna posibilitatea ca un utilizator rău intenționat să blocheze un administrator (sau alt utilizator) de la propria instalație, pur și simplu prin încercarea intenționată de a se autentifica în contul respectivului utilizator cu date de autentificare invalide. Reglementarea timpului dintre încercările de autentificare ar putea ajuta, dar, sincer, orice hacker inteligent ar automatiza procedura oricum, iar acest lucru devine într-o oarecare măsură inutil (dar da, sigur, va opri câțiva).
Acesta este doar părerea mea despre aceste puncte specifice, luați-o cum doriți.. :)

@t3los: majoritatea site-urilor WordPress au un singur utilizator admin. Autentificarea ca admin este ceea ce propun să adăugăm opțiuni de securizare. O propun doar ca o opțiune, la fel cum se schimbă permalink-urile. Mulțumesc pentru sugestii.

@Scott B - Ce ai sugera să se facă pentru a securiza în continuare conturile de admin?

@t3los: Cred că cele 3 lucruri pe care le-am enumerat în întrebare ar fi suficiente pentru început. Și ar fi lucruri pe care aș putea pur și simplu să le "acord" clienților ca opțiuni activate. Nimic obligatoriu. Și când spun că majoritatea site-urilor au un singur utilizator admin, de obicei acesta este SINGURUL utilizator care are acces la panoul WordPress în experiența mea.

@t3los: Doar pentru a clarifica în legătură cu utilizatorii de administrare. Am aproximativ 1.000 de clienți care toți folosesc WP (și peste 10.000 de instalări WP printre acei clienți). Peste 95% dintre ei au exact 1 utilizator în tabelul Utilizatori, iar în aproape 100% dintre acele cazuri, acesta este utilizatorul admin.

Da, dar așa cum am spus înainte, există potențialul ca unele măsuri să aibă impact negativ asupra experienței unui utilizator legitim (și o mică incomoditate pentru hackerul experimentat). Redenumirea contului principal este întotdeauna o măsură utilă, așa cum este acoperit în documentația Hardening WordPress: http://codex.wordpress.org/Hardening_WordPress, care este o sursă bună de informații pentru securizarea unui server (cel puțin este un bun punct de plecare).

Presupun că nu ai avut de-a face niciodată cu o bază de utilizatori considerabil de mare pentru ceva cu securitate strictă la autentificare? Nu e frumos... :)
Modificările la autentificare pe care le propui vor:
A avea un impact mic asupra securității, deoarece majoritatea hack-urilor provin din versiuni învechite și securitate slabă a serverului, nu din încercări brute de autentificare.
Genera mai mult feedback negativ de la utilizatori decât au făcut-o sau vor face vreodată problemele de securitate.
Ideea este că WordPress funcționează doar ca parte a unui stack de server web. Există doar atât de multe lucruri pe care le poate face în privința securității, iar măsurile generale vor face mai mult rău decât bine în majoritatea cazurilor.
WordPress se ocupă de tot ce poate și este bazat pe plugin-uri pentru a adăuga și configura ceea ce ai nevoie în mod specific. Este greu să mergi mai departe de atât.

În majoritatea cazurilor, acestea sunt site-uri mici cu un singur utilizator administrator. Opțiunile pe care le propun nu sunt obligatorii și ar fi definite de utilizator ca un nivel suplimentar de securitate. În cazul clientului meu, oricare dintre cele 3 opțiuni sugerate ar fi putut preveni breșa simplă a parolei de administrator. Nu pot spune că hackerul ar fi "pur și simplu renunțat", însă a fost mult prea ușor.

@Scott B cum este diferită activarea unei opțiuni neobligatorii față de instalarea unui plugin care face același lucru? Înțeleg punctul tău că ar putea fi inclus în nucleu. Dar înțeleg și că acesta nu este ceva ce WordPress trebuie să facă și nici nu este ceva ce nu se poate face deja.

se reduce la nivelul de sofisticare al utilizatorului. Desigur, ei ar trebui să știe aceste lucruri, dar majoritatea consideră de la sine înțeles că WP securizează deja site-urile lor împotriva spargerii simple a parolei. Deci, dacă ar ști cât de ușor este, cu o instalare implicită WP, să spargi parola de administrator, poate că ar face cum sugerezi și ar căuta pluginul și l-ar instala. Majoritatea nu află până nu este prea târziu.

Dacă clientul tău a avut 12 site-uri hackuite, atunci unul din două lucruri trebuie să se întâmple: fie are nevoie de un hosting mai bun, fie trebuie să înceteze să creeze vulnerabilități de securitate pe site-urile sale.
WordPress nu trebuie să facă niciunul din lucrurile sugerate deoarece fie le au deja (poți alege propriul nume de utilizator admin la instalare), fie cazul de utilizare nu o impune. După cum a menționat t31os, deși aceste măsuri ar putea fi utile, ele ar putea fi folosite și de hackeri ca armă împotriva administratorilor.
Nu sunt suficiente persoane care au nevoie sau doresc aceste măsuri de securitate pentru a justifica includerea lor ca opțiuni în nucleul WordPress.
Tehnic, ele sunt deja o opțiune în nucleu:
Mergi la Pluginuri --> Adaugă nou, caută 'Login Lockdown' și instalează.

mulțumesc pentru sugestia pentru "Login Lockdown". O voi lua în considerare pentru a o recomanda utilizatorilor mei. Deși cred că ar trebui să fie integrat în nucleu ca o "Opțiune", setare.

WordPress este cea mai populară și utilizată platformă de blogging. Acesta suportă orice tip de website, de la un simplu blog până la un site de afaceri complet. Douăzeci și șase la sută din toate site-urile web din întreaga lume utilizează WordPress. Ca urmare a acestei popularități, hackerii și spammerii au arătat un interes deosebit pentru a sparge securitatea site-urilor operate cu WordPress.
Doar în ianuarie 2017, WordFence a raportat o medie de 26 de milioane de atacuri brute force împotriva site-urilor WordPress pe zi. În același raport, au înregistrat atacuri mai complexe și direcționate, cu o medie de 4,7 milioane pe zi pentru aceeași perioadă. Sunt foarte mulți oameni și roboți cu intenții rele. Securitatea site-ului tău WordPress este o problemă importantă, iar un loc bun pentru a începe securizarea este pagina de login. Așadar, să începem să facem pagina de login a site-ului tău WordPress un pic mai sigură.
1. Nu utilizați „admin” ca nume de utilizator Acesta este probabil cel mai simplu pas de bază pentru securitatea WordPress pe care îl poți lua ca utilizator WordPress. Nu te costă nimic, iar instalarea îl face ușor de realizat. Majoritatea atacurilor de astăzi vizează punctele de acces wp-admin / wp-login folosind o combinație de „admin” și o anumită parolă în ceea ce este cunoscut sub numele de atacuri brute force. Logica ar dicta că dacă eliminați „admin”, veți opri și atacul.
Pur și simplu creați un nou utilizator în WordPress la Utilizatori > Utilizator nou și faceți acel utilizator cu drepturi de Administrator. După aceea, ștergeți utilizatorul „admin”. Nu vă faceți griji cu privire la postările sau paginile pe care utilizatorul „admin” le-a creat deja. WordPress vă va întreba frumos: „Ce ar trebui făcut cu conținutul deținut de acest utilizator?” și vă va oferi opțiunea de a șterge tot conținutul sau de a-l atribui unui nou utilizator, cum ar fi cel pe care tocmai l-ați creat.
2. Utilizați o parolă puternică
Forțarea paginilor de login este una dintre cele mai comune forme de atacuri web pe care site-ul tău este probabil să le înfrunte. Dacă ai o parolă sau un nume de utilizator ușor de ghicit, site-ul tău va fi aproape sigur nu doar o țintă, ci în cele din urmă o victimă.
Experimentați cu parolele site-ului și schimbați-le regulat. Îmbunătățiți rezistența lor adăugând litere mari și mici, numere și caractere speciale. impune parole puternice pentru toți utilizatorii tăi
3. Limitați încercările de login Aceasta este o tehnică incredibil de simplă pentru a opri atacurile brute force pe pagina de login chiar în locul lor. Un atac brute force funcționează prin încercarea de a obține numele de utilizator și parola corecte prin încercarea mai multor combinații în mod repetat.
Dacă IP-ul care perpetuează atacul este urmărit, atunci puteți bloca încercările repetitive de brute force și puteți păstra site-ul securizat. setați Limit Login Attempts pentru a preveni atacurile brute force.
4. Păstrați-vă actualizat Un procent foarte mare dintre hack-urile site-urilor au provenit din versiuni de plugin-uri vulnerabile și neactualizate.
Fiecare produs software bun este susținut de către dezvoltatorii săi și este actualizat din când în când, dar WordPress este actualizat foarte frecvent. Aceste actualizări sunt menite să remedieze erori și uneori au patch-uri de securitate vitale.
Așadar, actualizați-vă WordPress, plugin-urile și temele în mod regulat.
5. Faceți backup-uri regulate ale site-ului Indiferent cât de securizat este site-ul tău, există întotdeauna loc pentru îmbunătățiri. Dar, la finalul zilei, păstrarea unui backup în afara site-ului este poate cel mai bun antidot, indiferent ce se întâmplă.
Dacă ai un backup, poți restaura întotdeauna site-ul tău WordPress la o stare funcțională oricând dorești. Există câteva plugin-uri care te pot ajuta în acest sens.
Plugin-ul WP All Backup vă ajută să creați Backup și să restaurați Backup-ul ușor cu un singur clic. Backup-uri manuale sau automate și, de asemenea, stocarea backup-ului într-un loc sigur - dropbox, FTP.
Creează un Backup al întregului site: adică baza de date, WP Core curent, toate temele, plugin-urile și încărcările.
WP ALL Backup oferă administratorilor WordPress abilitatea de a migra, copia sau clona un site de la o locație la alta. Dacă trebuie să mutați WordPress sau să faceți backup WordPress, acest plugin vă poate ajuta să simplificați procesul.
6. Setați parole puternice pentru baza de date O parolă puternică pentru utilizatorul principal al bazei de date este obligatorie - cel pe care WordPress îl utilizează pentru a accesa baza de date.
Ca întotdeauna, utilizați litere mari și mici, numere și caractere speciale pentru parolă.
7. Configurați blocarea site-ului și interziceți utilizatorii O funcție de blocare pentru încercările de login eșuate poate rezolva o problemă uriașă, adică nu mai există încercări continue de brute force. Ori de câte ori există o încercare de hacking cu parole greșite repetitive, site-ul se blochează și ești notificat despre această activitate neautorizată.
Plugin-ul WP User WordPress are un mecanism pentru încetinirea atacurilor brute force, Limit Login Attempts, Notificare la blocare, Expresie regulată pentru parole, Google reCAPTCHA, Jurnal de login, Aprobare/Respingere Utilizator, Aprobare automată/prin email a utilizatorului.
