Puncte:0

Cum să urmăriți anumite jurnale în Ubuntu? (PROCESOR)

drapel cn

Avem această instanță EC2: T2.medium, care rulează apache, cu 4 gazde virtuale (4 site-uri). Uneori, din senin, CPU ajunge la cote foarte înalte, poate un atac.

Am văzut că unele dintre fișierele noastre wordpress au fost modificate.

Cum aș putea verifica cine a scris în acele fișiere? Cum aș putea verifica jurnalele procesorului pentru a vedea ce proces l-a afectat? Există valori cloudwatch pe care le-aș putea folosi?

Am făcut câteva întăriri la server: actualizări, rularea AWS Inspector, lynis, modificarea fișierului de configurare ssh.

Există vreo modalitate de a vedea cine și cum au reușit să introducă și să modifice acele fișiere wordpress?

Si ce alte practici de intarire recomandati?

Puncte:0
drapel gp
Tim

Acesta nu este intenționat ca un răspuns complet, este suplimentar răspunsului lui sceox.

Ar trebui să te uiți la întărirea Wordpress, și Permisiuni pentru fișiere Wordpress.

Am lucrurile astfel configurate:

  • Un utilizator/grup deține fișierele
  • PHP face parte dintr-un grup care poate citi fișierele Wordpress, inclusiv pluginuri / teme / etc, dar nu le poate scrie. Poate scrie în folderul de încărcări, astfel încât imaginile să poată fi încărcate folosind GUI Wordpress. Acest lucru face foarte dificil pentru orice pe internet să compromită fișierele Wordpress
  • Am un script care folosește Wordpress CLI pentru a face actualizări ale Wordpress și a pluginurilor la 2 dimineața.
  • Orice plugin nou trebuie să fie instalat cu Wordpress CLI. Nu este la fel de convenabil, dar este MULT mai sigur.

Iată scriptul pe care îl folosesc, care rulează pe un job cron

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

ecou
Actualizarea echo Wordpress și pornirea scriptului de permisiuni
echo „$(data) Actualizarea și backupul Wordpress au început” >> /var/log/me/my-wordpress-upgrades 2>&1

# Funcție pentru upgrade wordpress
funcția upgrade_wordpress() {
    # configurați foldere în formatele necesare
    dir=$1
    încărcări=$1/wp-content/încărcări

    echo Actualizarea nucleului Wordpress, pluginurilor, temelor în ${dir}
    sudo -H -u www-user bash -c "actualizare de bază wp --path=$dir"
    sudo -H -u www-user bash -c "actualizare plugin wp --all --path=$dir"
    sudo -H -u www-user bash -c "actualizare teme wp --all --path=$dir"

    echo Setarea permisiunilor wordpress la 755 de fișiere și 644 de foldere
    găsi ${dir} -type d -exec chmod 755 {} \;
    găsi ${dir} -type f -exec chmod 644 {} \;
    chmod 440 ${dir}/wp-config.php

    echo Faceți scrierea folderului de încărcări ${uploads} de către serverul web
    chown -R www-data:www-data ${încărcări}

    Echo Wordpress upgrade pentru 1 USD complet
    ecou
    ecou
}


echo Setarea /var/www permisiunile pentru www-user:www-data
chown -R www-user:www-data /var/www/

# Rulați actualizarea Wordpress pentru fiecare instalare Wordpress
upgrade_wordpress /var/www/blog1
upgrade_wordpress /var/www/blog2
Puncte:0
drapel nr

Există mai multe întrebări aici.

Cine a scris în dosare

Sistemul de operare nu înregistrează aceste informații, dar există câteva indicii:

  • Data modificării
  • Permisiunile fișierului

Utilizați data modificării fișierelor pentru a restrânge căutarea în jurnalele dvs. de acces Apache. Verificați cel puțin pentru oricare POST solicitări și autentificări din acea perioadă. De exemplu, aceasta ar afișa toate încercările de conectare:

zgrep 'POST /wp-login.php' /var/log/apache2/*access*

Apoi puteți filtra rezultatul după intervalul de timp pe care l-ați obținut din timpul de modificare a fișierelor.

Dacă fișierele care au fost modificate pot fi scrise doar de anumiți utilizatori de sistem, atunci puteți fi sigur că au fost modificate de acești utilizatori de sistem.

Ce proces (procese) fixează CPU

Aceste informații nu sunt înregistrate în mod implicit. Dacă nu este practic să încerci să monitorizezi serverul „în direct” -- de exemplu cu partea de sus -- atunci există diverse instrumente de înregistrare pe care le poți folosi. Iată o întrebare serverfault unde sunt recomandate diverse instrumente în acest scop.

Stabilirea dacă ați fost piratat

Acesta este un subiect mai amplu, dar locul în care aș începe, deoarece ați menționat modificări ale fișierelor WordPress, este să stabilesc dacă aceste modificări sunt rău intenționate. Rulați un scaner de programe malware WordPress și/sau căutați modele rău intenționate, cum ar fi eval(base64_decode(, shell-uri web php și așa mai departe. Dacă nu sunteți sigur, fiți perseverent, fiți minuțios, postați mai multe întrebări dacă este necesar.

Determinarea modului în care un atacator a obținut acces

Dacă sunteți în mod rezonabil sigur că site-ul sau site-urile au fost piratate, puteți încerca să determinați cum a obținut acces atacatorul. Cele mai probabile două moduri în care acest lucru s-ar fi putut întâmpla sunt prin autentificarea la un cont de utilizator de administrator sau printr-o vulnerabilitate. În majoritatea cazurilor, este dificil de determinat cu un grad ridicat de certitudine.Dar dacă ați rulat software cu o vulnerabilitate cunoscută, în special una cu o exploatare publică și care permite executarea de cod de la distanță, atunci aceasta este o posibilitate foarte probabilă. Și dacă un utilizator admin WordPress are acreditări slabe sau acreditările lor au fost scurse, atunci aceasta este o posibilitate foarte probabilă.

Întărire în continuare

Dacă credeți că serverul a fost compromis, atunci ar trebui să vă referiți la răspunsul canonic asupra subiectului.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.