Wiem, że wiem
Nie wiem, że wiem
Wiem, że nie wiem
Nie wiem, że nie wiem
Czemu i jak monitorować WordPressa?
Arek Bibliotekarz
przedstawia:
https://bibliotekarz.com Październik 2024
arek@bibliotekarz.com
## kontekst
Jestem bezpiecznikiem i w tym zakresie odbieram usługi, produkuję
kwity, czasem mogę popracować bardziej sensownie [:devil:]
Jestem bezpiecznikiem więc nie jestem zbytnio zainteresowany
monitorowaniem na potrzeby marketingu
Jestem bezpiecznikiem z dłuuuugą WordPresową tradycją
przy mikro i małych projektach
## co monitorować
1. Wszystko co wyzwoli alarm zanim będzie za późno
## co monitorować
1. Wszystko co wyzwoli alarm zanim będzie za późno
2. Wszystko co musisz/chcesz/potrafisz
2. Wszystko co musisz/chcesz/potrafisz
Projekt ki-bell
2. Wszystko co musisz/chcesz/potrafisz
# sprawdzenie czy serwer żyje
SERVER="www.twoja.domena"
MQTT_SERVER="mqtt.twoja.domena"
TOPIC="ping/response"
ping_time=$(ping -c 1 "$SERVER" | grep 'time=‚ 
| awk -F'=' '{print $2}' | cut -d' ' -f1)
mosquitto_pub -h "$MQTT_SERVER" -t "$TOPIC" -m "$ping_time"
echo "Kod wyjścia mosquitto_pub: $?"
2. Wszystko co musisz/chcesz/potrafisz
# sprawdzenie czy coś słucha na porcie
SERVER="www.twoja.domena"
PORT=443
LOG_MESSAGE="$PORT na serwerze $SERVER"
nmap -p $PORT $SERVER | grep "open" > /dev/null
if [ $? -eq 0 ]; then
logger -t "Port Check" "Port $LOG_MESSAGE: jest otwarty"
else
logger -t "Port Check" "Port $LOG_MESSAGE: nie jest otwarty"
fi
2. Wszystko co musisz/chcesz/potrafisz
# sprawdzenie czy strona się ładuje
# Pobranie zawartości strony
page_content=$(curl -s "$1")
# Sprawdzenie, czy na stronie znajduje się słowo bibliotekarz
if echo "$page_content" | grep -q -i "bibliotekarz"; then
echo "Słowo 'bibliotekarz' znajduje się na stronie $1"
else
echo "Słowo 'bibliotekarz' nie występuje na stronie $1"
fi
Można też… "$page_content" | grep -q -i "Index of";
2. Wszystko co musisz/chcesz/potrafisz
# pytanie pomocnicze czy masz pewność co monitorujesz?
Serwer
Cache na serwerze
Cache dostawcy serwera
CDN (np. Cloudflare)
## co monitorować
1. Wszystko co wyzwoli alarm zanim będzie za późno
2. Wszystko co musisz/chcesz/potrafisz
3. Wszystko co da ci przydatne informacje o stanie
lub zmianie stanu serwisu
ale nie więcej
## co monitorować
No dobra jest jeszcze
Cyber Threat Intelligence (CTI)
## dlaczego monitorować
Wiesz co robi użytkownik serwisu
Matomo, (?!Google analytics), Hotjar, Microsoft Clarity
Wiesz co chcą trole, cyberzbóje, prawnicy
Shodan, ZoomEye, Wappalyzer
Wiesz co chcą trole, cyberzbóje, prawnicy
Wiesz co oczekują służby, CSIRT, Ministrowie i Premier
Wiesz co to jest triada CIA
poufność, integralność, dostępność
NIS2
• Podmioty kluczowe:
• Energetyka
• Transport
• Bankowość
• Infrastruktura rynków finansowych
• Opieka zdrowotna
• Sektor wodny (wodociągi i ścieki)
• Administracja publiczna
• Infrastruktura cyfrowa
• Podmioty ważne:
• Usługi pocztowe i kurierskie
• Gospodarowanie odpadami
• Sektor żywności
• Produkcja farmaceutyczna i chemiczna
• Transport publiczny
## jak monitorować
co to jest Rejestr Dostępu Niestandardowego
arkusz kalkulacyjny,
baza danych,
plik tekstowy,
kartka papieru
komu,
do czego,
od kiedy,
do kiedy,
na jakiej podstawie,
kto nadał
status
co to jest backup maślanego kota (Schrödingera)
kiedy się wykonał,
czy poprawny rozmiar,
czy był odtwarzany testowo,
kto odtwarzał,
z jakim skutkiem
rejestrowanie wykonywanych prac
co to jest automatyzacja
IFTT
Zapier
Cron-Job.org
cron
wp-cli
wordpress-json
co to jest SIEM i czy jest systemem monitorowania zasobów IT
monitory zasobów
co to jest optymalizacja
ping
port
treść
treść
port
ping
treść
ping
port
co oczekuje / czego powinien oczekiwać właściciel serwisu
Weryfikacja ciągłości działania
Utrzymanie bezpieczeństwa
Realizowanie wymogów prawnych, branżowych, itd. (compilance)
Powiadamianie o działaniach które trzeba podjąć niebawem
lub natychmiast
Mała prywata :>
nmap -p 80,443 --script http-wordpress-* twoja.domena
co wiesz ciekawego o nmap
czego nie wiesz o nmap
co chcesz wiedzieć o nmap
To odezwij się na linkedinie
2. Wszystko co musisz/chcesz/potrafisz
# Pobranie daty wygaśnięcia certyfikatu
expiration_date=$(echo 
| openssl s_client -servername "$1" -connect "$1:443" 2>/dev/null 
| openssl x509 -noout -enddate 
| cut -d= -f2)
echo "Certyfikat dla $1 jest ważny do: $expiration_date„
https://scrutineer.tech/monitor/cert/twoja.domena.rss
2. Wszystko co musisz/chcesz/potrafisz
# sprawdzenie czy coś się w plikach zmieniło
send_email() {
echo "coś się zmieniło" | mail -s "[Alert] Zmiana w katalogu"
"alarm@twoja.domena"
}
inotifywait -m -r -e modify /srv/www/wordpress |
while read path action file; do
send_email
done
2. Wszystko co musisz/chcesz/potrafisz
# sprawdzenie ilu masz adminów w bazie
sql = """
SELECT wp_users.ID, wp_users.user_login,
wp_users.user_email
FROM wp_users
JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id
WHERE wp_usermeta.meta_key = 'wp_capabilities’
AND wp_usermeta.meta_value LIKE '%administrator%'
"""
2. Wszystko co musisz/chcesz/potrafisz
# sprawdzenie ile uciągnie MariaDB/MySQL
mysqlslap --concurrency=50 
--iterations=10 
--query="SELECT * FROM tabela;" 
--create-schema=nazwa_bazy 
--host=localhost 
--user=root 
--password=hasło 
--verbose
2. Wszystko co musisz/chcesz/potrafisz
# serwisy monitorujące
https://www.pingdom.com/
https://uptimerobot.com/
https://gtmetrix.com/
https://downtimemonkey.com/
2. Wszystko co musisz/chcesz/potrafisz
# sprawdzenie różności
iperf3 -P 20 -c twoja.domena -p 5203
ab -n 500 -c 20 http://twoja.domena /
nikto -h http://twoja.domena -p 8080 -o raport.txt -Format txt
wapiti -u http://twoja.domena -f html -o /ścieżka/do/raportu
wpscan --url https://twoja.domena 
--disable-tls-checks 
--api-token ********* 
--stealthy 
--max-threads 1 
--random-user-agent 
-v -e ap
wordfence vuln-scan /var/www/wordpress
https://crt.sh/?q=twoja.domena
WordCamp Gdynia październik 2024
/bibliotekarz
arek@bibliotekarz.com
Palę faję, piję rum, my team is blue.
x-autor-prezki: Arek Bibliotekarz
Prezentacja:
„Czemu i jak monitorować WordPressa?”
autorstwa @bibliotekarz
jest udostępniana na licencji Creative Commons
Uznanie autorstwa Użycie niekomercyjne Na tych samych
warunkach 3.0 Unported License.
Licencja
https:// www.google.com/search?q=inurl:wp-content+site:gov.pl
https:// budowlaneabc.gov.pl/wp-content/plugins/flat-model-show/3dsource/double/files/assets/16637864/1/
https://www.cia.gov/legacy/headquarters/cia-seal/
https://pl.wikipedia.org/wiki/Paradoks_kota_z_kromk%C4%85_posmarowan%C4%85_mas%C5%82em
https://github.com/wazuh/wazuh/issues/13508
https://www.forbes.com/sites/davidbalaban/2023/07/17/technical-aspects-of-modern-siem-systems/
https://github.com/bibliotekarz/ki-bell
https://github.com/wapiti3/
https://iperf3serverlist.net/iperf3.html
https://www.pingdom.com/
https://uptimerobot.com/
https://gtmetrix.com/
https://downtimemonkey.com/
Linkownia

