WordPress turvamine

From ICO wiki
Jump to navigationJump to search

!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04

WordPressi paigaldamine

Varnishi lisamine wordpressile

SuperCache kasutamine

DoS rünnaku tõrjumine mod_evasive mooduliga

Wordpressi paigaldus ja konfigureerimine

Antud toimingud tuleks teha root õigustes.

Mine root-iks:

sudo -i


Tee update kohalike pakettide cache

aptitude update


Tee upgrade pakettidele:

aptitude full-upgrade

Paigalda acpid daemon

aptitude install acpid


Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)

aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils


Tõmba alla kõige hilisem .tar fail wordpress.org-ist:

wget http://wordpress.org/latest.tar.gz


Paki lahti wordpressi failid /var/www kausta:

sudo tar zxvf latest.tar.gz --directory=/var/www/


Logi mysql-i sisse:

mysql -u root -p

Loo andmebaas student_wordpress:

 create database student_wordpress;

Loo kasutaja student:

 create user student;

Anna kõik õigused student kasutajale:

 GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;

Välju mysql-ist:

 quit;

Loo uus default veebi saidil põhinev veebi sait:

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp


Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:

nano /etc/apache2/sites-avalible/wp

Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress

DocumentRoot /var/www/wordpress



Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):

a2dissite default


Luba wordpress-i veebisait

a2ensite wp

Tee apache-ile restart

service apache2 restart

Muuda wordpress konfiguratsiooni faili:

nano /var/www/wordpress/wp-config-sample.php

Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:

define('DB_NAME', 'student_wordpress');

/** MySQL database username */
define('DB_USER', 'student');

/** MySQL database password */
define('DB_PASSWORD', 'student');

Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:

cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php


Tee apache2 service-ile reload

service  apache2 reload

Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);

http://192.168.56.102


Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.

Vali install

Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)

mod_evasive paigaldus ja konfigureerimine

Sissejuhatus

Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks, kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.

Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil, kust siis keelatakse IP aadressid, mis:

  • küsivad ühte lehte rohkem kui paar korda sekundis
  • teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu
  • üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas

Paigaldus

Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne

apt-get install libapache2-mod-evasive

Konfigureerimine

Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada (kuigi logimine praegu ei tööta)

mkdir /var/log/apache2/mod_evasive
chown www-data:www-data /var/log/apache2/mod_evasive

Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)

<ifmodule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSLogDir /var/log/apache2/mod_evasive
DOSEmailNotify root@localhost
DOSWhitelist 127.0.0.1
</ifmodule>

Antud väärtusi tuleks kohandada vastavalt vajadustele

Parameetrite kirjeldused:

  • DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.
  • DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.
  • DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.
  • DOSSiteCount: Objektide arv DOSSiteInterval sekundites.
  • DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.
  • DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.
  • DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.
  • DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.
  • DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:
    • DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"
  • DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.


Kui konfigureerimine valmis, tuleb Apache serverlie teha restart

/etc/init.d/apache2 restart
VÕI
service apache2 restart

Varnish Cache-i paigaldamine ja konfigureerimine

Sissejuhatus

Varnish Cache - see on HTTP kiirendaja, ta on vaja, et maksimaalselt suurendada veebilehekülje kiirendust. Varnish Cache salvestab mälus veebilehekülg nii, et veebiserverid ei pea koguda sama lehekülg uuesti ja veel kord uuesti.

Paigaldamine

Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:

sudo apt-get update

Paigaldamise käsk:

sudo apt-get install varnish

Konfiguratsiooni muutmine

Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili /etc/default/varnish:

nano /etc/default/varnish

...

Apache konfiguratsiooni muutmine

nano /etc/apache2/ports.conf

Super Cache

Eeldused: Permalinksi toimimine

Permalinksi jaoks on vaja,et setting ei oleks default vaid custom "p=?/%post_id%/"