https://wiki.itcollege.ee/api.php?action=feedcontributions&user=Krvask&feedformat=atomICO wiki - User contributions [en]2024-03-29T08:44:08ZUser contributionsMediaWiki 1.41.0https://wiki.itcollege.ee/index.php?title=Talk:BitLocker&diff=47646Talk:BitLocker2012-05-04T19:23:11Z<p>Krvask: </p>
<hr />
<div>Referaat koostatud kenasti põhjalikult ning välja toodud kõik põhilised punktid mida võiks teada Bitlockerist.<br />
Näide on samuti hästi valitud ning võib eeldada et sarnast lahendust läheb tulevikus suure tõenäosusega tarvis.<br />
Kaasa pandud allikad on korraliku kvaliteediga ning soovi korral saab lihtsa vaevaga palju inglisekeelset lisainfot hankida.<br />
Kui millegi üle norida siis oleks võinud natuke rääkida ka bitlockeri turvataseme võrdlusest teiste sarnaste toodetega.</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=Talk:OpenBSD_tulem%C3%BC%C3%BCr_PF&diff=44715Talk:OpenBSD tulemüür PF2011-12-15T08:54:33Z<p>Krvask: </p>
<hr />
<div>Hindajad:<br />
<br />
Vadim Vinogradin A31<br />
<br />
Sergei Barol A31<br />
<br />
Vladimir Kolesnik A32<br />
<br />
Risto Siitan A32<br />
<br />
Kristjan Vask A31<br />
<br />
<br />
{|border="2"<br />
!KRITEERIUM<br />
!KAAL<br />
!HINNANG<br />
!KOMMENTAAR<br />
|-<br />
|Versioonide ajalugu<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Autorid<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Viimase muutmise aeg<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Skoop<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Sissejuhatus<br />
|1<br />
|0.5<br />
|Võiks olla natuke pikem sissejuhatus ning väike võrdlus iptables'iga või muude tulemüürilahendustega.<br />
|-<br />
|Nõuded<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Paigaldamise osa<br />
|3<br />
|2.5<br />
|Kuna tegevus on seotud spetsifilise operatsiooni süsteemiga, millega suurem osa ei ole tuttav, siis oleks vaja lisada kas link või kirjeldus kuidas seda operatsioonisüsteemi paigaldada, sest inimesel peab olema ülevaade sellest<br />
|-<br />
|Tehniliselt korrektne <br />
|3<br />
|3<br />
|On korrektne<br />
|-<br />
|Korraldused on tekstist eristatavad<br />
|1<br />
|1<br />
|On lihtsalt eristatavad<br />
|-<br />
|Käskude väljundid on tekstist eristatavad<br />
|1<br />
|1<br />
|Kuna tegevus on seotud failide muutmisega, siis pole vaja käskude väljundeid<br />
|-<br />
|Muutuvad osad on eristatavad<br />
|1<br />
|1<br />
|Muutuvad osad on eristatavad<br />
|-<br />
|Tekst on loetav (struktuur on olemas) <br />
|1<br />
|1<br />
|On loogiliselt ülesehitatud<br />
|-<br />
|Tekst on arusaadav (laused on korrektsed)<br />
|1<br />
|1<br />
|On korrektsed<br />
|-<br />
|Teenuse varundamine<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Teenuse taastamine<br />
|2<br />
|0<br />
|Puudub<br />
|-<br />
|'''Kokku'''<br />
|'''20'''<br />
|'''14'''<br />
|<br />
|}<br />
<br />
---<br />
<br />
'''Teine võrgukaart'''<br />
<br />
#vi /etc/hostname.em1 <br />
<br />
inet 192.168.56.50 255.255.255.0<br />
<br />
Tegelikult peaks olema 192.168.56.10 (nagu pildil)<br />
<br />
---<br />
<br />
Pildi seletus võiks olema parem, sest retsentseerijad ei saanud kohe sellest aru.<br />
<br />
Peale vastavate reeglite sisestust on '''/etc/pf.conf''' fail järgmine: <br />
<br />
{konfi_faili_sisu}<br />
<br />
Meeldis see koht, kus kõik kommenteeritud ära ja terve konfi sisu on olemas. Kui juhtub probleem, siis saame kasutada seda terve failina.<br />
<br />
Juhul, kui teha kõik tegevused virtuaalmasinas (nagu me testisime seda), siis oleks hea kui oleks kirjeldatud ka virtuaalmasina võrguseaded "'''Network Adapters'''".<br />
<br />
<br />
'''OpenBSD'''<br />
<br />
Adapter 1: Bridged Adapter<br />
<br />
Adapter 2: Internal Network<br />
<br />
<br />
'''Ubuntu Server''' <br />
<br />
Adapter 1: Internal Network<br />
<br />
<br />
Puudub testmise osa (kuidas aru saada, et tulemüür toimib õigesti).<br />
<br />
Puudub varundamise ja taastamise osa.</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=Talk:OpenBSD_tulem%C3%BC%C3%BCr_PF&diff=44714Talk:OpenBSD tulemüür PF2011-12-15T08:54:17Z<p>Krvask: </p>
<hr />
<div>Hindajad:<br />
<br />
Vadim Vinogradin A31<br />
<br />
Sergei Barol A31<br />
<br />
Vladimir Kolesnik A32<br />
<br />
Risto Siitan A32<br />
<br />
Kristjan Vask A31<br />
<br />
<br />
{|border="2"<br />
!KRITEERIUM<br />
!KAAL<br />
!HINNANG<br />
!KOMMENTAAR<br />
|-<br />
|Versioonide ajalugu<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Autorid<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Viimase muutmise aeg<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Skoop<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Sissejuhatus<br />
|1<br />
|0.5<br />
|Võiks olla natuke pikem sissejuhatus ning väike võrdlus iptables'iga või muude tulemüürilahendustega.<br />
|-<br />
|Nõuded<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Paigaldamise osa<br />
|3<br />
|2.5<br />
|Kuna tegevus on seotud spetsifilise operatsiooni süsteemiga, millega suurem osa ei ole tuttav, siis oleks vaja lisada kas link või kirjeldus kuidas seda operatsioonisüsteemi paigaldada, sest inimesel peab olema ülevaade sellest<br />
|-<br />
|Tehniliselt korrektne <br />
|3<br />
|3<br />
|On korrektne<br />
|-<br />
|Korraldused on tekstist eristatavad<br />
|1<br />
|1<br />
|On lihtsalt eristatavad<br />
|-<br />
|Käskude väljundid on tekstist eristatavad<br />
|1<br />
|1<br />
|Kuna tegevus on seotud failide muutmisega, siis pole vaja käskude väljundeid<br />
|-<br />
|Muutuvad osad on eristatavad<br />
|1<br />
|1<br />
|Muutuvad osad on eristatavad<br />
|-<br />
|Tekst on loetav (struktuur on olemas) <br />
|1<br />
|1<br />
|On loogiliselt ülesehitatud<br />
|-<br />
|Tekst on arusaadav (laused on korrektsed)<br />
|1<br />
|1<br />
|On korrektsed<br />
|-<br />
|Teenuse varundamine<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Teenuse taastamine<br />
|2<br />
|0<br />
|Puudub<br />
|-<br />
|'''Kokku'''<br />
|'''20'''<br />
|'''14.5'''<br />
|<br />
|}<br />
<br />
---<br />
<br />
'''Teine võrgukaart'''<br />
<br />
#vi /etc/hostname.em1 <br />
<br />
inet 192.168.56.50 255.255.255.0<br />
<br />
Tegelikult peaks olema 192.168.56.10 (nagu pildil)<br />
<br />
---<br />
<br />
Pildi seletus võiks olema parem, sest retsentseerijad ei saanud kohe sellest aru.<br />
<br />
Peale vastavate reeglite sisestust on '''/etc/pf.conf''' fail järgmine: <br />
<br />
{konfi_faili_sisu}<br />
<br />
Meeldis see koht, kus kõik kommenteeritud ära ja terve konfi sisu on olemas. Kui juhtub probleem, siis saame kasutada seda terve failina.<br />
<br />
Juhul, kui teha kõik tegevused virtuaalmasinas (nagu me testisime seda), siis oleks hea kui oleks kirjeldatud ka virtuaalmasina võrguseaded "'''Network Adapters'''".<br />
<br />
<br />
'''OpenBSD'''<br />
<br />
Adapter 1: Bridged Adapter<br />
<br />
Adapter 2: Internal Network<br />
<br />
<br />
'''Ubuntu Server''' <br />
<br />
Adapter 1: Internal Network<br />
<br />
<br />
Puudub testmise osa (kuidas aru saada, et tulemüür toimib õigesti).<br />
<br />
Puudub varundamise ja taastamise osa.</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=Talk:OpenBSD_tulem%C3%BC%C3%BCr_PF&diff=44713Talk:OpenBSD tulemüür PF2011-12-15T08:53:32Z<p>Krvask: </p>
<hr />
<div>Hindajad:<br />
<br />
Vadim Vinogradin A31<br />
<br />
Sergei Barol A31<br />
<br />
Vladimir Kolesnik A32<br />
<br />
Risto Siitan A32<br />
<br />
Kristjan Vask A31<br />
<br />
<br />
{|border="2"<br />
!KRITEERIUM<br />
!KAAL<br />
!HINNANG<br />
!KOMMENTAAR<br />
|-<br />
|Versioonide ajalugu<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Autorid<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Viimase muutmise aeg<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Skoop<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Sissejuhatus<br />
|1<br />
|0.5<br />
|Võiks olla natuke pikem sissejuhatus ning väike võrdlus iptables'iga.<br />
|-<br />
|Nõuded<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Paigaldamise osa<br />
|3<br />
|2.5<br />
|Kuna tegevus on seotud spetsifilise operatsiooni süsteemiga, millega suurem osa ei ole tuttav, siis oleks vaja lisada kas link või kirjeldus kuidas seda operatsioonisüsteemi paigaldada, sest inimesel peab olema ülevaade sellest<br />
|-<br />
|Tehniliselt korrektne <br />
|3<br />
|3<br />
|On korrektne<br />
|-<br />
|Korraldused on tekstist eristatavad<br />
|1<br />
|1<br />
|On lihtsalt eristatavad<br />
|-<br />
|Käskude väljundid on tekstist eristatavad<br />
|1<br />
|1<br />
|Kuna tegevus on seotud failide muutmisega, siis pole vaja käskude väljundeid<br />
|-<br />
|Muutuvad osad on eristatavad<br />
|1<br />
|1<br />
|Muutuvad osad on eristatavad<br />
|-<br />
|Tekst on loetav (struktuur on olemas) <br />
|1<br />
|1<br />
|On loogiliselt ülesehitatud<br />
|-<br />
|Tekst on arusaadav (laused on korrektsed)<br />
|1<br />
|1<br />
|On korrektsed<br />
|-<br />
|Teenuse varundamine<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Teenuse taastamine<br />
|2<br />
|0<br />
|Puudub<br />
|-<br />
|'''Kokku'''<br />
|'''20'''<br />
|'''14.5'''<br />
|<br />
|}<br />
<br />
---<br />
<br />
'''Teine võrgukaart'''<br />
<br />
#vi /etc/hostname.em1 <br />
<br />
inet 192.168.56.50 255.255.255.0<br />
<br />
Tegelikult peaks olema 192.168.56.10 (nagu pildil)<br />
<br />
---<br />
<br />
Pildi seletus võiks olema parem, sest retsentseerijad ei saanud kohe sellest aru.<br />
<br />
Peale vastavate reeglite sisestust on '''/etc/pf.conf''' fail järgmine: <br />
<br />
{konfi_faili_sisu}<br />
<br />
Meeldis see koht, kus kõik kommenteeritud ära ja terve konfi sisu on olemas. Kui juhtub probleem, siis saame kasutada seda terve failina.<br />
<br />
Juhul, kui teha kõik tegevused virtuaalmasinas (nagu me testisime seda), siis oleks hea kui oleks kirjeldatud ka virtuaalmasina võrguseaded "'''Network Adapters'''".<br />
<br />
<br />
'''OpenBSD'''<br />
<br />
Adapter 1: Bridged Adapter<br />
<br />
Adapter 2: Internal Network<br />
<br />
<br />
'''Ubuntu Server''' <br />
<br />
Adapter 1: Internal Network<br />
<br />
<br />
Puudub testmise osa (kuidas aru saada, et tulemüür toimib õigesti).<br />
<br />
Puudub varundamise ja taastamise osa.</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=Talk:OpenBSD_tulem%C3%BC%C3%BCr_PF&diff=44712Talk:OpenBSD tulemüür PF2011-12-15T08:53:20Z<p>Krvask: </p>
<hr />
<div>Hindajad:<br />
<br />
Vadim Vinogradin A31<br />
<br />
Sergei Barol A31<br />
<br />
Vladimir Kolesnik A32<br />
<br />
Risto Siitan A32<br />
<br />
<br />
{|border="2"<br />
!KRITEERIUM<br />
!KAAL<br />
!HINNANG<br />
!KOMMENTAAR<br />
|-<br />
|Versioonide ajalugu<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Autorid<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Viimase muutmise aeg<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Skoop<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Sissejuhatus<br />
|1<br />
|0.5<br />
|Võiks olla natuke pikem sissejuhatus ning väike võrdlus iptables'iga.<br />
|-<br />
|Nõuded<br />
|1<br />
|1<br />
|Olemas<br />
|-<br />
|Paigaldamise osa<br />
|3<br />
|2.5<br />
|Kuna tegevus on seotud spetsifilise operatsiooni süsteemiga, millega suurem osa ei ole tuttav, siis oleks vaja lisada kas link või kirjeldus kuidas seda operatsioonisüsteemi paigaldada, sest inimesel peab olema ülevaade sellest<br />
|-<br />
|Tehniliselt korrektne <br />
|3<br />
|3<br />
|On korrektne<br />
|-<br />
|Korraldused on tekstist eristatavad<br />
|1<br />
|1<br />
|On lihtsalt eristatavad<br />
|-<br />
|Käskude väljundid on tekstist eristatavad<br />
|1<br />
|1<br />
|Kuna tegevus on seotud failide muutmisega, siis pole vaja käskude väljundeid<br />
|-<br />
|Muutuvad osad on eristatavad<br />
|1<br />
|1<br />
|Muutuvad osad on eristatavad<br />
|-<br />
|Tekst on loetav (struktuur on olemas) <br />
|1<br />
|1<br />
|On loogiliselt ülesehitatud<br />
|-<br />
|Tekst on arusaadav (laused on korrektsed)<br />
|1<br />
|1<br />
|On korrektsed<br />
|-<br />
|Teenuse varundamine<br />
|1<br />
|0<br />
|Puudub<br />
|-<br />
|Teenuse taastamine<br />
|2<br />
|0<br />
|Puudub<br />
|-<br />
|'''Kokku'''<br />
|'''20'''<br />
|'''14.5'''<br />
|<br />
|}<br />
<br />
---<br />
<br />
'''Teine võrgukaart'''<br />
<br />
#vi /etc/hostname.em1 <br />
<br />
inet 192.168.56.50 255.255.255.0<br />
<br />
Tegelikult peaks olema 192.168.56.10 (nagu pildil)<br />
<br />
---<br />
<br />
Pildi seletus võiks olema parem, sest retsentseerijad ei saanud kohe sellest aru.<br />
<br />
Peale vastavate reeglite sisestust on '''/etc/pf.conf''' fail järgmine: <br />
<br />
{konfi_faili_sisu}<br />
<br />
Meeldis see koht, kus kõik kommenteeritud ära ja terve konfi sisu on olemas. Kui juhtub probleem, siis saame kasutada seda terve failina.<br />
<br />
Juhul, kui teha kõik tegevused virtuaalmasinas (nagu me testisime seda), siis oleks hea kui oleks kirjeldatud ka virtuaalmasina võrguseaded "'''Network Adapters'''".<br />
<br />
<br />
'''OpenBSD'''<br />
<br />
Adapter 1: Bridged Adapter<br />
<br />
Adapter 2: Internal Network<br />
<br />
<br />
'''Ubuntu Server''' <br />
<br />
Adapter 1: Internal Network<br />
<br />
<br />
Puudub testmise osa (kuidas aru saada, et tulemüür toimib õigesti).<br />
<br />
Puudub varundamise ja taastamise osa.</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=44706WordPress turvamine2011-12-15T08:28:01Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
Viimati muudetud [[User:Rsiitan|Rsiitan]] 14:44, 14 December 2011 (EET)<br />
== Eeldused ==<br />
Antud juhend eeldab kasutajalt ubuntu linuxi käsurea ning mysql põhi käskude tundmist.<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-available/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(logi sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.*.*.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu, enne </VirtualHost> tagi)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''Varnish Cache''' – see on HTTP kiirendaja, seda on vaja selleks, et suurendada veebilehekülje kiirust. <br />
<br />
Varnish Cache salvestab mälus veebilehekülgi nii, et veebiserverid ei pea koguma samu lehekülgi uuesti. Seda on vaja selleks, et vähendada koormust I/O süsteemile.<br />
<br />
Varnish kontrollib cache'ist päringu olemasolu ning juhul kui selline leidub siis võetakse sealt päringu vastus ning saadetakse vastus kasutajale. Juhul kui cache'is ei ole konkreetset päringut saadetakse kasutaja päring ''backend''-i ning lisatakse cache'i koos vastusega.<br />
<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme on default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfiguratsioon Varnishi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikimisi asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail '''/etc/varnish/default.vcl''' ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail '''/etc/varnish/itkool.vcl''' ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail '''/etc/apache2/ports.conf''' ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
'''192.168.6.101''' - veebiserveri IP aadress.<br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail '''/etc/apache2/sites-available/wp''' ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
Paigaldame lisa Apache mooduli veendumaks, kas kasutaja IP aadress lahendatakse korrektselt. Kuna Varnish on lähedalt seotud apache2-ga, näete külastaja Ip-na 127.0.0.1<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Varnish on sätitud Apache-is. Külasta saiti ja vaata, kas toimib, kuid üldjuhul ei saa Te aru, et midagi oleks muutunud. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian<br />
<br />
== Super Cache ==<br />
<br />
'''Sissejuhatus'''<br />
<br />
''Super Cache'' on Wordpressi väga kiire puhvri mootor, mis loob staatilisi html faile.<br />
<br />
See pistikprogramm genereerib staatilisi html faile dünaamilisest Wordpressi blogist. Pärast seda kui html fail on loodud, annab veebiserver seda faili kasutajatele, selle asemel,et loob iga kord uue lehe vastavalt Wordpressi php skritpidele. Suure koormuse puhul on ''Super Cache'' väga kasulik, kuna nagu ka hiljem on testi tulemustest näha siis serverilt vastuse saamiseks kuluv aeg on mitu korda väiksem.<br />
<br />
Staatilisi html-e saavad enamik kasutajaid:<br />
<br />
1.Kasutajad, kes ei ole sisse logitud.<br />
<br />
2.Kasutajad, kes ei ole ühtegi kommentaari blogisse jätnud.<br />
<br />
3.Kasutajad, kes ei ole vaadanud salasõnaga kaitstud postitusi.<br />
<br />
<br />
Suuremale osale kasutajatele antakse staatilisi html faile. Need kasutajad kellele ei edastata puhverdatud lehti siiski saavad kasu, kuna nemad näevad väheke teistsuguseid puverdatud faile, mis küll ei ole nii effektiivsed kuid siiski paremad kui täiesti puhverdamata failid.<br />
<br />
'''Paigaldamine'''<br />
<br />
[[File:Wordpress_Plugins.png|right|]]<br />
<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|right]]<br />
<br />
<br />
''Super Cache''-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
[[File:Install_wordpress.png|400px|thumb|right|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|right|]]<br />
<br />
[[File:Advanced_wpsc.png|400px|thumb|right|]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Nüüd tuleks aktiveerida Advanced tabi alt '''cache''' ning '''mod_rewrite'''.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
[[File:Permset.png|400px|thumb|right|]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda ilmub "Permlink Structure error", see on see tõttu,et ''Super Cache''-i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink''-i seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
Nüüd ütleb wordpress,et "WP_CACHE constant set to false" selle muutmiseks tuleb käsurealt avada wp-config-php fail:<br />
<br />
nano /var/www/wordpress/wp-config.php<br />
<br />
Rida, mis tuleb sinna lisada peab olema enne viimast "require_once..."-rida, soovitavalt lisada see teiste define-ridade järgi: <br />
<br />
define('WP_CACHE', true);<br />
<br />
Pärast seda salvestada wp-config.php ning brauseris tuleks refresh teha.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu:<br />
<br />
nano /var/www/wordpress/.htaccess<br />
<br />
Sinna peaks lisama need read:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab .htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks '''kindlasti''' .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need on tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
Supercache-iga<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
ilma:<br />
<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
Document Path: /<br />
Document Length: 9413 bytes<br />
Concurrency Level: 20<br />
Time taken for tests: 25.600 seconds<br />
Complete requests: 200<br />
Failed requests: 172<br />
(Connect: 0, Receive: 0, Length: 172, Exceptions: 0)<br />
Write errors: 0<br />
Total transferred: 1932771 bytes<br />
HTML transferred: 1882571 bytes<br />
Requests per second: 7.81 [#/sec] (mean)<br />
Time per request: 2560.029 [ms] (mean)<br />
Time per request: 128.001 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 73.73 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 0 1 1.4 0 5<br />
Processing: 803 2522 572.9 2485 4346<br />
Waiting: 648 2126 526.2 2053 4000<br />
Total: 807 2523 572.5 2485 4346<br />
Percentage of the requests served within a certain time (ms)<br />
50% 2485<br />
66% 2557<br />
75% 2690<br />
80% 2740<br />
90% 3120<br />
95% 3624<br />
98% 4261<br />
99% 4272<br />
100% 4346 (longest request)<br />
'''Ühenduse probleemid''' <br />
<br />
Juhul kui ilmneb probleem,et serverile on määratud uus ip-aadress ning ip-aadressile minnes näidatakse vanalt ip-aadressilt pärit cache'i sisu siis sellest probleemist mööda saamiseks tuleb käsurealt muuta wp-config.php faili:<br />
<br />
nano /var/www/wordpress/wp-config.php<br />
<br />
ning sealt seest:<br />
<br />
define('WP_CACHE', false); #See tuleb kindlasti tagasi muuta "true"-ks pärast ühenduse saamist.<br />
<br />
Nüüd peaks wordpress jälle näitama uut sisu. Juhul kui siiski on probleeme ning juhul kui '''andmebaas on tühi''' siis võib ka sql-is teha järgmist:<br />
<br />
'''NB Seda teha ainult siis kui andmebaas on tühi!!!'''<br />
<source lang="mysql"><br />
drop database student_wordpress;<br />
</source><br />
ning siis uuesti:<br />
<source lang="mysql"><br />
create database student_wordpress:<br />
</source><br />
Pärast andmebaasi loomist teha apache-ile restart:<br />
<br />
service apache2 restart <br />
<br />
Ja tuleb uuesti seadistada wordpressi lehekülg.<br />
<br />
== Iptables ==<br />
<br />
'''Laboris tuleb kasutada enda arvuti IP'd!'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
Näidises on pandud connection limitiks 10, testimiseks seda piisab küll aga seda arvu võib muuta suuremaks. Näiteks suurtes ettevõttetes kliendid kes istuvad NAT'i taga, ei saa liigi leheküljele, sest connection limit ühest IP-st on piiratud 10-ga. Ainult 10 klienti saab korraga vaatada veebilehti.<br />
Allolev rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
On alati tervislik lubada localhost õue: <br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre><br />
<br />
= Teised turvameetodid = <br />
<br />
On olemas mitmeid erinevaid võimalusi, kuidas veel saab oma wordpressi veebilehe turvata.<br />
<br />
== Späm filter ==<br />
<br />
Akismet (Automattic Kismet) on spämmi filter. Antud teenus püüab filtreerida spämmi mis tuleb blogi kommentaaridest ja TrackPack pingidest. Filter kombineerib informatsiooni mis ta kogus kõikidest blogidest ja kasutab need spämmi reegleid, et blokeerida tuleviku spämmi. Akismet on loodud Automattic firma poolt, ettevõtte mis keskendub vaba-tarkvara arendamisele WordPressi platformi jaoks. Akismet tuli välja 25. oktroobril aastal 2005 ja seisuga Aprill 2011 juba püüdis üle 25 miljardi spämmi kommentaare ja pinge.<br />
<br />
Akisment on WordPressi sisseehitatud aga vaikimisi on ta välja lülitatud, kuna selle sisse lülitamine nõuab võtmegas audentimist. Blogi administratoor peab ise antud teenust aktiveerima. <br />
Selleks, et aktiveerida Akismeti, on vaja:<br />
<br />
1) Administraatoori paneelis on vaja valida '''Plugins - Installed''' <br />
<br />
2) Linnuke Akismeti juurde ja valida '''"Activate"'''<br />
<br />
3) Nüüd peab sisestama Akismeti API võtme. Võtme saab tasuta tellida Akismeti ametlikult veebilehelt.<br />
<br />
4) Vajuta '''"Update options"'''<br />
<br />
5) Akismeti spämmi filter on sisselülitatud.<br />
<br />
Nüüd on vaja mõned postituse reegleid konfigureerida. Selleks on vaja valida '''Settings - Discussion''' menüü alt ja välja lülitada: '''An administrator must always approve the comment'''.<br />
<br />
Nüüd ei pea administraator isiklikult iga kommentaari läbi vaatama ja kinnitama. Antud tööga hakkab tegelema Akismet.<br />
<br />
== Anti-bot lahendus ==<br />
<br />
On olemas mitmeid erinevaid võimalusi kuidas saab kindlaks teha, et kasutaja, kes postitab on inimene. Selle jaoks on igasuguseid captcha meetodeid, näiteks kasutaja peab sisestama juhuslikult kombineeritud teksti või lahendama mingeid lihtsaid matemaatilisi võrrandeid. Antud meetodid ei ole eriti "sõbralikud", sest vahel tekivad probleemid kasutajatele, eriti nendele, kes ei suuda korralikult näha märke.<br />
<br />
Palju sõbralikum ja lihtsam anti-bot meetod on lahendus, kus kasutaja peab märkima linnukese kommentaari alla. Selle jaoks wordpressil on plugin Growmap Anti Spambot Plugin. Plugini installeerimiseks on vaja:<br />
<br />
1) Mine oma wordpress plugin kataloogisse<br />
<br />
<pre>cd /var/www/wordpress/wp-content/plugins/ </pre><br />
<br />
2) Käsuga wget allalaadime plugini<br />
<br />
<pre>wget http://downloads.wordpress.org/plugin/growmap-anti-spambot-plugin.1.1.zip</pre><br />
<br />
3) Enne lahti pakkimist on vaja installida unzipi<br />
<br />
sudo apt-get install zip<br />
<br />
sudo apt-get install unzip<br />
<br />
4) Pakime lahti antud arhiivi<br />
<br />
<pre>unzip growmap-anti-spambot-plugin.1.1.zip</pre><br />
<br />
Nüüd tuleb minna tagasi oma wordpress administratoori menüüsse ja aktiveerida see plugin.<br />
<br />
== IP kontroll ==<br />
<br />
Tihti on vaja turvata väga vajalikke faile. Selle jaoks on vaja:<br />
<br />
1) Mine oma wordpress kataloogi<br />
<br />
<pre>cd /var/www/wordpress</pre><br />
<br />
2) Teeme .htaccess fail. Antud teksti-fail wordpress kasutab oma reeglite jaoks. <br />
<br />
<pre>touch .htaccess</pre><br />
<br />
3) Kirjuta järgmised reegleid:<br />
<br />
nano .htaccess<br />
<br />
Esiteks, kaitseme meie .htaccess faili, et keegi ei saaks seda vaadata.<br />
<br />
<pre><br />
#protect the htaccess file<br />
<files .htaccess><br />
order allow,deny<br />
deny from all<br />
</files><br />
</pre><br />
<br />
Kaitseme meie admin logini, selleks et adminina saaks logida ainult määratud IP aadressilt.<br />
<br />
<pre><br />
<files wp-login.php><br />
Order Deny,Allow<br />
Deny from All<br />
Allow from 192.168.6.2<br />
</files><br />
</pre><br />
<br />
WPconfig on teine väga oluline fail. Seda tuleb ka kaitsta:<br />
<br />
<pre><br />
#protect wpconfig.php<br />
<files wp-config.php><br />
Order Deny,Allow<br />
Deny from All<br />
allow from 192.168.6.2<br />
</files><br />
</pre><br />
<br />
Nüüd tuleb '''wp-admin''' kataloogis teha veel uue '''.htaccess''' faili ja kirjutada järgmised reegleid:<br />
<br />
cd /var/www/wordpress/wp-admin/<br />
<br />
touch .htaccess<br />
<br />
nano .htaccess<br />
<br />
<pre><br />
AuthUserFile /dev/null<br />
AuthGroupFile /dev/null<br />
AuthName "WordPress Admin Access Control"<br />
AuthType Basic<br />
<LIMIT GET><br />
order deny,allow<br />
deny from all<br />
#kirjuta oma IP<br />
allow from 192.168.6.2<br />
</LIMIT><br />
</pre><br />
<br />
<br />
http://wptidbits.com/tutorials/21-most-popular-htaccess-hacks-for-wordpress/<br />
<br />
=Autorid=<br />
<br />
'''Wordpressi paigaldus ja konfigureerimine''' - Risto Siitan A32<br />
<br />
'''mod_evasive paigaldus ja konfigureerimine''' - Meelis Tamm, A31. Allikas: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
'''Varnish Cache-i paigaldamine ja konfigureerimine''' - Jaan Vahtre A31 ja Vadim Vinogradin A31<br />
<br />
'''Super Cache''' - Kristjan Vask A31 Risto Siitan A32<br />
<br />
'''Iptables''' - Sergei Barol A31<br />
<br />
'''Teised turvameetodid''' - Vladimir Kolesnik A32<br />
<br />
[[Category:IT infrastruktuuri teenused]]</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=44704WordPress turvamine2011-12-15T08:27:08Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
Viimati muudetud [[User:Rsiitan|Rsiitan]] 14:44, 14 December 2011 (EET)<br />
== Eeldused ==<br />
Antud juhend eeldab kasutajalt ubuntu linuxi käsurea ning mysql põhi käskude tundmist.<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-available/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(logi sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.*.*.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu, enne </VirtualHost> tagi)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''Varnish Cache''' – see on HTTP kiirendaja, seda on vaja selleks, et suurendada veebilehekülje kiirust. <br />
<br />
Varnish Cache salvestab mälus veebilehekülgi nii, et veebiserverid ei pea koguma samu lehekülgi uuesti. Seda on vaja selleks, et vähendada koormust I/O süsteemile.<br />
<br />
Varnish kontrollib cache'ist päringu olemasolu ning juhul kui selline leidub siis võetakse sealt päringu vastus ning saadetakse vastus kasutajale. Juhul kui cache'is ei ole konkreetset päringut saadetakse kasutaja päring ''backend''-i ning lisatakse cache'i koos vastusega.<br />
<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme on default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfiguratsioon Varnishi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikimisi asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail '''/etc/varnish/default.vcl''' ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail '''/etc/varnish/itkool.vcl''' ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail '''/etc/apache2/ports.conf''' ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
'''192.168.6.101''' - veebiserveri IP aadress.<br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail '''/etc/apache2/sites-available/wp''' ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
Paigaldame lisa Apache mooduli veendumaks, kas kasutaja IP aadress lahendatakse korrektselt. Kuna Varnish on lähedalt seotud apache2-ga, näete külastaja Ip-na 127.0.0.1<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Varnish on sätitud Apache-is. Külasta saiti ja vaata, kas toimib, kuid üldjuhul ei saa Te aru, et midagi oleks muutunud. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian<br />
<br />
== Super Cache ==<br />
<br />
'''Sissejuhatus'''<br />
<br />
''Super Cache'' on Wordpressi väga kiire puhvri mootor, mis loob staatilisi html faile.<br />
<br />
See pistikprogramm genereerib staatilisi html faile dünaamilisest Wordpressi blogist. Pärast seda kui html fail on loodud, annab veebiserver seda faili kasutajatele, selle asemel,et loob iga kord uue lehe vastavalt Wordpressi php skritpidele. Suure koormuse puhul on ''Super Cache'' väga kasulik, kuna nagu ka hiljem on testi tulemustest näha siis serverilt vastuse saamiseks kuluv aeg on mitu korda väiksem.<br />
<br />
Staatilisi html-e saavad enamik kasutajaid:<br />
<br />
1.Kasutajad, kes ei ole sisse logitud.<br />
<br />
2.Kasutajad, kes ei ole ühtegi kommentaari blogisse jätnud.<br />
<br />
3.Kasutajad, kes ei ole vaadanud salasõnaga kaitstud postitusi.<br />
<br />
<br />
Suuremale osale kasutajatele antakse staatilisi html faile. Need kasutajad kellele ei edastata puhverdatud lehti siiski saavad kasu, kuna nemad näevad väheke teistsuguseid puverdatud faile, mis küll ei ole nii effektiivsed kuid siiski paremad kui täiesti puhverdamata failid.<br />
<br />
'''Paigaldamine'''<br />
<br />
[[File:Wordpress_Plugins.png|right|]]<br />
<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|right]]<br />
<br />
<br />
''Super Cache''-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
[[File:Install_wordpress.png|400px|thumb|right|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|right|]]<br />
<br />
[[File:Advanced_wpsc.png|400px|thumb|right|]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Nüüd tuleks aktiveerida Advanced tabi alt '''cache''' ning '''mod_rewrite'''.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
[[File:Permset.png|400px|thumb|right|]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda ilmub "Permlink Structure error", see on see tõttu,et ''Super Cache''-i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink''-i seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
Nüüd ütleb wordpress,et "WP_CACHE constant set to false" selle muutmiseks tuleb käsurealt avada wp-config-php fail:<br />
<br />
nano /var/www/wordpress/wp-config.php<br />
<br />
Rida, mis tuleb sinna lisada peab olema enne viimast "require_once..."-rida, soovitavalt lisada see teiste define-ridade järgi: <br />
<br />
define('WP_CACHE', true);<br />
<br />
Pärast seda salvestada wp-config.php ning brauseris tuleks refresh teha.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu:<br />
<br />
nano /var/www/wordpress/.htaccess<br />
<br />
Sinna peaks lisama need read:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab .htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks '''kindlasti''' .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need on tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
Supercache-iga<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
ilma:<br />
<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
Document Path: /<br />
Document Length: 9413 bytes<br />
Concurrency Level: 20<br />
Time taken for tests: 25.600 seconds<br />
Complete requests: 200<br />
Failed requests: 172<br />
(Connect: 0, Receive: 0, Length: 172, Exceptions: 0)<br />
Write errors: 0<br />
Total transferred: 1932771 bytes<br />
HTML transferred: 1882571 bytes<br />
Requests per second: 7.81 [#/sec] (mean)<br />
Time per request: 2560.029 [ms] (mean)<br />
Time per request: 128.001 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 73.73 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 0 1 1.4 0 5<br />
Processing: 803 2522 572.9 2485 4346<br />
Waiting: 648 2126 526.2 2053 4000<br />
Total: 807 2523 572.5 2485 4346<br />
Percentage of the requests served within a certain time (ms)<br />
50% 2485<br />
66% 2557<br />
75% 2690<br />
80% 2740<br />
90% 3120<br />
95% 3624<br />
98% 4261<br />
99% 4272<br />
100% 4346 (longest request)<br />
'''Ühenduse probleemid'''<br />
<br />
Juhul kui ilmneb probleem,et serverile on määratud uus ip-aadress ning ip-aadressile minnes näidatakse vanalt ip-aadressilt pärit cache'i sisu siis sellest probleemist mööda saamiseks tuleb käsurealt muuta wp-config.php faili:<br />
<br />
nano /var/www/wordpress/wp-config.php<br />
<br />
ning sealt seest:<br />
<br />
define('WP_CACHE', false); #See tuleb kindlasti tagasi muuta "true"-ks pärast ühenduse saamist.<br />
<br />
Nüüd peaks wordpress jälle näitama uut sisu. Juhul kui siiski on probleeme ning juhul kui '''andmebaas on tühi''' siis võib ka sql-is teha järgmist:<br />
<br />
'''NB Seda teha ainult siis kui andmebaas on tühi!!!'''<br />
<source lang="mysql"><br />
drop database student_wordpress;<br />
</source><br />
ning siis uuesti:<br />
<source lang="mysql"><br />
create database student_wordpress:<br />
</source><br />
Pärast andmebaasi loomist teha apache-ile restart:<br />
<br />
service apache2 restart <br />
<br />
Ja tuleb uuesti seadistada wordpressi lehekülg.<br />
<br />
== Iptables ==<br />
<br />
'''Laboris tuleb kasutada enda arvuti IP'd!'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
Näidises on pandud connection limitiks 10, testimiseks seda piisab küll aga seda arvu võib muuta suuremaks. Näiteks suurtes ettevõttetes kliendid kes istuvad NAT'i taga, ei saa liigi leheküljele, sest connection limit ühest IP-st on piiratud 10-ga. Ainult 10 klienti saab korraga vaatada veebilehti.<br />
Allolev rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
On alati tervislik lubada localhost õue: <br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre><br />
<br />
= Teised turvameetodid = <br />
<br />
On olemas mitmeid erinevaid võimalusi, kuidas veel saab oma wordpressi veebilehe turvata.<br />
<br />
== Späm filter ==<br />
<br />
Akismet (Automattic Kismet) on spämmi filter. Antud teenus püüab filtreerida spämmi mis tuleb blogi kommentaaridest ja TrackPack pingidest. Filter kombineerib informatsiooni mis ta kogus kõikidest blogidest ja kasutab need spämmi reegleid, et blokeerida tuleviku spämmi. Akismet on loodud Automattic firma poolt, ettevõtte mis keskendub vaba-tarkvara arendamisele WordPressi platformi jaoks. Akismet tuli välja 25. oktroobril aastal 2005 ja seisuga Aprill 2011 juba püüdis üle 25 miljardi spämmi kommentaare ja pinge.<br />
<br />
Akisment on WordPressi sisseehitatud aga vaikimisi on ta välja lülitatud, kuna selle sisse lülitamine nõuab võtmegas audentimist. Blogi administratoor peab ise antud teenust aktiveerima. <br />
Selleks, et aktiveerida Akismeti, on vaja:<br />
<br />
1) Administraatoori paneelis on vaja valida '''Plugins - Installed''' <br />
<br />
2) Linnuke Akismeti juurde ja valida '''"Activate"'''<br />
<br />
3) Nüüd peab sisestama Akismeti API võtme. Võtme saab tasuta tellida Akismeti ametlikult veebilehelt.<br />
<br />
4) Vajuta '''"Update options"'''<br />
<br />
5) Akismeti spämmi filter on sisselülitatud.<br />
<br />
Nüüd on vaja mõned postituse reegleid konfigureerida. Selleks on vaja valida '''Settings - Discussion''' menüü alt ja välja lülitada: '''An administrator must always approve the comment'''.<br />
<br />
Nüüd ei pea administraator isiklikult iga kommentaari läbi vaatama ja kinnitama. Antud tööga hakkab tegelema Akismet.<br />
<br />
== Anti-bot lahendus ==<br />
<br />
On olemas mitmeid erinevaid võimalusi kuidas saab kindlaks teha, et kasutaja, kes postitab on inimene. Selle jaoks on igasuguseid captcha meetodeid, näiteks kasutaja peab sisestama juhuslikult kombineeritud teksti või lahendama mingeid lihtsaid matemaatilisi võrrandeid. Antud meetodid ei ole eriti "sõbralikud", sest vahel tekivad probleemid kasutajatele, eriti nendele, kes ei suuda korralikult näha märke.<br />
<br />
Palju sõbralikum ja lihtsam anti-bot meetod on lahendus, kus kasutaja peab märkima linnukese kommentaari alla. Selle jaoks wordpressil on plugin Growmap Anti Spambot Plugin. Plugini installeerimiseks on vaja:<br />
<br />
1) Mine oma wordpress plugin kataloogisse<br />
<br />
<pre>cd /var/www/wordpress/wp-content/plugins/ </pre><br />
<br />
2) Käsuga wget allalaadime plugini<br />
<br />
<pre>wget http://downloads.wordpress.org/plugin/growmap-anti-spambot-plugin.1.1.zip</pre><br />
<br />
3) Enne lahti pakkimist on vaja installida unzipi<br />
<br />
sudo apt-get install zip<br />
<br />
sudo apt-get install unzip<br />
<br />
4) Pakime lahti antud arhiivi<br />
<br />
<pre>unzip growmap-anti-spambot-plugin.1.1.zip</pre><br />
<br />
Nüüd tuleb minna tagasi oma wordpress administratoori menüüsse ja aktiveerida see plugin.<br />
<br />
== IP kontroll ==<br />
<br />
Tihti on vaja turvata väga vajalikke faile. Selle jaoks on vaja:<br />
<br />
1) Mine oma wordpress kataloogi<br />
<br />
<pre>cd /var/www/wordpress</pre><br />
<br />
2) Teeme .htaccess fail. Antud teksti-fail wordpress kasutab oma reeglite jaoks. <br />
<br />
<pre>touch .htaccess</pre><br />
<br />
3) Kirjuta järgmised reegleid:<br />
<br />
nano .htaccess<br />
<br />
Esiteks, kaitseme meie .htaccess faili, et keegi ei saaks seda vaadata.<br />
<br />
<pre><br />
#protect the htaccess file<br />
<files .htaccess><br />
order allow,deny<br />
deny from all<br />
</files><br />
</pre><br />
<br />
Kaitseme meie admin logini, selleks et adminina saaks logida ainult määratud IP aadressilt.<br />
<br />
<pre><br />
<files wp-login.php><br />
Order Deny,Allow<br />
Deny from All<br />
Allow from 192.168.6.2<br />
</files><br />
</pre><br />
<br />
WPconfig on teine väga oluline fail. Seda tuleb ka kaitsta:<br />
<br />
<pre><br />
#protect wpconfig.php<br />
<files wp-config.php><br />
Order Deny,Allow<br />
Deny from All<br />
allow from 192.168.6.2<br />
</files><br />
</pre><br />
<br />
Nüüd tuleb '''wp-admin''' kataloogis teha veel uue '''.htaccess''' faili ja kirjutada järgmised reegleid:<br />
<br />
cd /var/www/wordpress/wp-admin/<br />
<br />
touch .htaccess<br />
<br />
nano .htaccess<br />
<br />
<pre><br />
AuthUserFile /dev/null<br />
AuthGroupFile /dev/null<br />
AuthName "WordPress Admin Access Control"<br />
AuthType Basic<br />
<LIMIT GET><br />
order deny,allow<br />
deny from all<br />
#kirjuta oma IP<br />
allow from 192.168.6.2<br />
</LIMIT><br />
</pre><br />
<br />
<br />
http://wptidbits.com/tutorials/21-most-popular-htaccess-hacks-for-wordpress/<br />
<br />
=Autorid=<br />
<br />
'''Wordpressi paigaldus ja konfigureerimine''' - Risto Siitan A32<br />
<br />
'''mod_evasive paigaldus ja konfigureerimine''' - Meelis Tamm, A31. Allikas: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
'''Varnish Cache-i paigaldamine ja konfigureerimine''' - Jaan Vahtre A31 ja Vadim Vinogradin A31<br />
<br />
'''Super Cache''' - Kristjan Vask A31 Risto Siitan A32<br />
<br />
'''Iptables''' - Sergei Barol A31<br />
<br />
'''Teised turvameetodid''' - Vladimir Kolesnik A32<br />
<br />
[[Category:IT infrastruktuuri teenused]]</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=44703WordPress turvamine2011-12-15T08:23:23Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
Viimati muudetud [[User:Rsiitan|Rsiitan]] 14:44, 14 December 2011 (EET)<br />
== Eeldused ==<br />
Antud juhend eeldab kasutajalt ubuntu linuxi käsurea ning mysql põhi käskude tundmist.<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-available/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(logi sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.*.*.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu, enne </VirtualHost> tagi)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''Varnish Cache''' – see on HTTP kiirendaja, seda on vaja selleks, et suurendada veebilehekülje kiirust. <br />
<br />
Varnish Cache salvestab mälus veebilehekülgi nii, et veebiserverid ei pea koguma samu lehekülgi uuesti. Seda on vaja selleks, et vähendada koormust I/O süsteemile.<br />
<br />
Varnish kontrollib cache'ist päringu olemasolu ning juhul kui selline leidub siis võetakse sealt päringu vastus ning saadetakse vastus kasutajale. Juhul kui cache'is ei ole konkreetset päringut saadetakse kasutaja päring ''backend''-i ning lisatakse cache'i koos vastusega.<br />
<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme on default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfiguratsioon Varnishi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikimisi asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail '''/etc/varnish/default.vcl''' ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail '''/etc/varnish/itkool.vcl''' ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail '''/etc/apache2/ports.conf''' ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
'''192.168.6.101''' - veebiserveri IP aadress.<br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail '''/etc/apache2/sites-available/wp''' ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
Paigaldame lisa Apache mooduli veendumaks, kas kasutaja IP aadress lahendatakse korrektselt. Kuna Varnish on lähedalt seotud apache2-ga, näete külastaja Ip-na 127.0.0.1<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Varnish on sätitud Apache-is. Külasta saiti ja vaata, kas toimib, kuid üldjuhul ei saa Te aru, et midagi oleks muutunud. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
http://www.howtoforge.com/putting-varnish-in-front-of-apache-on-ubuntu-debian<br />
<br />
== Super Cache ==<br />
<br />
'''Sissejuhatus'''<br />
<br />
''Super Cache'' on Wordpressi väga kiire puhvri mootor, mis loob staatilisi html faile.<br />
<br />
See pistikprogramm genereerib staatilisi html faile dünaamilisest Wordpressi blogist. Pärast seda kui html fail on loodud, annab veebiserver seda faili kasutajatele, selle asemel,et loob iga kord uue lehe vastavalt Wordpressi php skritpidele. Suure koormuse puhul on ''Super Cache'' väga kasulik, kuna nagu ka hiljem on testi tulemustest näha siis serverilt vastuse saamiseks kuluv aeg on mitu korda väiksem.<br />
<br />
Staatilisi html-e saavad enamik kasutajaid:<br />
<br />
1.Kasutajad, kes ei ole sisse logitud.<br />
<br />
2.Kasutajad, kes ei ole ühtegi kommentaari blogisse jätnud.<br />
<br />
3.Kasutajad, kes ei ole vaadanud salasõnaga kaitstud postitusi.<br />
<br />
<br />
Suuremale osale kasutajatele antakse staatilisi html faile. Need kasutajad kellele ei edastata puhverdatud lehti siiski saavad kasu, kuna nemad näevad väheke teistsuguseid puverdatud faile, mis küll ei ole nii effektiivsed kuid siiski paremad kui täiesti puhverdamata failid.<br />
<br />
'''Paigaldamine'''<br />
<br />
[[File:Wordpress_Plugins.png|right|]]<br />
<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|right]]<br />
<br />
<br />
''Super Cache''-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
[[File:Install_wordpress.png|400px|thumb|right|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|right|]]<br />
<br />
[[File:Advanced_wpsc.png|400px|thumb|right|]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Nüüd tuleks aktiveerida Advanced tabi alt '''cache''' ning '''mod_rewrite'''.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
[[File:Permset.png|400px|thumb|right|]]<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda ilmub "Permlink Structure error", see on see tõttu,et ''Super Cache''-i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink''-i seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
Nüüd ütleb wordpress,et "WP_CACHE constant set to false" selle muutmiseks tuleb käsurealt avada wp-config-php fail:<br />
<br />
nano /var/www/wordpress/wp-config.php<br />
<br />
Rida, mis tuleb sinna lisada peab olema enne viimast "require_once..."-rida, soovitavalt lisada see teiste define-ridade järgi: <br />
<br />
define('WP_CACHE', true);<br />
<br />
Pärast seda salvestada wp-config.php ning brauseris tuleks refresh teha.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu:<br />
<br />
nano /var/www/wordpress/.htaccess<br />
<br />
Sinna peaks lisama need read:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab .htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks '''kindlasti''' .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need on tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
Supercache-iga<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
ilma:<br />
<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
Document Path: /<br />
Document Length: 9413 bytes<br />
Concurrency Level: 20<br />
Time taken for tests: 25.600 seconds<br />
Complete requests: 200<br />
Failed requests: 172<br />
(Connect: 0, Receive: 0, Length: 172, Exceptions: 0)<br />
Write errors: 0<br />
Total transferred: 1932771 bytes<br />
HTML transferred: 1882571 bytes<br />
Requests per second: 7.81 [#/sec] (mean)<br />
Time per request: 2560.029 [ms] (mean)<br />
Time per request: 128.001 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 73.73 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 0 1 1.4 0 5<br />
Processing: 803 2522 572.9 2485 4346<br />
Waiting: 648 2126 526.2 2053 4000<br />
Total: 807 2523 572.5 2485 4346<br />
Percentage of the requests served within a certain time (ms)<br />
50% 2485<br />
66% 2557<br />
75% 2690<br />
80% 2740<br />
90% 3120<br />
95% 3624<br />
98% 4261<br />
99% 4272<br />
100% 4346 (longest request)<br />
'''Ühenduse probleemid'''<br />
<br />
Juhul kui ilmneb probleem,et serverile on määratud uus ip-aadress ning ip-aadressile minnes näidatakse vanalt ip-aadressilt pärit cache'i sisu siis sellest probleemist mööda saamiseks tuleb käsurealt muuta wp-config.php faili:<br />
<br />
nano /var/www/wordpress/wp-config.php<br />
<br />
ning sealt seest:<br />
<br />
define('WP_CACHE', false); #See tuleb kindlasti tagasi muuta "true"-ks pärast ühenduse saamist.<br />
<br />
Nüüd peaks wordpress jälle näitama uut sisu. Juhul kui siiski on probleeme ning juhul kui '''andmebaas on tühi''' siis võib ka sql-is teha järgmist:<br />
<br />
'''NB Seda teha ainult siis kui andmebaas on tühi!!!'''<br />
<source lang="mysql"><br />
drop database student_wordpress;<br />
</source><br />
ning siis uuesti:<br />
<source lang="mysql"><br />
create database student_wordpress:<br />
</source><br />
Pärast andmebaasi loomist teha apache-ile restart:<br />
<br />
service apache2 restart <br />
<br />
Ja tuleb uuesti seadistada wordpressi lehekülg.<br />
<br />
== Iptables ==<br />
<br />
'''Laboris tuleb kasutada enda arvuti IP'd!'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
Näidises on pandud connection limitiks 10, testimiseks seda piisab küll aga seda arvu võib muuta suuremaks. Näiteks suurtes ettevõttetes kliendid kes istuvad NAT'i taga, ei saa liigi leheküljele, sest connection limit ühest IP-st on piiratud 10-ga. Ainult 10 klienti saab korraga vaatada veebilehti.<br />
Allolev rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
On alati tervislik lubada localhost õue: <br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre><br />
<br />
= Teised turvameetodid = <br />
<br />
On olemas mitmeid erinevaid võimalusi, kuidas veel saab oma wordpressi veebilehe turvata.<br />
<br />
== Späm filter ==<br />
<br />
Akismet (Automattic Kismet) on spämmi filter. Antud teenus püüab filtreerida spämmi mis tuleb blogi kommentaaridest ja TrackPack pingidest. Filter kombineerib informatsiooni mis ta kogus kõikidest blogidest ja kasutab need spämmi reegleid, et blokeerida tuleviku spämmi. Akismet on loodud Automattic firma poolt, ettevõtte mis keskendub vaba-tarkvara arendamisele WordPressi platformi jaoks. Akismet tuli välja 25. oktroobril aastal 2005 ja seisuga Aprill 2011 juba püüdis üle 25 miljardi spämmi kommentaare ja pinge.<br />
<br />
Akisment on WordPressi sisseehitatud aga vaikimisi on ta välja lülitatud, kuna selle sisse lülitamine nõuab võtmegas audentimist. Blogi administratoor peab ise antud teenust aktiveerima. <br />
Selleks, et aktiveerida Akismeti, on vaja:<br />
<br />
1) Administraatoori paneelis on vaja valida '''Plugins - Installed''' <br />
<br />
2) Linnuke Akismeti juurde ja valida '''"Activate"'''<br />
<br />
3) Nüüd peab sisestama Akismeti API võtme. Võtme saab tasuta tellida Akismeti ametlikult veebilehelt.<br />
<br />
4) Vajuta '''"Update options"'''<br />
<br />
5) Akismeti spämmi filter on sisselülitatud.<br />
<br />
Nüüd on vaja mõned postituse reegleid konfigureerida. Selleks on vaja valida '''Settings - Discussion''' menüü alt ja välja lülitada: '''An administrator must always approve the comment'''.<br />
<br />
Nüüd ei pea administraator isiklikult iga kommentaari läbi vaatama ja kinnitama. Antud tööga hakkab tegelema Akismet.<br />
<br />
== Anti-bot lahendus ==<br />
<br />
On olemas mitmeid erinevaid võimalusi kuidas saab kindlaks teha, et kasutaja, kes postitab on inimene. Selle jaoks on igasuguseid captcha meetodeid, näiteks kasutaja peab sisestama juhuslikult kombineeritud teksti või lahendama mingeid lihtsaid matemaatilisi võrrandeid. Antud meetodid ei ole eriti "sõbralikud", sest vahel tekivad probleemid kasutajatele, eriti nendele, kes ei suuda korralikult näha märke.<br />
<br />
Palju sõbralikum ja lihtsam anti-bot meetod on lahendus, kus kasutaja peab märkima linnukese kommentaari alla. Selle jaoks wordpressil on plugin Growmap Anti Spambot Plugin. Plugini installeerimiseks on vaja:<br />
<br />
1) Mine oma wordpress plugin kataloogisse<br />
<br />
<pre>cd /var/www/wordpress/wp-content/plugins/ </pre><br />
<br />
2) Käsuga wget allalaadime plugini<br />
<br />
<pre>wget http://downloads.wordpress.org/plugin/growmap-anti-spambot-plugin.1.1.zip</pre><br />
<br />
3) Enne lahti pakkimist on vaja installida unzipi<br />
<br />
sudo apt-get install zip<br />
<br />
sudo apt-get install unzip<br />
<br />
4) Pakime lahti antud arhiivi<br />
<br />
<pre>unzip growmap-anti-spambot-plugin.1.1.zip</pre><br />
<br />
Nüüd tuleb minna tagasi oma wordpress administratoori menüüsse ja aktiveerida see plugin.<br />
<br />
== IP kontroll ==<br />
<br />
Tihti on vaja turvata väga vajalikke faile. Selle jaoks on vaja:<br />
<br />
1) Mine oma wordpress kataloogi<br />
<br />
<pre>cd /var/www/wordpress</pre><br />
<br />
2) Teeme .htaccess fail. Antud teksti-fail wordpress kasutab oma reeglite jaoks. <br />
<br />
<pre>touch .htaccess</pre><br />
<br />
3) Kirjuta järgmised reegleid:<br />
<br />
nano .htaccess<br />
<br />
Esiteks, kaitseme meie .htaccess faili, et keegi ei saaks seda vaadata.<br />
<br />
<pre><br />
#protect the htaccess file<br />
<files .htaccess><br />
order allow,deny<br />
deny from all<br />
</files><br />
</pre><br />
<br />
Kaitseme meie admin logini, selleks et adminina saaks logida ainult määratud IP aadressilt.<br />
<br />
<pre><br />
<files wp-login.php><br />
Order Deny,Allow<br />
Deny from All<br />
Allow from 192.168.6.2<br />
</files><br />
</pre><br />
<br />
WPconfig on teine väga oluline fail. Seda tuleb ka kaitsta:<br />
<br />
<pre><br />
#protect wpconfig.php<br />
<files wp-config.php><br />
Order Deny,Allow<br />
Deny from All<br />
allow from 192.168.6.2<br />
</files><br />
</pre><br />
<br />
Nüüd tuleb '''wp-admin''' kataloogis teha veel uue '''.htaccess''' faili ja kirjutada järgmised reegleid:<br />
<br />
cd /var/www/wordpress/wp-admin/<br />
<br />
touch .htaccess<br />
<br />
nano .htaccess<br />
<br />
<pre><br />
AuthUserFile /dev/null<br />
AuthGroupFile /dev/null<br />
AuthName "WordPress Admin Access Control"<br />
AuthType Basic<br />
<LIMIT GET><br />
order deny,allow<br />
deny from all<br />
#kirjuta oma IP<br />
allow from 192.168.6.2<br />
</LIMIT><br />
</pre><br />
<br />
<br />
http://wptidbits.com/tutorials/21-most-popular-htaccess-hacks-for-wordpress/<br />
<br />
=Autorid=<br />
<br />
'''Wordpressi paigaldus ja konfigureerimine''' - Risto Siitan A32<br />
<br />
'''mod_evasive paigaldus ja konfigureerimine''' - Meelis Tamm, A31. Allikas: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
'''Varnish Cache-i paigaldamine ja konfigureerimine''' - Jaan Vahtre A31 ja Vadim Vinogradin A31<br />
<br />
'''Super Cache''' - Kristjan Vask A31 Risto Siitan A32<br />
<br />
'''Iptables''' - Sergei Barol A31<br />
<br />
'''Teised turvameetodid''' - Vladimir Kolesnik A32<br />
<br />
[[Category:IT infrastruktuuri teenused]]</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=IP_SAN&diff=44300IP SAN2011-12-11T18:54:38Z<p>Krvask: Blanked the page</p>
<hr />
<div></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=IP_SAN&diff=42638IP SAN2011-11-20T18:48:41Z<p>Krvask: Created page with 'Kristjan Vask A31'</p>
<hr />
<div>Kristjan Vask A31</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41988WordPress turvamine2011-11-10T09:32:27Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
[[File:Permset.png|400px|]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks kindlasti .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
Supercache-iga<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
<br />
<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
ilma:<br />
<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
<br />
<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
<br />
Document Path: /<br />
Document Length: 9413 bytes<br />
<br />
Concurrency Level: 20<br />
Time taken for tests: 25.600 seconds<br />
Complete requests: 200<br />
Failed requests: 172<br />
(Connect: 0, Receive: 0, Length: 172, Exceptions: 0)<br />
Write errors: 0<br />
Total transferred: 1932771 bytes<br />
HTML transferred: 1882571 bytes<br />
Requests per second: 7.81 [#/sec] (mean)<br />
Time per request: 2560.029 [ms] (mean)<br />
Time per request: 128.001 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 73.73 [Kbytes/sec] received<br />
<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 0 1 1.4 0 5<br />
Processing: 803 2522 572.9 2485 4346<br />
Waiting: 648 2126 526.2 2053 4000<br />
Total: 807 2523 572.5 2485 4346<br />
<br />
Percentage of the requests served within a certain time (ms)<br />
50% 2485<br />
66% 2557<br />
75% 2690<br />
80% 2740<br />
90% 3120<br />
95% 3624<br />
98% 4261<br />
99% 4272<br />
100% 4346 (longest request)<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
See rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
Nimeserveri lubamiseks peame avama nii '''tcp''' kui ka '''udp''' pordid:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT<br />
iptables -A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT<br />
</pre><br />
<br />
SSL'i jaoks:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT<br />
</pre><br />
<br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41987WordPress turvamine2011-11-10T09:31:04Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
[[File:Permset.png|400px|]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks kindlasti .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
Supercache-iga<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
<br />
<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
ilma:<br />
<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received <br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
See rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
Nimeserveri lubamiseks peame avama nii '''tcp''' kui ka '''udp''' pordid:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT<br />
iptables -A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT<br />
</pre><br />
<br />
SSL'i jaoks:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT<br />
</pre><br />
<br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41986WordPress turvamine2011-11-10T09:30:22Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
[[File:Permset.png|400px|]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks kindlasti .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
Supercache-iga<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
<br />
<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
ilma:<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
<br />
<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received <br />
<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
See rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
Nimeserveri lubamiseks peame avama nii '''tcp''' kui ka '''udp''' pordid:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT<br />
iptables -A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT<br />
</pre><br />
<br />
SSL'i jaoks:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT<br />
</pre><br />
<br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41984WordPress turvamine2011-11-10T09:28:59Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
[[File:Permset.png|400px|]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks kindlasti .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
Supercache-iga<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
<br />
<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
ilma:<br />
Benchmarking www.itkool.ee (be patient)<br />
Completed 100 requests<br />
Completed 200 requests<br />
Finished 200 requests<br />
<br />
<br />
Server Software: Apache/2.2.17<br />
Server Hostname: www.itkool.ee<br />
Server Port: 80<br />
<br />
Document Path: /<br />
Document Length: 9554 bytes<br />
<br />
Concurrency Level: 200<br />
Time taken for tests: 1.457 seconds<br />
Complete requests: 200<br />
Failed requests: 0<br />
Write errors: 0<br />
Total transferred: 1971800 bytes<br />
HTML transferred: 1910800 bytes<br />
Requests per second: 137.30 [#/sec] (mean)<br />
Time per request: 1456.617 [ms] (mean)<br />
Time per request: 7.283 [ms] (mean, across all concurrent requests)<br />
Transfer rate: 1321.96 [Kbytes/sec] received<br />
<br />
Connection Times (ms)<br />
min mean[+/-sd] median max<br />
Connect: 7 10 2.1 10 14<br />
Processing: 55 798 409.6 821 1441<br />
Waiting: 8 751 410.1 770 1437<br />
Total: 68 808 407.6 831 1447<br />
<br />
Percentage of the requests served within a certain time (ms)<br />
50% 831<br />
66% 1036<br />
75% 1159<br />
80% 1236<br />
90% 1366<br />
95% 1434<br />
98% 1445<br />
99% 1446<br />
100% 1447 (longest request)<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
See rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
Nimeserveri lubamiseks peame avama nii '''tcp''' kui ka '''udp''' pordid:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT<br />
iptables -A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT<br />
</pre><br />
<br />
SSL'i jaoks:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT<br />
</pre><br />
<br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41983WordPress turvamine2011-11-10T09:27:48Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
[[File:Permset.png|400px|]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks kindlasti .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need tarvilikud vaid konfi ajaks.<br />
<br />
'''Jõudluse võrdlus SuperCache-iga ja ilma'''<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
See rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
Nimeserveri lubamiseks peame avama nii '''tcp''' kui ka '''udp''' pordid:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT<br />
iptables -A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT<br />
</pre><br />
<br />
SSL'i jaoks:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT<br />
</pre><br />
<br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41981WordPress turvamine2011-11-10T09:26:59Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
[[File:Permset.png|400px|]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
Pärast konfimist tuleks kindlasti .htaccess õigused vähemaks võtta kuna konstantselt ei pea õigused 777 peal olema, need tarvilikud vaid konfi ajaks.<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<br />
Teie '''iptables.conf''' fail peab välja nägema nii nagu näidatud allpool:<br />
<br />
<pre><br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
</pre><br />
<br />
'''Räägime täpsemalt milleks need reeglid vaja on.'''<br />
<br />
Kui tahame varnish'it kasutada, tuleb lubada porti 8000:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT<br />
</pre><br />
<br />
Lubame weebiserveri:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT<br />
</pre><br />
<br />
SSH lubamiseks sellest IP-st:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT<br />
</pre><br />
<br />
See rida annab võimalust katkestada ühendusi mille arv on üle 10 pordis 80:<br />
<pre><br />
iptables -A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
</pre><br />
<br />
Praegu meil ei salvestatakse logi failid. Kui tahame näha täpsemalt millised paketid vistakse minema, peame lubama logimist:<br />
<pre><br />
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
</pre><br />
<br />
<pre><br />
iptables -A INPUT -s 192.168.6.101/32 -j ACCEPT<br />
</pre><br />
<br />
Väljaminevate ühenduste jaoks tagasi tulnud pakette lubamiseks:<br />
<pre><br />
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT<br />
</pre><br />
<br />
Nimeserveri lubamiseks peame avama nii '''tcp''' kui ka '''udp''' pordid:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT<br />
iptables -A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT<br />
</pre><br />
<br />
SSL'i jaoks:<br />
<pre><br />
iptables -A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT<br />
</pre><br />
<br />
<pre><br />
iptables -A OUTPUT -o lo -j ACCEPT <br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41947WordPress turvamine2011-11-10T08:56:18Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/index.php/?p=%post_id%'''<br />
<br />
[[File:Permalink 1.png]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41943WordPress turvamine2011-11-10T08:48:38Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/?p=%post_id%'''<br />
<br />
[[File:Permalink 1.png]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
kuna wordpress tahab htaccess faili ka ise muuta aegajalt siis on hea panna htaccessi õigused 777 peale käsuga:<br />
chmod 777 .htaccess<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41941WordPress turvamine2011-11-10T08:47:18Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/?p=%post_id%'''<br />
<br />
[[File:Permalink 1.png]]<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41940WordPress turvamine2011-11-10T08:47:10Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/?p=%post_id%'''<br />
<br />
[[File:Permalink 1.png]]<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41939WordPress turvamine2011-11-10T08:46:13Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/?p=%post_id%'''<br />
[[File:Permalink 1.png]]<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=File:Permalink_1.png&diff=41938File:Permalink 1.png2011-11-10T08:44:41Z<p>Krvask: uploaded a new version of "File:Permalink 1.png"</p>
<hr />
<div>permalink</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41937WordPress turvamine2011-11-10T08:34:23Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/?p=%post_id%'''<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41934WordPress turvamine2011-11-10T08:33:12Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''/?p=%post_id%'''.<br />
[[File:Permalink 1.png]]<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
# END WordPress<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=File:Permalink_1.png&diff=41932File:Permalink 1.png2011-11-10T08:32:11Z<p>Krvask: permalink</p>
<hr />
<div>permalink</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=WordPress_turvamine&diff=41929WordPress turvamine2011-11-10T08:26:05Z<p>Krvask: /* Super Cache */</p>
<hr />
<div>'''!NB Kõik õpetused on tehtud kasutades Ubuntu Server 11.04'''<br />
<br />
WordPressi paigaldamine<br />
<br />
Varnishi lisamine wordpressile<br />
<br />
SuperCache kasutamine<br />
<br />
DoS rünnaku tõrjumine mod_evasive mooduliga<br />
<br />
== Wordpressi paigaldus ja konfigureerimine ==<br />
<br />
Antud toimingud tuleks teha root õigustes.<br />
<br />
Mine root-iks:<br />
sudo -i<br />
<br />
<br />
Tee update kohalike pakettide cache<br />
aptitude update<br />
<br />
<br />
Tee upgrade pakettidele:<br />
aptitude full-upgrade<br />
<br />
Paigalda acpid daemon<br />
aptitude install acpid<br />
<br />
<br />
Installi apache2 veebi server,mysql andmebaasi server, openssh server, php5 skriptimis keel ning apache2-utils(Apache benchmark tool)<br />
aptitude install apache2 mysql-server ssh php5 php5-mysql apache2-utils<br />
<br />
<br />
Tõmba alla kõige hilisem .tar fail wordpress.org-ist:<br />
wget http://wordpress.org/latest.tar.gz<br />
<br />
<br />
<br />
Paki lahti wordpressi failid /var/www kausta:<br />
sudo tar zxvf latest.tar.gz --directory=/var/www/<br />
<br />
<br />
Logi mysql-i sisse:<br />
<br />
mysql -u root -p<br />
<br />
Loo andmebaas student_wordpress:<br />
<source lang="mysql"><br />
create database student_wordpress;<br />
</source><br />
Loo kasutaja student:<br />
<source lang="mysql"><br />
create user student;<br />
</source><br />
Anna kõik õigused student kasutajale:<br />
<source lang="mysql"><br />
GRANT ALL PRIVILEGES ON student_wordpress.* TO student@localhost IDENTIFIED BY ‘student’;<br />
</source><br />
Välju mysql-ist:<br />
<source lang="mysql"><br />
quit;<br />
</source><br />
<br />
Loo uus default veebi saidil põhinev veebi sait:<br />
<br />
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/wp<br />
<br />
<br />
Muuda ära DocumentRoot /etc/apache2/sites-avalible/wp failis:<br />
<br />
nano /etc/apache2/sites-avalible/wp<br />
<br />
Lisa DocumentRoot /var/www rea lõppu DocumentRoot /var/www/wordpress<br />
DocumentRoot /var/www/wordpress<br />
<br />
<br />
<br />
<br />
Keela ära tavaline default veebi sait(seda ei ole vaja antud paigalduses):<br />
<br />
a2dissite default<br />
<br />
<br />
Luba wordpress-i veebisait<br />
<br />
a2ensite wp<br />
<br />
Tee apache-ile restart<br />
<br />
service apache2 restart<br />
<br />
Muuda wordpress konfiguratsiooni faili:<br />
<br />
nano /var/www/wordpress/wp-config-sample.php<br />
<br />
Muuda DB_NAME, DB_USER, DB_PASSWORD vastavalt näitele:<br />
<br />
<source lang="php">define('DB_NAME', 'student_wordpress');<br />
<br />
/** MySQL database username */<br />
define('DB_USER', 'student');<br />
<br />
/** MySQL database password */<br />
define('DB_PASSWORD', 'student');<br />
</source><br />
<br />
Kopeeri uus konfiguratsiooni fail wordpressi konfiguratsiooni failiks:<br />
<br />
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php<br />
<br />
<br />
Tee apache2 service-ile reload<br />
<br />
service apache2 reload<br />
<br />
Mine wordpressi saidile kasutades host-i IP aadressi(antud näites:192.168.56.102);<br />
<br />
http://192.168.56.102<br />
<br />
<br />
Vali saidi nimi, kasutajanimi, salasõna ning meili aadress.<br />
<br />
Vali install<br />
<br />
Installi lõppedes tee kindlaks,et kõik toimib(log sisse, vaata wp verisooni ilmselt midagi sellist: You are using WordPress 3.2.1.)<br />
<br />
== mod_evasive paigaldus ja konfigureerimine ==<br />
<br />
=== Sissejuhatus ===<br />
<br />
Mod_evasive on lisamoodul Apache'i veebiserveri jaoks, mille abil on võimalik vähendada või täielikult tõrjuda<br />
HTTP DoS, DDos või brute force rünnakute mõju. Ühtlasi saab seda kasutada ka monitooringu teostamiseks,<br />
kuna moodulit on lihtne panna suhtlema erinevate tulemüüride ja ruuteritega.<br />
<br />
Monitooring baseerub dünaamilisel IP aadressitest ja URI-dest koosneval räsitabelil,<br />
kust siis keelatakse IP aadressid, mis:<br />
<br />
*küsivad ühte lehte rohkem kui paar korda sekundis<br />
*teevad rohkem kui 50 üheaegset requesti sama laps-protsessi vastu<br />
*üritavad teha ükskõik millist requesti samal ajal kui nad on mustas nimekirjas<br />
<br />
=== Paigaldus ===<br />
<br />
Paigaldamine Ubuntu 11.04 serverile on küllaltki lihtne<br />
<br />
apt-get install libapache2-mod-evasive<br />
<br />
=== Konfigureerimine ===<br />
<br />
Kõigepealt on viisakas luua koht, kuhu antud moodul oma logi saaks salvestada<br />
mkdir /var/log/apache2/mod_evasive<br />
chown www-data:www-data /var/log/apache2/mod_evasive<br />
<br />
'''NB! Logimine praegu ei tööta'''<br />
<br />
Mod_evasive moodulil ei lubata antud kausta kirjutada<br />
Couldn't open logfile /var/log/apache2/mod_evasive/dos-192.168.6.13: Permission denied<br />
<br />
Nüüd jääb üle lisada vastavad read oma virtuaalsesse hosti (N:~/apache2/sites-enabled/wordpress lõppu)<br />
<br />
<ifmodule mod_evasive20.c><br />
DOSHashTableSize 3097<br />
DOSPageCount 2<br />
DOSSiteCount 50<br />
DOSPageInterval 1<br />
DOSSiteInterval 1<br />
DOSBlockingPeriod 10<br />
DOSLogDir /var/log/apache2/mod_evasive<br />
DOSEmailNotify root@localhost<br />
DOSWhitelist 127.0.0.1<br />
</ifmodule><br />
<br />
Antud väärtusi tuleks kohandada vastavalt vajadustele<br />
<br />
Parameetrite kirjeldused:<br />
<br />
*DOSHashTableSize: Räsitabeli suurus, kus IP aadresseid hoitakse.<br />
*DOSPageCount: Lehekülgede arv DOSPageInterval sekundis.<br />
*DOSPageInterval: Aeg sekundites, mida kasutab DOSPageCount.<br />
*DOSSiteCount: Objektide arv DOSSiteInterval sekundites.<br />
*DOSSiteInterval: Aeg sekundites, mida kasutab DOSSiteCount.<br />
*DOSBlockingPeriod: Aeg sekundites, kui kaua IP on bannitud. Kui IP üritab serverile selle aja see ligi pääseda, siis algab loendus ueusti nullist.<br />
*DOSLogDir: Valikuline. Kataloogitee, kuhu logi salvestatakse. Kui pole määratud kasutatakse /tmp.<br />
*DOSEmailNotify: Valikuline. Mail kuhu teated saadetakse.<br />
*DOSSystemCommand: Valikuline. Käsk mis käivitatakse, kui IP bannitakse. Näiteks:<br />
**DOSSystemCommand "/sbin/iptables -I INPUT -p tcp --dport 80 -s %s -j DROP"<br />
*DOSWhitelist: Valikuline. Nimekiri IP aadressitest, mida ei blokita.<br />
<br />
<br />
Kui konfigureerimine valmis, tuleb Apache serverlie teha restart<br />
<br />
/etc/init.d/apache2 restart<br />
VÕI<br />
service apache2 restart<br />
<br />
=== Autor ===<br />
Meelis Tamm, A31<br />
<br />
Source: [http://acidborg.wordpress.com/2009/06/25/installation-configuration-of-mod_evasive-in-ubuntu-server-9-04/]<br />
<br />
==Varnish Cache-i paigaldamine ja konfigureerimine==<br />
===Sissejuhatus===<br />
'''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.<br />
===Paigaldamine===<br />
Kui te soovite installida Varnishit, siis on vaja teha uuendusi. Selle käsu abil uuendame opsüsteemi:<br />
sudo apt-get update<br />
Paigaldamise käsk:<br />
sudo apt-get install varnish<br />
===Konfiguratsiooni muutmine===<br />
Esimene, mis me teeme, default pordi muutmine. Tuleb muuta faili '''/etc/default/varnish''':<br />
nano /etc/default/varnish<br />
<br />
Konfigureerimine Varnichi jaoks kirjutatakse VCL keeles. <br />
<br />
Fail konfiguratsioonidega vaikselt asub siin '''/etc/varnish/default.vcl'''<br />
Fail oleneb mitmest osadest, aga mis on vaja töötamise alguseks - see on backendi viitamine:<br />
<br />
'''Backend''' - see on server, kuhu varnish saadab päringut, kui tal ei ole vastavad andmeid cache-is.<br />
<br />
Kopeerige fail /etc/varnish/default.vcl ja andke teine nimetus<br />
cp /etc/varnish/default.vcl /etc/varnish/itkool.vcl<br />
<br />
Ava fail /etc/varnish/itkool.vcl ja sisesta <br />
nano /etc/varnish/itkool.vcl<br />
<br />
<pre><br />
## Redirect requests to Apache, running on port 8000 on localhost<br />
backend apache {<br />
.host = "127.0.0.1";<br />
.port = "8000";<br />
}<br />
## Fetch<br />
sub vcl_fetch {<br />
## Remove the X-Forwarded-For header if it exists.<br />
remove req.http.X-Forwarded-For;<br />
<br />
## insert the client IP address as X-Forwarded-For. This is the normal IP address of the user.<br />
set req.http.X-Forwarded-For = req.http.rlnclientipaddr;<br />
## Added security, the "w00tw00t" attacks are pretty annoying so lets block it before it reaches our webserver<br />
if (req.url ~ "^/w00tw00t") {<br />
error 403 "Not permitted";<br />
}<br />
## Deliver the content<br />
return(deliver);<br />
}<br />
<br />
## Deliver<br />
sub vcl_deliver {<br />
## We'll be hiding some headers added by Varnish. We want to make sure people are not seeing we're using Varnish.<br />
## Since we're not caching (yet), why bother telling people we use it?<br />
remove resp.http.X-Varnish;<br />
remove resp.http.Via;<br />
remove resp.http.Age;<br />
<br />
## We'd like to hide the X-Powered-By headers. Nobody has to know we can run PHP and have version xyz of it.<br />
remove resp.http.X-Powered-By;<br />
}<br />
</pre><br />
Salvesta fail CTRL + O käsuga<br />
<br />
===Apache konfiguratsiooni muutmine===<br />
Ava fail etc/apache2/ports.conf ja leia<br />
nano /etc/apache2/ports.conf<br />
<br />
<pre><br />
NameVirtualHost *:80<br />
Listen 192.168.6.101:80<br />
</pre><br />
<br />
Muuda <br />
<br />
<pre><br />
NameVirtualHost *:8000<br />
Listen 192.168.6.101:8000<br />
</pre><br />
Ava fail nano etc/apache2/sites-available/wp ja leia<br />
<br />
<pre><br />
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
<br />
</pre><br />
<br />
Muuda<br />
<pre><br />
VirtualHost *:8000><br />
ServerAdmin webmaster@localhost<br />
</pre><br />
<br />
<br />
Praegu paigaldame lisa Apache moodul selle jaoks, et veenduda kas kasutaja IP aadress lõpeb korrektselt. Praegu Varnish on põhimõtteliselt seotud apache2.<br />
Kuna Lakk on põhimõtteliselt rääkides apache2, sa võib näidata aadressil 127.0.0.1 nagu külastaja IP.<br />
nano apt-get install libapache2-mod-rpaf<br />
<br />
'''RPAF''' (Reverse Proxy Add Forward) moodul holitseb selle eest, et localhosti IP vahetatakse ära IP-ga, mis on seadistatud X-Forwarded-For failis.<br />
<br />
===Deemonide restart===<br />
Restart Apache server:<br />
/etc/init.d/apache2 restart<br />
<br />
Kontrolli kas on olemas IP portid: <br />
netstat -lp | grep apache2<br />
<br />
Kui te näete, siis kõik on korras<br />
tcp 0 0 *:https *:* LISTEN 843/apache2 <br />
tcp 0 0 192.168.6.101:8000 *:* LISTEN 843/apache2 <br />
<br />
Kui ei näita niimodi, siis on viga. Praegu teeme Varnishile restardi, et kuulata teema pordis 80<br />
/etc/init.d/varnish restart <br />
<br />
Kontrolli <br />
netstat -lp | grep varnish<br />
tcp 0 0 *:www *:* LISTEN 781/varnishd <br />
tcp 0 0 localhost:6082 *:* LISTEN 779/varnishd <br />
tcp6 0 0 [::]:www [::]:* LISTEN 781/varnishd<br />
<br />
Praegu Varnish on sättinud Apache-is. Külasta saiti ja vaata, kas toimib. Kui sa tõmbad Apache maha, siis näed lehel Varnishi errorit.<br />
<br />
== Super Cache ==<br />
<br />
'''Selle osa koostamine on veel töös.'''<br />
<br />
Super Cache-i paigaldamiseks tuleb sisse logida admin-paneeli. Siis vasakult nimekirjast valida '''''Plugins'''''-i alt '''Add new'''.<br />
<br />
<br />
<br />
[[File:Wordpress_Plugins.png]]<br />
<br />
<br />
[[File:Wordpress_search.png|400px|thumb|left]]<br />
<br />
<br />
[[File:Install_wordpress.png|400px|thumb|left|]]<br />
<br />
[[File:Activate_wordpress.png|400px|thumb|left|]]<br />
<br />
<br />
Siis kirjutada otsingusse "'''WP Super Cache'''".<br />
<br />
<br />
<br />
<br />
Pärast seda valida nimekirjast ''Super Cache'' ning vajutada "'''Install now'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Pärast seda "'''Activate the Plugin'''".<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Super Cache -i toimimiseks on vajalik valida '''''Custom structure''''' ''Permalink-i'' seadete alt ning sisestada sinna '''p=?/%post_id%/'''.<br />
<br />
Edasi vali vasakult '''''Settings'''''-u alt '''WP Super Cache'''.<br />
<br />
Lisaks tuleb muuta .htaccess faili sisu mis peaks välja nägema selline:<br />
<br />
# BEGIN WordPress<br />
<IfModule mod_rewrite.c><br />
RewriteEngine On<br />
RewriteBase /<br />
RewriteRule ^index\.php$ - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
</IfModule><br />
<br />
# END WordPress<br />
<br />
== Iptables ==<br />
<br />
'''protsessis...'''<br />
<pre><br />
<br />
*filter<br />
:INPUT DROP [1066:176948]<br />
:FORWARD ACCEPT [0:0]<br />
:OUTPUT ACCEPT [58875:56066315]<br />
-A INPUT -s 192.168.6.101/32 -p tcp -m tcp --dport 8000 -j ACCEPT <br />
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT <br />
-A INPUT -s 192.168.6.1/32 -p tcp -m tcp --dport 22 -j ACCEPT <br />
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7<br />
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable<br />
-A INPUT -s 192.168.6.101/32 -j ACCEPT <br />
-A INPUT -m state --state ESTABLISHED -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p udp -m udp --dport 53 -j ACCEPT <br />
-A INPUT -s 192.168.6.200/32 -p tcp -m tcp --dport 443 -j ACCEPT <br />
-A OUTPUT -o lo -j ACCEPT <br />
COMMIT<br />
<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=34300User:Krvask2011-06-28T19:03:29Z<p>Krvask: /* Isikukoodi korrektsuse kontroll Pythonis */</p>
<hr />
<div>==Bash quest==<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
==Powershell kodutöö==<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
==Python kodutöö==<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#skript kontrollib kas Pythoni PATH muutujas olevad kaustad on olemas<br />
#küsib kas printida kaustad mis on olemas või mida pole ning seejärel prindib vastavad kaustad<br />
#autor Kristjan Vask A21<br />
#versioon 0.2<br />
<br />
import os<br />
import sys<br />
<br />
#Küsib kumba varianti kuvada<br />
vastus = raw_input("Kas prindin kaustad mis on olemas või mida pole? Trüki on või pole\n")<br />
#kaustad mida pole:<br />
if vastus == "pole":<br />
print "Kuvan pythoni PATH muutujas olevad kaustad mida pole olemas:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==False:<br />
print path,"-", "Sellist kausta pole olemas"<br />
#kaustad mis on olemas:<br />
elif vastus == "on":<br />
print "Olemas on sellised kaustad:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==True:<br />
print path<br />
#kui sisendiks tuleb miskit miskit muud:<br />
else:<br />
print "Kaustade kuvamiseks peab trükkima on või pole"<br />
</pre><br />
==Isikukoodi korrektsuse kontroll pythonis==<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#autor: Kristjan Vask A21<br />
#skript kontrollib id koodi õigsust<br />
from datetime import datetime, date, time<br />
import sys<br />
d = {}<br />
try:<br />
input_filename= sys.argv[1]<br />
except IndexError:<br />
print "Kasutamiseks: %s <sisendfail>" % sys.argv[0]<br />
exit(255)<br />
<br />
filename = input_filename<br />
<br />
test=12<br />
<br />
for line in open(filename):<br />
arv = len(line)<br />
if arv==test:<br />
if line.startswith("3"):<br />
x="mees"<br />
elif line.startswith("5"):<br />
x="mees"<br />
elif line.startswith("4"):<br />
x="naine"<br />
elif line.startswith("6"):<br />
x="naine"<br />
else:<br />
x= "vale algusnr"<br />
try:<br />
y= datetime.strptime(line[1:7], "%y%m%d").strftime("%d.%m.%Y")<br />
except ValueError:<br />
y="vale kuupäeva formaat"<br />
c = map(int,line.strip())<br />
w1 = [1,2,3,4,5,6,7,8,9,1]<br />
w2 = [3,4,5,6,7,8,9,1,2,3]<br />
s1 = sum(map(lambda x,y: x*y, c[:-1], w1))%11<br />
s2 = (sum(map(lambda x,y: x*y, c[:-1], w2))%11)%10<br />
k= s1 == c[-1] or s1 == 10 and s2 == c[-1]<br />
if (x=="mees" or x=="naine") and y!="vale kuupäeva formaat" and k==True:<br />
print line.strip(),"-",y,"-",x<br />
else:<br />
print line.strip(),"-", "isikukoodi pikkus pole õige"<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=34299User:Krvask2011-06-28T19:03:13Z<p>Krvask: </p>
<hr />
<div>==Bash quest==<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
==Powershell kodutöö==<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
==Python kodutöö==<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#skript kontrollib kas Pythoni PATH muutujas olevad kaustad on olemas<br />
#küsib kas printida kaustad mis on olemas või mida pole ning seejärel prindib vastavad kaustad<br />
#autor Kristjan Vask A21<br />
#versioon 0.2<br />
<br />
import os<br />
import sys<br />
<br />
#Küsib kumba varianti kuvada<br />
vastus = raw_input("Kas prindin kaustad mis on olemas või mida pole? Trüki on või pole\n")<br />
#kaustad mida pole:<br />
if vastus == "pole":<br />
print "Kuvan pythoni PATH muutujas olevad kaustad mida pole olemas:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==False:<br />
print path,"-", "Sellist kausta pole olemas"<br />
#kaustad mis on olemas:<br />
elif vastus == "on":<br />
print "Olemas on sellised kaustad:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==True:<br />
print path<br />
#kui sisendiks tuleb miskit miskit muud:<br />
else:<br />
print "Kaustade kuvamiseks peab trükkima on või pole"<br />
</pre><br />
==Isikukoodi korrektsuse kontroll Pythonis==<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#autor: Kristjan Vask A21<br />
#skript kontrollib id koodi õigsust<br />
from datetime import datetime, date, time<br />
import sys<br />
d = {}<br />
try:<br />
input_filename= sys.argv[1]<br />
except IndexError:<br />
print "Kasutamiseks: %s <sisendfail>" % sys.argv[0]<br />
exit(255)<br />
<br />
filename = input_filename<br />
<br />
test=12<br />
<br />
for line in open(filename):<br />
arv = len(line)<br />
if arv==test:<br />
if line.startswith("3"):<br />
x="mees"<br />
elif line.startswith("5"):<br />
x="mees"<br />
elif line.startswith("4"):<br />
x="naine"<br />
elif line.startswith("6"):<br />
x="naine"<br />
else:<br />
x= "vale algusnr"<br />
try:<br />
y= datetime.strptime(line[1:7], "%y%m%d").strftime("%d.%m.%Y")<br />
except ValueError:<br />
y="vale kuupäeva formaat"<br />
c = map(int,line.strip())<br />
w1 = [1,2,3,4,5,6,7,8,9,1]<br />
w2 = [3,4,5,6,7,8,9,1,2,3]<br />
s1 = sum(map(lambda x,y: x*y, c[:-1], w1))%11<br />
s2 = (sum(map(lambda x,y: x*y, c[:-1], w2))%11)%10<br />
k= s1 == c[-1] or s1 == 10 and s2 == c[-1]<br />
if (x=="mees" or x=="naine") and y!="vale kuupäeva formaat" and k==True:<br />
print line.strip(),"-",y,"-",x<br />
else:<br />
print line.strip(),"-", "isikukoodi pikkus pole õige"<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=34298User:Krvask2011-06-28T19:02:06Z<p>Krvask: </p>
<hr />
<div>'''Bash quest'''<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
'''Powershell kodutöö'''<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
'''Python kodutöö'''<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#skript kontrollib kas Pythoni PATH muutujas olevad kaustad on olemas<br />
#küsib kas printida kaustad mis on olemas või mida pole ning seejärel prindib vastavad kaustad<br />
#autor Kristjan Vask A21<br />
#versioon 0.2<br />
<br />
import os<br />
import sys<br />
<br />
#Küsib kumba varianti kuvada<br />
vastus = raw_input("Kas prindin kaustad mis on olemas või mida pole? Trüki on või pole\n")<br />
#kaustad mida pole:<br />
if vastus == "pole":<br />
print "Kuvan pythoni PATH muutujas olevad kaustad mida pole olemas:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==False:<br />
print path,"-", "Sellist kausta pole olemas"<br />
#kaustad mis on olemas:<br />
elif vastus == "on":<br />
print "Olemas on sellised kaustad:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==True:<br />
print path<br />
#kui sisendiks tuleb miskit miskit muud:<br />
else:<br />
print "Kaustade kuvamiseks peab trükkima on või pole"<br />
</pre><br />
<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#autor: Kristjan Vask A21<br />
#skript kontrollib id koodi õigsust<br />
from datetime import datetime, date, time<br />
import sys<br />
d = {}<br />
try:<br />
input_filename= sys.argv[1]<br />
except IndexError:<br />
print "Kasutamiseks: %s <sisendfail>" % sys.argv[0]<br />
exit(255)<br />
<br />
filename = input_filename<br />
<br />
test=12<br />
<br />
for line in open(filename):<br />
arv = len(line)<br />
if arv==test:<br />
if line.startswith("3"):<br />
x="mees"<br />
elif line.startswith("5"):<br />
x="mees"<br />
elif line.startswith("4"):<br />
x="naine"<br />
elif line.startswith("6"):<br />
x="naine"<br />
else:<br />
x= "vale algusnr"<br />
try:<br />
y= datetime.strptime(line[1:7], "%y%m%d").strftime("%d.%m.%Y")<br />
except ValueError:<br />
y="vale kuupäeva formaat"<br />
c = map(int,line.strip())<br />
w1 = [1,2,3,4,5,6,7,8,9,1]<br />
w2 = [3,4,5,6,7,8,9,1,2,3]<br />
s1 = sum(map(lambda x,y: x*y, c[:-1], w1))%11<br />
s2 = (sum(map(lambda x,y: x*y, c[:-1], w2))%11)%10<br />
k= s1 == c[-1] or s1 == 10 and s2 == c[-1]<br />
if (x=="mees" or x=="naine") and y!="vale kuupäeva formaat" and k==True:<br />
print line.strip(),"-",y,"-",x<br />
else:<br />
print line.strip(),"-", "isikukoodi pikkus pole õige"<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33444User:Krvask2011-05-31T10:54:03Z<p>Krvask: </p>
<hr />
<div>'''Bash quest'''<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
'''Powershell kodutöö'''<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
'''Python kodutöö'''<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#skript kontrollib kas Pythoni PATH muutujas olevad kaustad on olemas<br />
#küsib kas printida kaustad mis on olemas või mida pole ning seejärel prindib vastavad kaustad<br />
#autor Kristjan Vask A21<br />
#versioon 0.2<br />
<br />
import os<br />
import sys<br />
<br />
#Küsib kumba varianti kuvada<br />
vastus = raw_input("Kas prindin kaustad mis on olemas või mida pole? Trüki on või pole\n")<br />
#kaustad mida pole:<br />
if vastus == "pole":<br />
print "Kuvan pythoni PATH muutujas olevad kaustad mida pole olemas:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==False:<br />
print path,"-", "Sellist kausta pole olemas"<br />
#kaustad mis on olemas:<br />
elif vastus == "on":<br />
print "Olemas on sellised kaustad:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==True:<br />
print path<br />
#kui sisendiks tuleb miskit miskit muud:<br />
else:<br />
print "Kaustade kuvamiseks peab trükkima on või pole"<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33443User:Krvask2011-05-31T10:53:47Z<p>Krvask: </p>
<hr />
<div>'''Bash quest'''<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
'''Powershell kodutöö'''<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
'''Python kodutöö'''<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
#skript kontrollib kas Pythoni PATH muutujas olevad kaustad on olemas<br />
#küsib kas printida kaustad mis on olemas või mida pole ning seejärel prindib vastavad kaustad<br />
#autor Kristjan Vask A21<br />
#verisoon 0.2<br />
<br />
import os<br />
import sys<br />
<br />
#Küsib kumba varianti kuvada<br />
vastus = raw_input("Kas prindin kaustad mis on olemas või mida pole? Trüki on või pole\n")<br />
#kaustad mida pole:<br />
if vastus == "pole":<br />
print "Kuvan pythoni PATH muutujas olevad kaustad mida pole olemas:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==False:<br />
print path,"-", "Sellist kausta pole olemas"<br />
#kaustad mis on olemas:<br />
elif vastus == "on":<br />
print "Olemas on sellised kaustad:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==True:<br />
print path<br />
#kui sisendiks tuleb miskit miskit muud:<br />
else:<br />
print "Kaustade kuvamiseks peab trükkima on või pole"<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33442User:Krvask2011-05-31T10:49:53Z<p>Krvask: </p>
<hr />
<div>'''Bash quest'''<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
'''Powershell kodutöö'''<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
'''Python kodutöö'''<br />
<pre><br />
#!/usr/bin/python<br />
# -*- coding: utf-8 -*-<br />
import os<br />
import sys<br />
<br />
#Küsib kumba varianti kuvada<br />
vastus = raw_input("Kas prindin kaustad mis on olemas või mida pole? Trüki on või pole\n")<br />
#kaustad mida pole:<br />
if vastus == "pole":<br />
print "Kuvan pythoni PATH muutujas olevad kaustad mida pole olemas:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==False:<br />
print path,"-", "Sellist kausta pole olemas"<br />
#kaustad mis on olemas:<br />
elif vastus == "on":<br />
print "Olemas on sellised kaustad:\n"<br />
for path in sys.path:<br />
if os.path.exists(path)==True:<br />
print path<br />
#kui sisendiks tuleb miskit miskit muud:<br />
else:<br />
print "Kaustade kuvamiseks peab trükkima on või pole"<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33441User:Krvask2011-05-31T10:49:15Z<p>Krvask: </p>
<hr />
<div>'''Bash quest'''<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
'''Powershell kodutöö'''<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
'''Python kodutöö'''</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33440User:Krvask2011-05-31T10:48:49Z<p>Krvask: </p>
<hr />
<div>==Bash quest==<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
==Powershell kodutöö==<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
==Python kodutöö==</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33439User:Krvask2011-05-31T10:48:19Z<p>Krvask: </p>
<hr />
<div>'''Bash quest:'''<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
'''Powershell kodutöö:'''<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre><br />
<br />
'''Python kodutöö'''</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&diff=33202Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe2011-05-28T17:24:27Z<p>Krvask: /* Kristjan Vask */</p>
<hr />
<div>[[Category: Skriptimiskeeled]]<br />
<br />
=Kodutööd 2011, PowerShell=<br />
Siia tulevad siis kokkuvõtted..<br />
==Jaan Igamees==<br />
Lühike jutt, mida skript teeb... bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla. <br />
<br />
[[PowerShell: Jaan Igamees, kavalskript]]<br />
<br />
==Kaido Loonurm==<br />
<br />
Arvutiinfo: Skript leiab arvuti seadeid ja konfiguratsiooni puudutava info (arvuti nimi, mälu hulk, protsessoritüüp jne) ning väljastab selle <br />
<br />
[[PowerShell: Kaido Loonurm, PCinfo.ps1]]<br />
<br />
==Ivar Ambos==<br />
Ühendatud ketaste info<br />
<br />
[[User:Iambos]]<br />
<br />
==Vadim Vinogradin==<br />
Ping skript<br />
#Skript, mis kontrollib, saidi IP-aadressi töötamine. <br />
#Kui töötab, siis kirjutab andmeid C:\ping.txt failisse, kui ei tööta, siis kirjutab andmeid C:\ping.txt failisse ja teavitab e-maili kaudu.<br />
<br />
[[PowerShell: Vadim Vinogradin, Ping skript]]<br />
<br />
==Tarmo Trumm==<br />
Skript mis otsib üles kindla laiendiga failid, mis on x päeva vanad ja kustutab need.<br />
<br />
[[PowerShell: Tarmo Trumm,Kustutame x-päeva vanad failid]]<br />
<br />
==Toomas Rohumets==<br />
Skript, mis muudab võrgukaardi MAC aadressi.<br />
<br />
[[User:Trohumet]]<br />
<br />
==Sergei Gorjunov==<br />
Skript, mis loob uut kasutajat<br />
<br />
[[User:Sgorjuno]]<br />
<br />
==Karet Rikko==<br />
Skript võtab kõikide kasutajate home folderite suuruse ning sorteerib suuruse järgi ning kirjutab kasutajanime ning kasutatud suuruse faili.<br />
<br />
[[User:Krikko]]<br />
<br />
==Vladimir Kolesnik==<br />
<br />
Skript, mis kuvab kõike protsesse, mille mälu on üle 1MB ja vormistab sisend faili HTML kujul<br />
<br />
[[PowerShell: Vladimir Kolesnik, maluCheck]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)<br />
<br />
--<br />
<br />
Skript, mis kontrollib kas ettemääratud protsess töötab või ei.<br />
<br />
[[PowerShell: Vladimir Kolesnik, minuProtsess]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)<br />
<br />
Lisaks saab leida siin: [[User:vkolesni]]<br />
<br />
==Ivar Krustok==<br />
skript, mis küsib emaili, eraldab sellest user ja domeeni. Uurib välja domeeni ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle info arvutikasutaja folderisse txt faili koos kellajaga millal küsiti.<br />
<br />
[[User:ikrustok]]<br />
<br />
==Ilja Peters==<br />
[[PowerShell: Ilja Peters, Kasutajate halduse skript]]<br />
<br />
Skript mis haldab lokaalseid kasutajaid (lisab/kustutab/kuvab kasutajaid ning saab hallata gruppidesse kuuluvust)<br />
<br />
==Rene Pärnpuu==<br />
Otsib lokaalsest arvutist ülesse kõik installeeritud printerid ja shareb kõikidele kasutajatele antud arvutis.<br />
<br />
[[PowerShell: Rene Pärnpuu, Printerid.ps1]]<br />
<br />
==Arvutite Andmed==<br />
tulemüürist tuleks lubada: windows management instrumentarium<br />
UAC kinni või administrator account sisse<br />
sisendiks on fail kuhu on kirjutatud arvutite nimed, millede eraldajaks on enter<br />
väljundiks on viisakal kujul tekstifail mille ta meilile saata suudab<br />
Kasutamine kujul skript.ps1 -in sisendfail -out väljudfail<br />
<br />
<source lang="powershell"><br />
$from = "kust@minuserver.ee"<br />
$to = "kuhu@minuserver.ee"<br />
$smtp = "smtp.minuserver.ee"<br />
$smtp.EnableSsl = $True<br />
param(<br />
$in,<br />
$out <br />
)<br />
$file = $out<br />
New-Item -ItemType file $file -Force<br />
<br />
Get-Content $in | ForEach-Object {<br />
$computerSystem = ""<br />
$computer = $_<br />
$computerSystem = get-wmiobject win32_computersystem -computer $computer<br />
$bios = get-wmiobject win32_bios -computer $computer<br />
$operatingsystem = get-wmiobject win32_operatingsystem -computer $computer<br />
$processor = get-wmiobject win32_processor -computer $computer<br />
if(-not $computerSystem) {<br />
Add-Content $file "Computer: $computer"<br />
Add-Content $file "Error!"<br />
}<br />
else {<br />
$user = $computerSystem.username<br />
$manufacturer = $computerSystem.manufacturer<br />
$model = $computerSystem.model<br />
$serviceTag = $bios.serialnumber<br />
$os = $operatingsystem.caption<br />
$servicePack = $operatingsystem.servicepackmajorversion<br />
$coreCount = @($processor)[0].numberofcores<br />
$procName = @($processor)[0].name<br />
$ram = [int]$operatingsystem.totalvisiblememorysize / 1024<br />
$disk = gwmi -computer $computer -class win32_logicaldisk -Credential $creds -Filter "DriveType = '3'" | select DeviceID,Size<br />
Add-Content $file "Computer: $computer"<br />
Add-Content $file "Manufacturer: $manufacturer"<br />
Add-Content $file "OS: $os"<br />
Add-Content $file "ServicePack: $servicePack"<br />
Add-Content $file "CoreCount: $coreCount"<br />
Add-Content $file "Processor Name: $procName"<br />
Add-Content $file "Ram: $ram"<br />
$i = 0<br />
if($disk -is [system.array]){<br />
while ($i -ne ($disk.length)) {<br />
$id = @($disk)[$i].deviceid<br />
$size = (@($disk)[$i].size / 1GB)<br />
Add-Content $file "$id $size GB"<br />
$i++<br />
}<br />
}<br />
else {<br />
$id = $disk.deviceid<br />
$size = ($disk.size / 1GB)<br />
Add-Content $file "$id $size GB"<br />
}<br />
}<br />
Add-Content $file "##############################################"<br />
}<br />
$smtpserver = “smtp.neti.ee” #Siia kirjuta oma SMTP serveri aadress<br />
$message = new-object Net.Mail.MailMessage<br />
$att = new-object Net.Mail.Attachment($file)<br />
$smtp = new-object Net.Mail.SmtpClient($smtpserver)<br />
$message.From = $from #Saatja meiliaadress<br />
$message.To.Add($to) #Saaja meiliaadress<br />
$message.Subject = “Computer Information ( $(date) )” #E-maili pealkiri<br />
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst )<br />
$message.Attachments.Add($att)<br />
$smtp.Send($message)<br />
<br />
$att.Dispose()<br />
$message.Dispose()<br />
</source><br />
<br />
==Rene Sepp==<br />
Skript, mis disableb/enableb wireless adapterit.<br />
<br />
[[User:rsepp]]<br />
<br />
==Automatiseeritud portide avamine ja sulgemine - Katrin Kukk==<br />
tulemüürist tuleks lubada: windows management instrumentarium<br />
<br />
UAC kinni või administrator account sisse<br />
<br />
sisendiks on failid:<br />
<br />
1) arvutite nimed<br />
<br />
2) portide numbrid<br />
<br />
<br />
skript töötab kujul: skript.ps1 -pcs <sisendfail> -ports <sisendfail> -action <open|close><br />
<br />
<source lang="powershell"><br />
param(<br />
$pcs,<br />
$action,<br />
$ports<br />
)<br />
#käime läbi masinate listi<br />
Get-Content $pcs | ForEach-Object {<br />
$computer = $_<br />
#iga masina kohta käime läbi portide nimekirja<br />
Get-Content $ports | ForEach-Object {<br />
$port = $_<br />
#teeme pordid lahti<br />
if(action == "open") {<br />
Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=allow protocol=TCP localport=$port} -ComputerName $computer<br />
#või paneme need kinni<br />
} elseif(action == "close") {<br />
Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=block protocol=TCP localport=$port} -ComputerName $computer<br />
#või suuname kasutajat õigesti käituma<br />
} else {<br />
Write-Host "Porte kas avatakse (open) või suletakse (close)"<br />
}<br />
<br />
}<br />
}<br />
</source><br />
<br />
==Rain Kõrgmaa==<br />
Skript kontrollib windowsi versiooni, kustutab temporary kaustast kõik (võimalikud) failid ning väljastab kasutaja kausta Logi faili.<br />
Skript eeldab, et masinasse on installeeritud Powershell 2.0.<br />
<br />
<br />
<source lang="Powershell"><br />
$ver = (Get-WmiObject Win32_OperatingSystem).Version<br />
Echo "Sinu masina versioon on:" $ver.tostring()<br />
$count = -1<br />
$Time = Get-Date<br />
<br />
if($ver.tostring().Contains("5.")) {<br />
$Dir = Get-Childitem $Env:temp -recurse<br />
$Dir | Remove-Item -force -ErrorAction silentlycontinue <br />
foreach ($_ in $Dir ){<br />
$count = $count +1<br />
$a = $Time.ToShortDateString()+" "+$Time.ToShortTimeString()+ "Kustutasin " +$_ +" faili"<br />
$a >> logi.txt}}<br />
<br />
ElseIf($ver.tostring().Contains("6.")) {<br />
$Dir = Get-Childitem $Env:temp -recurse<br />
$Dir | Remove-Item -force -ErrorAction silentlycontinue<br />
foreach ($_ in $Dir ){<br />
$count = $count +1<br />
$a = $Time.ToShortDateString()+" "+$Time.ToShortTimeString()+ " Kustutasin " +$_ + " faili"<br />
$a >> logi.txt}} <br />
<br />
Else{<br />
echo "Ei leidnud sobivat windowsi versiooni"}<br />
<br />
</source><br />
==Andres Mill==<br />
#Skript kontrollib, kas mingi rakendus töötab. Näiteks Skype. Kui töötab, siis saadab e-maili, et rakendus töötab selles arvutis.<br />
#Skript käivitab rakenduse töötamise kontrolli skripti iga 60 sekundi tagant.<br />
[[PowerShell: Andres Mill, rakenduse töötamise kontroll]]<br />
<br />
==Kalev Jõgi==<br />
Skript küsib tudengi eesnime, perekonnanime, matriklinumbrit ja parooli ning loob Active Directory kasutaja Üldkasutus -> Eco Tudengid organisatsiooniüksusesse, lisab logimisel võrguketaste jne. lisamiseks kasutatava logon.bat faili ning lisab kasutaja gruppi Tudengid<br />
<br />
<source lang="Powershell"><br />
#Autor: Kalev Jõgi<br />
#Rühm: A22<br />
#Versioon: 1.0<br />
#Kuupäev: 26.05.2011<br />
#Skript, mis teeb tudengile AD kasutaja ja lisab selle Tudengid gruppi<br />
<br />
#Loeme sisse vajalikud andmed<br />
$Firstname = Read-Host "Eesnimi"<br />
$Lastname = Read-Host "Perekonnanimi"<br />
$SCode = Read-Host "Matrikklinumber"<br />
$Password = Read-Host "Parool"<br />
<br />
$Name = $Firstname+" "+$Lastname<br />
$username = "t"+$SCode<br />
<br />
#Tekitame AD-sse kasutaja<br />
New-ADUser -Path "ou=Eco Tudengid,ou=Üldkasutus,dc=testikas,dc=local" -<br />
GivenName $Firstname -Surname $Lastname -Name $Name -SamAccountName $username<br />
-DisplayName $Name -Enabled $true -PasswordNeverExpires $true<br />
-AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) <br />
-ScriptPath "login.bat" -UserPrincipalName $username<br />
<br />
#Lisame loodud kasutaja AD-s gruppi Tudengid <br />
Add-ADGroupMember -Identity Tudengid -Members $username<br />
</source><br />
<br />
==Kristjan Väljako==<br />
<br />
Arvuti usaldusväärsuse index<br />
<br />
[[User:KValjako]]<br />
<br />
==Kristjan Vask==<br />
<br />
Active Directory/lokaalse kasutaja tegemine võttes username/pw sisendid eraldi failidest<br />
<br />
[[User:Krvask]]</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33201User:Krvask2011-05-28T17:11:13Z<p>Krvask: </p>
<hr />
<div>'''Bash quest:'''<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
'''Powershell kodutöö:'''<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33200User:Krvask2011-05-28T17:10:59Z<p>Krvask: </p>
<hr />
<div>Bash quest:<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
Powershell kodutöö:<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33199User:Krvask2011-05-28T17:09:49Z<p>Krvask: </p>
<hr />
<div>==Bash quest==<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
==Powershell kodutöö==<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33198User:Krvask2011-05-28T17:07:14Z<p>Krvask: </p>
<hr />
<div>Bash quest:<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre><br />
<br />
Powershell kodutöö:<br />
<pre><br />
#Skript küsib kas teha lokaalne või Active Directory kasutaja<br />
#teeb vastavasse kohta kasutajad võttes kasutajanimed failist kasutaja.txt ja paroolid failist pw.txt<br />
#versioon 0.2 - 28.05.2011<br />
#autor: Kristjan Vask A21<br />
<br />
$i=0<br />
$liik = Read-Host "Kas teeme Active Directory või lokaalse kasutaja ? Trüki ad või lokaalne"<br />
if ($liik -eq "ad"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen AD kasutaja: $line"<br />
create-ADaccount($line)<br />
$i=$i+1<br />
} <br />
}<br />
elseif ($liik -eq "lokaalne"){<br />
Foreach ($line in get-content kasutaja.txt)<br />
{<br />
echo "Teen lokaalse kasutaja: $line"<br />
create-account($line)<br />
$i=$i+1<br />
} <br />
}<br />
else {<br />
echo "Peab trükkima ad või lokaalne" <br />
exit<br />
}<br />
#lokaalse kasutaja loomise funktsioon<br />
function create-account<br />
([string]$accountName = "ajutine") {<br />
$pw = (get-content pw.txt)[$i]<br />
$hostname = hostname<br />
$comp = [adsi] "WinNT://$hostname"<br />
$user = $comp.Create("User", $accountName)<br />
$user.SetPassword($pw)<br />
$user.SetInfo()<br />
}<br />
<br />
#AD kasutaja loomise funktsioon<br />
function create-ADaccount{<br />
$pw = (get-content pw.txt)[$i]<br />
New-ADUser –Name $line –Enabled $true -AccountPassword (ConvertTo-SecureString $pw -AsPlainText -force)<br />
}<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=33197User:Krvask2011-05-28T17:05:56Z<p>Krvask: </p>
<hr />
<div>Bash quest:<br />
<pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&diff=33196Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe2011-05-28T17:04:21Z<p>Krvask: </p>
<hr />
<div>[[Category: Skriptimiskeeled]]<br />
<br />
=Kodutööd 2011, PowerShell=<br />
Siia tulevad siis kokkuvõtted..<br />
==Jaan Igamees==<br />
Lühike jutt, mida skript teeb... bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla. <br />
<br />
[[PowerShell: Jaan Igamees, kavalskript]]<br />
<br />
==Kaido Loonurm==<br />
<br />
Arvutiinfo: Skript leiab arvuti seadeid ja konfiguratsiooni puudutava info (arvuti nimi, mälu hulk, protsessoritüüp jne) ning väljastab selle <br />
<br />
[[PowerShell: Kaido Loonurm, PCinfo.ps1]]<br />
<br />
==Ivar Ambos==<br />
Ühendatud ketaste info<br />
<br />
[[User:Iambos]]<br />
<br />
==Vadim Vinogradin==<br />
Ping skript<br />
#Skript, mis kontrollib, saidi IP-aadressi töötamine. <br />
#Kui töötab, siis kirjutab andmeid C:\ping.txt failisse, kui ei tööta, siis kirjutab andmeid C:\ping.txt failisse ja teavitab e-maili kaudu.<br />
<br />
[[PowerShell: Vadim Vinogradin, Ping skript]]<br />
<br />
==Tarmo Trumm==<br />
Skript mis otsib üles kindla laiendiga failid, mis on x päeva vanad ja kustutab need.<br />
<br />
[[PowerShell: Tarmo Trumm,Kustutame x-päeva vanad failid]]<br />
<br />
==Toomas Rohumets==<br />
Skript, mis muudab võrgukaardi MAC aadressi.<br />
<br />
[[User:Trohumet]]<br />
<br />
==Sergei Gorjunov==<br />
Skript, mis loob uut kasutajat<br />
<br />
[[User:Sgorjuno]]<br />
<br />
==Karet Rikko==<br />
Skript võtab kõikide kasutajate home folderite suuruse ning sorteerib suuruse järgi ning kirjutab kasutajanime ning kasutatud suuruse faili.<br />
<br />
[[User:Krikko]]<br />
<br />
==Vladimir Kolesnik==<br />
<br />
Skript, mis kuvab kõike protsesse, mille mälu on üle 1MB ja vormistab sisend faili HTML kujul<br />
<br />
[[PowerShell: Vladimir Kolesnik, maluCheck]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)<br />
<br />
--<br />
<br />
Skript, mis kontrollib kas ettemääratud protsess töötab või ei.<br />
<br />
[[PowerShell: Vladimir Kolesnik, minuProtsess]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)<br />
<br />
Lisaks saab leida siin: [[User:vkolesni]]<br />
<br />
==Ivar Krustok==<br />
skript, mis küsib emaili, eraldab sellest user ja domeeni. Uurib välja domeeni ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle info arvutikasutaja folderisse txt faili koos kellajaga millal küsiti.<br />
<br />
[[User:ikrustok]]<br />
<br />
==Ilja Peters==<br />
[[PowerShell: Ilja Peters, Kasutajate halduse skript]]<br />
<br />
Skript mis haldab lokaalseid kasutajaid (lisab/kustutab/kuvab kasutajaid ning saab hallata gruppidesse kuuluvust)<br />
<br />
==Rene Pärnpuu==<br />
Otsib lokaalsest arvutist ülesse kõik installeeritud printerid ja shareb kõikidele kasutajatele antud arvutis.<br />
<br />
[[PowerShell: Rene Pärnpuu, Printerid.ps1]]<br />
<br />
==Arvutite Andmed==<br />
tulemüürist tuleks lubada: windows management instrumentarium<br />
UAC kinni või administrator account sisse<br />
sisendiks on fail kuhu on kirjutatud arvutite nimed, millede eraldajaks on enter<br />
väljundiks on viisakal kujul tekstifail mille ta meilile saata suudab<br />
Kasutamine kujul skript.ps1 -in sisendfail -out väljudfail<br />
<br />
<source lang="powershell"><br />
$from = "kust@minuserver.ee"<br />
$to = "kuhu@minuserver.ee"<br />
$smtp = "smtp.minuserver.ee"<br />
$smtp.EnableSsl = $True<br />
param(<br />
$in,<br />
$out <br />
)<br />
$file = $out<br />
New-Item -ItemType file $file -Force<br />
<br />
Get-Content $in | ForEach-Object {<br />
$computerSystem = ""<br />
$computer = $_<br />
$computerSystem = get-wmiobject win32_computersystem -computer $computer<br />
$bios = get-wmiobject win32_bios -computer $computer<br />
$operatingsystem = get-wmiobject win32_operatingsystem -computer $computer<br />
$processor = get-wmiobject win32_processor -computer $computer<br />
if(-not $computerSystem) {<br />
Add-Content $file "Computer: $computer"<br />
Add-Content $file "Error!"<br />
}<br />
else {<br />
$user = $computerSystem.username<br />
$manufacturer = $computerSystem.manufacturer<br />
$model = $computerSystem.model<br />
$serviceTag = $bios.serialnumber<br />
$os = $operatingsystem.caption<br />
$servicePack = $operatingsystem.servicepackmajorversion<br />
$coreCount = @($processor)[0].numberofcores<br />
$procName = @($processor)[0].name<br />
$ram = [int]$operatingsystem.totalvisiblememorysize / 1024<br />
$disk = gwmi -computer $computer -class win32_logicaldisk -Credential $creds -Filter "DriveType = '3'" | select DeviceID,Size<br />
Add-Content $file "Computer: $computer"<br />
Add-Content $file "Manufacturer: $manufacturer"<br />
Add-Content $file "OS: $os"<br />
Add-Content $file "ServicePack: $servicePack"<br />
Add-Content $file "CoreCount: $coreCount"<br />
Add-Content $file "Processor Name: $procName"<br />
Add-Content $file "Ram: $ram"<br />
$i = 0<br />
if($disk -is [system.array]){<br />
while ($i -ne ($disk.length)) {<br />
$id = @($disk)[$i].deviceid<br />
$size = (@($disk)[$i].size / 1GB)<br />
Add-Content $file "$id $size GB"<br />
$i++<br />
}<br />
}<br />
else {<br />
$id = $disk.deviceid<br />
$size = ($disk.size / 1GB)<br />
Add-Content $file "$id $size GB"<br />
}<br />
}<br />
Add-Content $file "##############################################"<br />
}<br />
$smtpserver = “smtp.neti.ee” #Siia kirjuta oma SMTP serveri aadress<br />
$message = new-object Net.Mail.MailMessage<br />
$att = new-object Net.Mail.Attachment($file)<br />
$smtp = new-object Net.Mail.SmtpClient($smtpserver)<br />
$message.From = $from #Saatja meiliaadress<br />
$message.To.Add($to) #Saaja meiliaadress<br />
$message.Subject = “Computer Information ( $(date) )” #E-maili pealkiri<br />
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst )<br />
$message.Attachments.Add($att)<br />
$smtp.Send($message)<br />
<br />
$att.Dispose()<br />
$message.Dispose()<br />
</source><br />
<br />
==Rene Sepp==<br />
Skript, mis disableb/enableb wireless adapterit.<br />
<br />
[[User:rsepp]]<br />
<br />
==Automatiseeritud portide avamine ja sulgemine - Katrin Kukk==<br />
tulemüürist tuleks lubada: windows management instrumentarium<br />
<br />
UAC kinni või administrator account sisse<br />
<br />
sisendiks on failid:<br />
<br />
1) arvutite nimed<br />
<br />
2) portide numbrid<br />
<br />
<br />
skript töötab kujul: skript.ps1 -pcs <sisendfail> -ports <sisendfail> -action <open|close><br />
<br />
<source lang="powershell"><br />
param(<br />
$pcs,<br />
$action,<br />
$ports<br />
)<br />
#käime läbi masinate listi<br />
Get-Content $pcs | ForEach-Object {<br />
$computer = $_<br />
#iga masina kohta käime läbi portide nimekirja<br />
Get-Content $ports | ForEach-Object {<br />
$port = $_<br />
#teeme pordid lahti<br />
if(action == "open") {<br />
Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=allow protocol=TCP localport=$port} -ComputerName $computer<br />
#või paneme need kinni<br />
} elseif(action == "close") {<br />
Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=block protocol=TCP localport=$port} -ComputerName $computer<br />
#või suuname kasutajat õigesti käituma<br />
} else {<br />
Write-Host "Porte kas avatakse (open) või suletakse (close)"<br />
}<br />
<br />
}<br />
}<br />
</source><br />
<br />
==Rain Kõrgmaa==<br />
Skript kontrollib windowsi versiooni, kustutab temporary kaustast kõik (võimalikud) failid ning väljastab kasutaja kausta Logi faili.<br />
Skript eeldab, et masinasse on installeeritud Powershell 2.0.<br />
<br />
<br />
<source lang="Powershell"><br />
$ver = (Get-WmiObject Win32_OperatingSystem).Version<br />
Echo "Sinu masina versioon on:" $ver.tostring()<br />
$count = -1<br />
$Time = Get-Date<br />
<br />
if($ver.tostring().Contains("5.")) {<br />
$Dir = Get-Childitem $Env:temp -recurse<br />
$Dir | Remove-Item -force -ErrorAction silentlycontinue <br />
foreach ($_ in $Dir ){<br />
$count = $count +1<br />
$a = $Time.ToShortDateString()+" "+$Time.ToShortTimeString()+ "Kustutasin " +$_ +" faili"<br />
$a >> logi.txt}}<br />
<br />
ElseIf($ver.tostring().Contains("6.")) {<br />
$Dir = Get-Childitem $Env:temp -recurse<br />
$Dir | Remove-Item -force -ErrorAction silentlycontinue<br />
foreach ($_ in $Dir ){<br />
$count = $count +1<br />
$a = $Time.ToShortDateString()+" "+$Time.ToShortTimeString()+ " Kustutasin " +$_ + " faili"<br />
$a >> logi.txt}} <br />
<br />
Else{<br />
echo "Ei leidnud sobivat windowsi versiooni"}<br />
<br />
</source><br />
==Andres Mill==<br />
#Skript kontrollib, kas mingi rakendus töötab. Näiteks Skype. Kui töötab, siis saadab e-maili, et rakendus töötab selles arvutis.<br />
#Skript käivitab rakenduse töötamise kontrolli skripti iga 60 sekundi tagant.<br />
[[PowerShell: Andres Mill, rakenduse töötamise kontroll]]<br />
<br />
==Kalev Jõgi==<br />
Skript küsib tudengi eesnime, perekonnanime, matriklinumbrit ja parooli ning loob Active Directory kasutaja Üldkasutus -> Eco Tudengid organisatsiooniüksusesse, lisab logimisel võrguketaste jne. lisamiseks kasutatava logon.bat faili ning lisab kasutaja gruppi Tudengid<br />
<br />
<source lang="Powershell"><br />
#Autor: Kalev Jõgi<br />
#Rühm: A22<br />
#Versioon: 1.0<br />
#Kuupäev: 26.05.2011<br />
#Skript, mis teeb tudengile AD kasutaja ja lisab selle Tudengid gruppi<br />
<br />
#Loeme sisse vajalikud andmed<br />
$Firstname = Read-Host "Eesnimi"<br />
$Lastname = Read-Host "Perekonnanimi"<br />
$SCode = Read-Host "Matrikklinumber"<br />
$Password = Read-Host "Parool"<br />
<br />
$Name = $Firstname+" "+$Lastname<br />
$username = "t"+$SCode<br />
<br />
#Tekitame AD-sse kasutaja<br />
New-ADUser -Path "ou=Eco Tudengid,ou=Üldkasutus,dc=testikas,dc=local" -<br />
GivenName $Firstname -Surname $Lastname -Name $Name -SamAccountName $username<br />
-DisplayName $Name -Enabled $true -PasswordNeverExpires $true<br />
-AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) <br />
-ScriptPath "login.bat" -UserPrincipalName $username<br />
<br />
#Lisame loodud kasutaja AD-s gruppi Tudengid <br />
Add-ADGroupMember -Identity Tudengid -Members $username<br />
</source><br />
<br />
==Kristjan Väljako==<br />
<br />
Arvuti usaldusväärsuse index<br />
<br />
[[User:KValjako]]<br />
<br />
==Kristjan Vask==<br />
<br />
Active Directory/lokaalse kasutaja tegemine võttes username/pw sisendid failist<br />
<br />
[[User:Krvask]]</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=32435User:Krvask2011-05-22T08:01:42Z<p>Krvask: </p>
<hr />
<div><pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.4<br />
<br />
test=true<br />
echo "Otsin PATH muutujast katalooge mida pole olemas"<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "Kataloogi pole"<br />
test=false<br />
fi<br />
done<br />
if $test<br />
then<br />
echo "Kõik kataloogid PATH muutujas on olemas"<br />
else<br />
echo > /dev/null<br />
fi<br />
#lisame uue PATH muutuja, lisamiseks eemaldada kommentaari märgid kahelt järgmiselt realt.<br />
#echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
#source /home/$USER/.profile<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=32430User:Krvask2011-05-21T22:01:44Z<p>Krvask: </p>
<hr />
<div><pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.3<br />
<br />
echo Otsin PATH muutujast katalooge mida pole olemas<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "kataloogi pole"<br />
fi<br />
done<br />
<br />
#lisame uue PATH muutuja:<br />
echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
source /home/$USER/.profile<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=32429User:Krvask2011-05-21T22:01:39Z<p>Krvask: </p>
<hr />
<div><pre><br />
#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.3<br />
<br />
echo Otsin PATH muutujast katalooge mida pole olemas<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "kataloogi pole"<br />
fi<br />
done<br />
<br />
#lisame uue PATH muutuja:<br />
echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
source /home/$USER/.profile<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=32428User:Krvask2011-05-21T22:01:30Z<p>Krvask: </p>
<hr />
<div><pre>#<br />
#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.3<br />
<br />
echo Otsin PATH muutujast katalooge mida pole olemas<br />
#käime läbi PATH muutuja:<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "kataloogi pole"<br />
fi<br />
done<br />
<br />
#lisame uue PATH muutuja:<br />
echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
source /home/$USER/.profile<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=32427User:Krvask2011-05-21T21:49:52Z<p>Krvask: </p>
<hr />
<div><pre>#!/bin/bash<br />
#Autor: Kristjan Vask<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.2<br />
<br />
#käime läbi PATH muutuja<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "kataloogi pole"<br />
fi<br />
done<br />
<br />
#lisame uue PATH muutuja<br />
echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
source /home/$USER/.profile<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=Bash_quests&diff=32426Bash quests2011-05-21T21:48:04Z<p>Krvask: /* Quest 20 */</p>
<hr />
<div>[[Category: Skriptimiskeeled]]<br />
=Sissejuhatus=<br />
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole.<br />
Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.<br />
<br />
Kui quest valmis, siis pane link questi juurde (nagu näites)<br />
<br />
Queste tuleb pidevalt juurde.<br />
<br />
=Quest 0 - Näide=<br />
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ<br />
<br />
Lahendus: [[User:Mernits]]<br />
<br />
Quest lukus (tehtud) [[User:Mernits|Mernits]] 10:36, 10 May 2011 (EEST)<br />
<br />
=Quest 1 - Leia suured kaustad oma kodukataloogist=<br />
<br />
Probleem: Kodukaustast on vaja leida suured kataloogid ja teada, palju nendele ruumu kulub.<br />
<br />
Luua skript suuredkaustad.sh<br />
<br />
Väljasta kataloogid suuremad kõige alla kujul:<br />
<br />
20MB Allalaadimised<br />
<br />
100MB Dokumendid<br />
<br />
hint: '''du -s * | sort -nr'''<br />
<br />
<br />
Lahendus : [[User:Kakukk|Katrin Kukk]]<br />
<br />
Quest lukus ja tehtud [[User:Mernits|Mernits]] 16:27, 10 May 2011 (EEST)<br />
<br />
=Quest 2=<br />
Teha skript, mis taastab poolelijäänud tarkvarapaigalduse (apt-get baasil)<br />
<br />
Kui näiteks kasutaja tahab midagi installeerida ja talle öeldakse, et eelmine install jäi pooleli (vool läks ära või mis iganes), siis viidaks installeerimine/konfigureerimine lõpuni.<br />
<br />
Lahendus: [[User:Hvosujal]]<br />
<br />
Quest lukus (tehtud) [[User:Mernits|Mernits]] 13:37, 10 May 2011 (EEST)<br />
<br />
=Quest 3=<br />
Teha skript, mis eemaldab vanad kernelid (jätab alles kaks viimast). Tulemuseks on grub2 menüüs näha kahe viimase kerneli ridu ja vanade kernelite arvelt hoitakse kettaruumi kokku.<br />
<br />
Lahendus: [[User:otuur]]<br />
<br />
Lahendus: [[User:Metamm]] - Parandatud 16.05 14:24<br />
Rpm eemaldust kasutades ubuntu 10.10'ga saab teate "head: unrecognized option '--1'"<br />
peale seda teavitatakse, kasutajat, et skript kustutas kõik kernelid peale kahe viimase, ometi seda ei toimunud. Dpkg eemaldus toimib.<br />
Olle Tuur 13.05.2011 21:38<br />
<br />
Parandasin Olle välja toodud vea, nüüd skript kontrollib, kas kasutajal ikka on see paketihaldur olemas, millega skripi käivitab.<br />
Olle skript töötab dpkg paketihalduriga linuxites (N: Ubuntu, Debian) ilusti.<br />
Aga Fedoras, kus on kasutusel rpm paketihaldur ei saa kasutada apt-get remove kernelite eemaldamiseks<br />
Meelis Tamm 16.05.2011 14:30<br />
<br />
=Quest 4=<br />
Teha skript, mis ühendab lahti kõik kettajaod/saalealad etteantud kettalt ja kustutab partitsioonid sellelt kettalt.<br />
<br />
Skript peab kasutajat hoiatama, et eemaldatakse see ja too kettajagu.<br />
<br />
Skript annab vea, kui lahtiühendamine ei õnnestu.<br />
<br />
Skript kontrollib, kas kasutajal on piisavalt õiguseid.<br />
<br />
<br />
Käivitamine: trash.sh <kettas><br />
<br />
näiteks: trash.sh /dev/sdb<br />
<br />
Lahendus: [[User:Uluuk]]<br />
<br />
Quest lukus ja tehtud [[User:Mernits|Mernits]] 12:12, 12 May 2011 (EEST)<br />
<br />
=Quest 5=<br />
Teha shell funktsioon, mis kontrollib faili olemasolu ja sellele antud õiguseid<br />
<br />
Näiteks on fail rwxrwxrwx /var/kala.txt<br />
<br />
funktsioon välja kutsudes argumentidega /var/kala.txt 777 tagastatakse 0<br />
Teistel juhtudel:<br />
1 - faili pole<br />
2 - omanikul on valed õigused<br />
3 - grupil on valed õigused<br />
4 - teistel kasutajatel on valed õigused<br />
<br />
Lahendus: [[User:Krikko]] - parandatud<br />
<br />
Lahendus: [[User:Skangsep]] -Täiendatud. Skript peab tegema exit 0 või 1 ... echoda pole vaja<br />
<br />
=Quest 6=<br />
Teha skript save-alias, mis töötab nagu käsk alias, kuid salvestab loodud aliase .bashrc faili ja sourceb .bashrc faili.<br />
<br />
<br />
Juhtus, et sai valmis:<br />
[[User:Kkalder|Kkalder]]<br />
<br />
Quest lukus (tehtud) [[User:Mernits|Mernits]] 12:36, 10 May 2011 (EEST)<br />
<br />
=Quest 7=<br />
Looge skript mis lisab kasutaja nimetatud gruppi.<br />
<br />
Skript peab kontrollima kas grupp on juba olemas, vajadusel grupi looma.<br />
<br />
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).<br />
<br />
Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.<br />
<br />
nt. ./att-to-group.sh kasutajanimi grupinimi<br />
<br />
Lahendus: [[User:Mlehari]] <br />
<br />
Täiendused tehtud! --[[User:Mlehari|Mlehari]] 10:24, 13 May 2011 (EEST)<br />
Quest lukus [[User:Mernits|Mernits]] 19:30, 16 May 2011 (EEST)<br />
<br />
=Quest 8=<br />
Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.<br />
<br />
<br />
Näideks failidel võivad olla erinevad nimed, kuid sama sisu : <br />
<br />
fca209683890bb2a02c60535ca82f920 joujou<br />
<br />
fca209683890bb2a02c60535ca82f920 tere<br />
<br />
fca209683890bb2a02c60535ca82f920 hello<br />
<br />
fca209683890bb2a02c60535ca82f920 asd<br />
<br />
Lahendus: [[User:Vkolesni]]<br />
<br />
Quest tehtud [[User:Mernits|Mernits]] 12:19, 12 May 2011 (EEST)<br />
<br />
=Quest 9 Kasutajanime küsimine ja faili salvestamine=<br />
Teha skript, mis küsib kasutajanime ja salvestab selle tekstifaili /var/tmp/username<br />
<br />
Peale nime küsimist küsib skript kinnitust, et nimi on õige.<br />
<br />
Skript kirjutab eelneva faili üle (kui ei saa üle kirjutada, siis annab vea)<br />
<br />
Lahendus: [[User:okilk]]<br />
Quest Lukus [[User:Mernits|Mernits]] 10:31, 17 May 2011 (EEST)<br />
<br />
=Quest 10 - Keerukam - Mysql varukoopia tegemise skript (koos installiskriptiga) =<br />
<br />
NB: seda skripti võivad teha 3 inimest, kui iga inimene teeb ühe allosa.<br />
<br />
Taust: on varundusarvuti ja mysql andmebaasi arvuti. Andmebaasi arvutis töötab mysql server, mille külge otse üle võrgu ühenduda ei saa. Andmevaasist on vaja teha varukoopiaid, mida igapäevalselt kopeeritakse varundusserverisse. Varundusserver algatab kopeerimise ja autentimine käib võtmete abil.<br />
<br />
<br />
<br />
Skript koosneb kolmest osast.<br />
<br />
*Skript, mis on mysql serveris ja käivitatakse cron abil. Skript teeb mydqldump -A ... käsuga koopia /var/varukoopiad kausta ja failinimega <DATE>-mysql-<masinanimi>.sql.gz - seega sisaldab kuupäeva ja masina nime, ning pakitakse kokku.<br />
<br />
Lahendus: [[User:kjogi]]<br />
<br />
*Teine skript kopeerib andmebaasiserverist varukoopiad varundusserverisse ja kustutab andmebaasiserverist varukoopiad, mis on vanemad, kui üks kuu<br />
<br />
*Kolmas skript on installatsiooniskript. See küsib andmebaasiserveri nime/parooli ja mysql root parooli.<br />
Skript kopeerib esimese skripti andmebaasiserverisse ja seadistab sealse cron-i seda regulaarselt käivitama. Skript seadistab varundusserveri cron-i regulaarselt käivitama kopeerimise skripti.<br />
<br />
=Quest 11 - Skript paki installi kontrolliks=<br />
Teha skript, mis kontrollib, kas etteantud tarkvarapakk on installeeritud. Kui on installeeritud, siis tagastab 0 ja vastasel juhul 1.<br />
<br />
is_installed.sh <pakinimi><br />
<br />
[[User:ikrustok]]<br />
<br />
Väikest mööndustega on skript OK (Kui keel on Eesti, siis skript ei toimi. Skripti algusesse export LC_ALL=C oleks hea)<br />
<br />
Quest tehtud [[User:Mernits|Mernits]] 13:01, 12 May 2011 (EEST)<br />
<br />
=Quest 12 kasutaja/grupi olemasolu testimine=<br />
<br />
Teha skriptid is_user.sh is_group.sh mis kontrollivad, kas kasutaja või grupp eksisteerib.<br />
<br />
is_user.sh <username><br />
<br />
is_group.sh <username><br />
<br />
Skriptid tagastavad 0, kui kasutaja/grupp on olemas ja 1 kui kasutajat/gruppi pole.<br />
<br />
Lahendus : [[User:Vvinogra]]<br />
<br />
Quest tehtud [[User:Mernits|Mernits]] 12:29, 12 May 2011 (EEST)<br />
<br />
Bash skript, mis vähendab foto lahutus: [https://wiki.itcollege.ee/index.php/User:Vvinogra#Skript.2C_mis_v.C3.A4hendab_foto_lahutus Skript, mis vähendab foto lahutus]<br />
<br />
Python skript (bash quest 12 ülesanne): [[User:Vvinogra#Python_kasutaja_olemasolu_testimine_skript]]<br />
<br />
=Quest 13 - kas kasutaja kuulub gruppi?=<br />
<br />
Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.<br />
<br />
Tagastab 0, kui kuulub ja 1 kui ei kuulu.<br />
<br />
user_in_group.sh <kasutaja> <grupp><br />
<br />
Lahendus: [[User:Amill]] - lahendus OK [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)<br />
<br />
Lahendus: [[User:Skullara]] - lahendus OK - kuna leitud teisest lahendusest viga, siis lähevad punktid kirja... [[User:Mernits|Mernits]] 22:34, 12 May 2011 (EEST)<br />
<br />
Quest lukus [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)<br />
<br />
=Quest 14 IP aliase loomine ja salvestamine=<br />
<br />
Teha skript, mis loob ubuntu serverile IP aliase ja salvestab selle.<br />
<br />
<br />
add_ip.sh <IP aadress><br />
<br />
Skript teeb võrgule restardi ja kontrollib, kas IP vastab. (enne võiks pingida, et ip ei vastaks)<br />
<br />
Lahendus: [[User:trohumet]] - Siin luuakse alati alias eth0:0, samas võib see juba olemas olla ja seda tuleks kontrollida ja seejärel luua eth0:1 jne. [[User:Mernits|Mernits]] 19:32, 16 May 2011 (EEST)<br />
<br />
Parandused sisestatud 17.05.2011<br />
<br />
=Quest 15 - IP aliase kontroll =<br />
<br />
Skript kontrollib, kas Ubuntu serveris on seadistatud etteantud IP alias<br />
<br />
<br />
is_ip_alias.sh <IP aadress><br />
<br />
return 0 - alias olemas<br />
<br />
return 1 - aliast pole<br />
<br />
Lahendus: [[User:rsepp]]<br />
<br />
=Quest 16 - Osta elevant ära=<br />
Teha programm, mis käivitamisel paku kasutajale "osta elevant ära" ja ootaks kasutaja sisendit. Ükskõik mida kasutaja sisestab ütleb skript "Seda ütlevad kõik, aga osta elevant ära" ja nii lõpmatuseni.<br />
<br />
Lahendus: [[User:skullara]]<br />
<br />
Quest tehtud [[User:Mernits|Mernits]] 14:21, 12 May 2011 (EEST)<br />
<br />
=Quest 17 - Kas serveris on piisavalt mälu=<br />
Teha skript, mis kontrollib, kas servers on piisavalt operatiivmälu (näiteks mõne teenuse installi skript võiks seda teha)<br />
<br />
./ram.sh <mälu MB><br />
<br />
./ram.sh 512<br />
<br />
Väljund:<br />
exit 0 - mälu on piisavalt<br />
<br />
exit 1 - mälu pole piisavalt<br />
<br />
Lahendus : [[User:ttoppi]] | Lahendus OK, quest lukus [[User:Mernits|Mernits]] 13:17, 19 May 2011 (EEST)<br />
<br />
=Quest 18=<br />
<br />
Tuleb tekitada skript, mis suunaks kasutaja viimati kasutatud failid nende viimase muutmise kuupäeva järgi kaustadesse. <br />
<br />
<br />
Skript peab sisaldama: viite erinevat kausta.<br />
<br />
Skript peab tegema seda toimingut iga 2 päeva tagant ja teavitama kasutajat sellest, et failid on ümber jagatud.<br />
<br />
Skript peab peale failide sorteerimist ütlema mitu faili mingisse kausta tõsteti. <br />
<br />
<br />
Kaustadesse tuleb failid sorteerida järgmiselt: esimesse kausta peavad minema failid mida on viimati muudetud vähem kui 2 päeva tagasi, teisse kausta failid mis on muudetud 2-7 päeva tagasi, kolmandasse failid mis on 8-14 päeva tagasi muudetud, neljandasse kausta 15-29 päeva tagasi muudetud failid ja viiendaks 30 päeva ning vanemad failid mis on muudetud.<br />
<br />
Lahendus: [[User:Iambos]]<br />
<br />
=Quest 19=<br />
<br />
Kasutaja saab määrata mis faile otsitakse (.torrent; .avi või mkv vmt.) kogusüsteemist. Kui failid on leitud peab skript kasutajale teada andma millised on failide nime. <br />
<br />
<br />
Skript peab leidma kõik kasutaja poolt sisestatud lõpuga failid.<br />
<br />
Skript peab failid ära nummerdama ja kasutajale nende nimesid näitama.<br />
<br />
Skript peab võimaldama kasutajal valida numbritega failid mida soovib kustutada (Näiteks: 1-3, 9, 12, 19-20). Peab toimima valiku võimalus näiteks: 15-19<br />
<br />
Skript peab kontrollima kas kasutajal on õigused faile kustutada. Kui õigused puuduvad tuleb anda vea teade. <br />
<br />
Skript peab peale kasutaja poolt valitud numbreid väljastama uuesti failide nimed mis on valitud ja küsima kas valitud failid on õiged. (kui on õiged peab sisestama 0 , kui valed siis 1)<br />
<br />
Skript peab peale failide kustutamist väljastama teate, et failid on kustutatud.<br />
<br />
Lahendus: [[User:Msuursal]]<br />
<br />
=Quest 20=<br />
Teha skript, mis käib läbi PATH muutuja sisu ja leiab sealt üles kataloogid, mida pole olemas.<br />
Leitud olematud kataloogid kuvatakse kasutajale.<br />
<br />
Skript lisab uue PATH muutuja kasutaja profile faili<br />
<br />
Lahendus: [[User:krvask]]<br />
<br />
=Quest 21=<br />
Teha skript, mis lisab kataloogi PATH muutujasse (ja sinna faili, kus kasutaja oma PATH muutujat hoiab)<br />
<br />
./add_path.sh <KATALOOG><br />
<br />
Lahendus: [[User:Akannus]] Töötas Mac OS keskonnas. - See töötab siiski vaid root kasutaja alt (tavakasutaja ei kirjuta /etc/ kataloogi. Otsi, kus hoitakse tavakasutaja PATH väärtust, mida ta ise muuta saab. [[User:Mernits|Mernits]] 09:22, 17 May 2011 (EEST)<br />
<br />
=Quest 22 - kontrollib, kas lokaalne kasutaja on lukus=<br />
<br />
./user_is_locked.sh <loginname><br />
<br />
exit 0 - kasutaja on lukus<br />
<br />
exit 1 - kasutaja pole lukus<br />
<br />
exit 2 - kasutajat pole üldse<br />
<br />
<br />
[[User:skangsep]]<br />
<br />
=Quest 23=</div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=32425User:Krvask2011-05-21T21:47:03Z<p>Krvask: </p>
<hr />
<div><pre>#!/bin/bash<br />
#Autor: Kristjan Vask A21<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.2<br />
<br />
#käime läbi PATH muutuja<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "kataloogi pole"<br />
fi<br />
done<br />
<br />
#lisame uue PATH muutuja<br />
echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
source /home/$USER/.profile<br />
</pre></div>Krvaskhttps://wiki.itcollege.ee/index.php?title=User:Krvask&diff=32424User:Krvask2011-05-21T21:46:43Z<p>Krvask: Created page with '#!/bin/bash #Autor: Kristjan Vask A21 #Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole #Skript lisab ka ühe PATH muutuja kasutaja .profile fail…'</p>
<hr />
<div>#!/bin/bash<br />
#Autor: Kristjan Vask A21<br />
#Skript mis käib läbi PATH muutuja sisu ja kuvab kasutajale kataloogid mida pole<br />
#Skript lisab ka ühe PATH muutuja kasutaja .profile faili<br />
#Versioon 0.2<br />
<br />
#käime läbi PATH muutuja<br />
for i in $( echo $PATH | tr ':' '\n' ); do<br />
if [ -d $i ]<br />
then<br />
echo > /dev/null<br />
else <br />
echo $i - "kataloogi pole"<br />
fi<br />
done<br />
<br />
#lisame uue PATH muutuja<br />
echo PATH=$PATH:/data/tere >> /home/$USER/.profile<br />
source /home/$USER/.profile</div>Krvask