Czemu i jak monitorować WordPressa? WordCamp Gdynia 2024

  • 1.
    Wiem, że wiem Niewiem, że wiem Wiem, że nie wiem Nie wiem, że nie wiem
  • 2.
    Czemu i jakmonitorować WordPressa? Arek Bibliotekarz przedstawia: https://bibliotekarz.com Październik 2024
  • 3.
  • 4.
    ## kontekst Jestem bezpiecznikiemi w tym zakresie odbieram usługi, produkuję kwity, czasem mogę popracować bardziej sensownie [:devil:] Jestem bezpiecznikiem więc nie jestem zbytnio zainteresowany monitorowaniem na potrzeby marketingu Jestem bezpiecznikiem z dłuuuugą WordPresową tradycją przy mikro i małych projektach
  • 5.
    ## co monitorować 1.Wszystko co wyzwoli alarm zanim będzie za późno
  • 6.
    ## co monitorować 1.Wszystko co wyzwoli alarm zanim będzie za późno 2. Wszystko co musisz/chcesz/potrafisz
  • 7.
    2. Wszystko comusisz/chcesz/potrafisz Projekt ki-bell
  • 8.
    2. Wszystko comusisz/chcesz/potrafisz # sprawdzenie czy serwer żyje SERVER="www.twoja.domena" MQTT_SERVER="mqtt.twoja.domena" TOPIC="ping/response" ping_time=$(ping -c 1 "$SERVER" | grep 'time=‚ | awk -F'=' '{print $2}' | cut -d' ' -f1) mosquitto_pub -h "$MQTT_SERVER" -t "$TOPIC" -m "$ping_time" echo "Kod wyjścia mosquitto_pub: $?"
  • 9.
    2. Wszystko comusisz/chcesz/potrafisz # sprawdzenie czy coś słucha na porcie SERVER="www.twoja.domena" PORT=443 LOG_MESSAGE="$PORT na serwerze $SERVER" nmap -p $PORT $SERVER | grep "open" > /dev/null if [ $? -eq 0 ]; then logger -t "Port Check" "Port $LOG_MESSAGE: jest otwarty" else logger -t "Port Check" "Port $LOG_MESSAGE: nie jest otwarty" fi
  • 10.
    2. Wszystko comusisz/chcesz/potrafisz # sprawdzenie czy strona się ładuje # Pobranie zawartości strony page_content=$(curl -s "$1") # Sprawdzenie, czy na stronie znajduje się słowo bibliotekarz if echo "$page_content" | grep -q -i "bibliotekarz"; then echo "Słowo 'bibliotekarz' znajduje się na stronie $1" else echo "Słowo 'bibliotekarz' nie występuje na stronie $1" fi Można też… "$page_content" | grep -q -i "Index of";
  • 11.
    2. Wszystko comusisz/chcesz/potrafisz # pytanie pomocnicze czy masz pewność co monitorujesz? Serwer Cache na serwerze Cache dostawcy serwera CDN (np. Cloudflare)
  • 12.
    ## co monitorować 1.Wszystko co wyzwoli alarm zanim będzie za późno 2. Wszystko co musisz/chcesz/potrafisz 3. Wszystko co da ci przydatne informacje o stanie lub zmianie stanu serwisu ale nie więcej
  • 13.
    ## co monitorować Nodobra jest jeszcze Cyber Threat Intelligence (CTI)
  • 14.
  • 15.
    Wiesz co robiużytkownik serwisu Matomo, (?!Google analytics), Hotjar, Microsoft Clarity
  • 16.
    Wiesz co chcątrole, cyberzbóje, prawnicy Shodan, ZoomEye, Wappalyzer
  • 17.
    Wiesz co chcątrole, cyberzbóje, prawnicy
  • 18.
    Wiesz co oczekująsłużby, CSIRT, Ministrowie i Premier
  • 19.
    Wiesz co tojest triada CIA poufność, integralność, dostępność
  • 20.
    NIS2 • Podmioty kluczowe: •Energetyka • Transport • Bankowość • Infrastruktura rynków finansowych • Opieka zdrowotna • Sektor wodny (wodociągi i ścieki) • Administracja publiczna • Infrastruktura cyfrowa • Podmioty ważne: • Usługi pocztowe i kurierskie • Gospodarowanie odpadami • Sektor żywności • Produkcja farmaceutyczna i chemiczna • Transport publiczny
  • 21.
  • 22.
    co to jestRejestr Dostępu Niestandardowego arkusz kalkulacyjny, baza danych, plik tekstowy, kartka papieru komu, do czego, od kiedy, do kiedy, na jakiej podstawie, kto nadał status
  • 23.
    co to jestbackup maślanego kota (Schrödingera) kiedy się wykonał, czy poprawny rozmiar, czy był odtwarzany testowo, kto odtwarzał, z jakim skutkiem rejestrowanie wykonywanych prac
  • 24.
    co to jestautomatyzacja IFTT Zapier Cron-Job.org cron wp-cli wordpress-json
  • 25.
    co to jestSIEM i czy jest systemem monitorowania zasobów IT monitory zasobów
  • 26.
    co to jestoptymalizacja ping port treść treść port ping treść ping port
  • 27.
    co oczekuje /czego powinien oczekiwać właściciel serwisu Weryfikacja ciągłości działania Utrzymanie bezpieczeństwa Realizowanie wymogów prawnych, branżowych, itd. (compilance) Powiadamianie o działaniach które trzeba podjąć niebawem lub natychmiast
  • 28.
    Mała prywata :> nmap-p 80,443 --script http-wordpress-* twoja.domena co wiesz ciekawego o nmap czego nie wiesz o nmap co chcesz wiedzieć o nmap To odezwij się na linkedinie
  • 29.
    2. Wszystko comusisz/chcesz/potrafisz # Pobranie daty wygaśnięcia certyfikatu expiration_date=$(echo | openssl s_client -servername "$1" -connect "$1:443" 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2) echo "Certyfikat dla $1 jest ważny do: $expiration_date„ https://scrutineer.tech/monitor/cert/twoja.domena.rss
  • 30.
    2. Wszystko comusisz/chcesz/potrafisz # sprawdzenie czy coś się w plikach zmieniło send_email() { echo "coś się zmieniło" | mail -s "[Alert] Zmiana w katalogu" "alarm@twoja.domena" } inotifywait -m -r -e modify /srv/www/wordpress | while read path action file; do send_email done
  • 31.
    2. Wszystko comusisz/chcesz/potrafisz # sprawdzenie ilu masz adminów w bazie sql = """ SELECT wp_users.ID, wp_users.user_login, wp_users.user_email FROM wp_users JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id WHERE wp_usermeta.meta_key = 'wp_capabilities’ AND wp_usermeta.meta_value LIKE '%administrator%' """
  • 32.
    2. Wszystko comusisz/chcesz/potrafisz # sprawdzenie ile uciągnie MariaDB/MySQL mysqlslap --concurrency=50 --iterations=10 --query="SELECT * FROM tabela;" --create-schema=nazwa_bazy --host=localhost --user=root --password=hasło --verbose
  • 33.
    2. Wszystko comusisz/chcesz/potrafisz # serwisy monitorujące https://www.pingdom.com/ https://uptimerobot.com/ https://gtmetrix.com/ https://downtimemonkey.com/
  • 34.
    2. Wszystko comusisz/chcesz/potrafisz # sprawdzenie różności iperf3 -P 20 -c twoja.domena -p 5203 ab -n 500 -c 20 http://twoja.domena / nikto -h http://twoja.domena -p 8080 -o raport.txt -Format txt wapiti -u http://twoja.domena -f html -o /ścieżka/do/raportu wpscan --url https://twoja.domena --disable-tls-checks --api-token ********* --stealthy --max-threads 1 --random-user-agent -v -e ap wordfence vuln-scan /var/www/wordpress https://crt.sh/?q=twoja.domena
  • 35.
    WordCamp Gdynia październik2024 /bibliotekarz arek@bibliotekarz.com Palę faję, piję rum, my team is blue. x-autor-prezki: Arek Bibliotekarz
  • 36.
    Prezentacja: „Czemu i jakmonitorować WordPressa?” autorstwa @bibliotekarz jest udostępniana na licencji Creative Commons Uznanie autorstwa Użycie niekomercyjne Na tych samych warunkach 3.0 Unported License. Licencja
  • 37.