WordPress turvamine: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Metamm (talk | contribs)
Metamm (talk | contribs)
Line 172: Line 172:


*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.
*DOSPageCount: Number of pages allowed per DOSPageInterval.
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.
*DOSPageInterval: Time in seconds used by DOSPageCount.
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.
*DOSSiteCount: Number of objects allowed per DOSSiteInterval.
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.
*DOSSiteInterval: Time in seconds used by DOSSiteCount.
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.
*DOSBlockingPeriod: Time in seconds that IPs will be banned. If an IP tries to access the server within this period, the count will be restarted.
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.
*DOSLogDir: Optional. Directory to store the logs. If not specified, /tmp will be used.
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.
*DOSEmailNotify: Optional. Mail where notifications will be sent.
*DOSEmailNotify: Valikuline. Mail where notifications will be sent.
*DOSSystemCommand: Optional. Command to execute if an IP is blocked. For example:
*DOSSystemCommand: Optional. Command to execute if an IP is blocked. For example:
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"

Revision as of 18:42, 5 November 2011

!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 where notifications will be sent.
  • DOSSystemCommand: Optional. Command to execute if an IP is blocked. For example:
    • DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"
  • DOSWhitelist: Optional. List of IPs which won't be blocked.

Super Cache

Eeldused: Permalinksi toimimine

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

sdfasdf