knowhow · knowhow, redaktsioon 1.0 siin on erinevate installatsioonide & süsteemide...
TRANSCRIPT
KnowHowRedaktsioon 1.0
16. February 2016
Võrgurakendused
1 Virtualiseerimiskeskkond 31.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Võrgukonfiguratsioon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Kontroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Hostname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Ansible 52.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 FQDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Ansible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Playbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Mail 73.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.2 Meiliserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Dovecot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.4 SquirellMail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.5 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Aliased 114.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2 Võrgukonfiguratsioon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.3 Apache konfiguratsioon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.4 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5 DNS 135.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.2 Bind9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.3 Kliendile külge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145.4 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
6 Owncloud 156.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156.2 Owncloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156.3 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156.4 PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
i
6.5 Owncloud’i andmekaust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166.6 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7 Fail2Ban 197.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.2 Fail2Ban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.3 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.4 Owncloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207.5 Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207.6 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8 Nagios 238.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238.2 Nagios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238.3 Nagiose Pluginad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248.4 NRPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248.5 Nagiose konfigureerimine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258.6 Apache konfigureerimine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258.7 Kliendi eelseadistus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268.8 Hosti lisamine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268.9 Apache ja MySQL monitoorimise lisamine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278.10 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
9 Ubuntu Unattended 299.1 Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299.2 Eelnevalt vaja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299.3 Ligipääs ISO failidele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299.4 Failimuudatused . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309.5 Preseed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309.6 ISO taasgenereerimine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319.7 Tulemus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
ii
KnowHow, Redaktsioon 1.0
Siin on erinevate installatsioonide & süsteemide seadistamise ajal/järgselt tekkinud dokumentatsioonid. EnamjaoltLinux.
Märkasid dokumentatsioonis viga? Anna sellest teada GitHubis!
Autor Rando Hinn
Võrgurakendused 1
KnowHow, Redaktsioon 1.0
2 Võrgurakendused
PEATÜKK 1
Virtualiseerimiskeskkond
1.1 Info
Võrgurakenduste dokumentatsioon on testitud & koostatud järgneval virtualiseerimiskeskkonna seadistusel.
Keskkonnas eksisteerib 2 virtuaalmasinat - klient ja server. Mõlemal masinal on 2 võrguadapterit - neist esimenepääseb internetti, ning teine on internal network adapter. Mõlemate OS on Debian 8.
1.2 Võrgukonfiguratsioon
Server
Failis /etc/network/interfaces tuleb teha täiendusi. Olemasolev allow-hotplug eth0 tuleb muutaauto eth0-iks. Vastasel juhul ei suuda masin hiljem välisvõrku ping-ida.
Lisaks tuleb faili lisada ka teine adapter.
auto eth1iface eth1 inet static
address 10.0.0.1netmask 255.255.255.0gateway 10.0.0.254
Klient
Korrata serverimasinas tehtut. NB! Kindlasti TULEB Kliendile määrata mingi muu IP aadress, nt 10.0.0.2 !!
Võrguadapterite restart mõlemas masinas /etc/init.d/networking restart
1.3 Kontroll
Server
ping-ime klienti: ping 10.0.0.2
Kui ping annab tulemuseks tagasi tulevad paketid, on seadistus korras.
Klient
ping-ime serverit: ping 10.0.0.1
Kui ping annab tulemuseks tagasi tulevad paketid, on seadistus korras.
3
KnowHow, Redaktsioon 1.0
Mõlemad
Kuna Kõigi ülesannete tarvis on internetile ligipääsu, siis peavad mõlemad masinad olema suutelised ping-ima kavälisvõrku. Jooksutada ping google.com. Kui annab tulemuseks tagasi tulevad paketid, on kõik korras.
1.4 Hostname
Serveri hostname võiks olla selline, et sellele peale vaadates saab aru, mis masinaga tegu on. Nt owncloud võiansible.
Hostname muutmine käib failist /etc/hostname, mille sisuks tulebki kirjutada soovitud hostname. Seejärel tulebmuudatus süsteemis ka rakendada: hostname -F /etc/hostname.
1.5 SSH
Virtualboxi ei saa copy-paste‘ida, ja see kaaperdab ka hiire ja klaviatuuri. Lihtsam on kasutada näiteks Putty‘t. Ligi-pääsuks tuleb serverile installida ssh server. apt-get install openssh-server. Kuna tavakasutaja õiguste-ga pole eriti midagi pihta hakata, siis tuleb lubada root-ina sisse logimine.
/etc/ssh/sshd_config failis rida 28 tuleb muuta selliseks: PermitRootLogin yes.
Seejärel on tarvis ssh server taaskäivitada: systemctl restart sshd.
Mõningate Võrgurakenduste dokumentatsioonide jaoks on tarvis ka kliendil ssh serverit (nt Ansible). Seega võikssama korrata ka kliendis.
1.6 Tulemus
Selliselt seadistatud virtualiseerimiskeskkond on aluseks siinolevate Võrgurakenduste dokumentatsioonidele.
4 Peatükk 1. Virtualiseerimiskeskkond
PEATÜKK 2
Ansible
2.1 Info
Aluseks on Virtualiseerimiskeskkond, kus serveri peale on installeeritud Ansible, millega klienti hallata. Kliendil GUIpuudub.
2.2 FQDN
Ansible server vajab lisaks veel FQDN-i. Selle loomine käib /etc/hosts failis, mille lõppu tuleb lisada alljärgnevrida:
10.0.0.1 ansible.local ansible
NB! Antud failis on OLULINE, et vahed ei oleks loodud tühikuga, vaid kasutades TAB klahvi!
Seejärel tuleb server taaskäivitada.
2.3 Ansible
Serveris
Ansible installeerimine.
apt-get updateapt-get upgradeapt-get install software-properties-common ansible
**Paroolivaba ligipääsu kliendile loomine.**
ssh-keygen -t rsa - antud käsk küsib küll palju informatsiooni, kuid sellest võib enter-iga läbi joosta - millegisisestamine vajalik ei ole. Tulemusena tekib vaikeasukohas olev paroolita fail.
Võtmete lisamine
Äsja loodud võtmed tuleb ssh agendile lisada.
ssh-agent bashssh-add ~/.ssh/id_rsa
5
KnowHow, Redaktsioon 1.0
Seejärel saab avaliku võtme kopeerida üle võrgu kliendi arvutisse: ssh-copy-id -i ~/.ssh/[email protected]
Ansible konfigureerimine
Ansible-le tuleb lisada kliendid, need lisatakse faili /etc/ansible/hosts. Antud näite puhul tuleb faili lõppulisada järgmised read.
[test]10.0.0.2
Seejärel saab Ansible konfiguratsiooni testida, ping-ides äsjaloodud test grupis olevaid IP-aadresse: ansibletest -m ping.
2.4 Playbook
Anible playbookid on oma olemuselt .yml failid, mis defineerivad Ansible jaoks tegevused ja nende järjekorrad.Siinkohal on loodud playbook-iks fail playbook.yml. Playbooki sisuks on Apache2 veebiserveri installatsioon jakäivitamine test grupile.
---- hosts: test
tasks:- name: Install apache
apt: pkg=apache2 state=installed update_cache=truenotify:
- start apache2
handlers:- name: start apache2service: name=apache2 state=started
NB! Antud failis on oluline, et kõikideks vahedeks on TÜHIKUD. Kaasaarvatud ridade algused!
Playbooki saab käivitada nii: ansible-playbook playbook.yml
2.5 Tulemus
Edukas Ansible installatsioon ja playbook peaks käivitamisel andma sellise tulemi.
6 Peatükk 2. Ansible
PEATÜKK 3
3.1 Info
Aluseks on Virtualiseerimiskeskkond, kus serveri peale on installeeritud meiliserver koos webmailiga, kuhu kliendileinstalleritud GUI-st saab browseriga ligi. Lisaks peab server olema võimaline maili saatma ka välisvõrku.
3.2 Meiliserver
Serveris
Mailname Alustuseks tuleb ära muuta süsteemi mailname. Failis /etc/mailname muuta seal olev väärtus mail-iks.
Meiliserver
Meiliserverina kasutusel postifx. Install apt-get install postfix. Installimise ajal konfguratsioonisäteteksvalida No configuration, niiviisi on hiljem võimalik konfigureerida rohkem seadeid.
Meiliserveri konf
Ümberkonfigureerimise alustamiseks dpkg-reconfigure postfix. Järgnevatel ekraanidel võiks teha sellisedvalikud, loomaks meiliserverit fun.loc.
OKInternet SiteMail Name: fun.locRoot & Postmaster recipient: randoDestinations to accept for mail: fun.loc fun.fun.loc localhost.loc localhostForce Synchronous Updates: YesLocal Networks: 127.0.0.0/8 10.0.0.0/24Use procmail: YesSize limit:Local address Extension char: +Internet protocols to use: ipv4
Meiliserveri testimine
Meili saadab esmalt välisele meilikontole.
mail [email protected]: TestLorem Ipsum dolor sit amet
7
KnowHow, Redaktsioon 1.0
.#entercc: #enter
NB! #enter tähistab ENTER klahvi füüsilist vajutamist!
Kui e-mail jõudis kohale, on süsteem õigesti konfigureeritud.
3.3 Dovecot
Serveris
Dovecot on IMAP ja POP3 server. Installimine: apt-get install dovecot-core dovecot-pop3ddovecot-imapd.
Konfigureerimine
Failis /etc/dovecot/conf.d/10-master.conf teha järgnevad muudatused.
Real 19.
port: 143
Real 40.
port: 110
Real 96 algav bracket välja kommenteerida, tulemus jääb selline.
unix_listener /var/spool/postfix/private/auth {mode = 0660user = postfixgroup = postfix
}
3.4 SquirellMail
SquirellMail on veebipõhine meiliklient
Severis
Installeerimine
apt-get install apache2a2dissite 000-defaulta2dissite default-sslapt-get install squirrelmail
Konfigureerimine
Kõigepealt default konf ümber kopeerida cp /etc/squirrelmail/apache.conf/etc/apache2/sites-available/squirrelmail.conf.
Seejärel konfiguratsiooni muuta. Ehk failis /etc/apache2/sites-available/squirrelmail.conf
Rida 1 kustutada.
Read 21-24 eemaldada kommentaarid (eest kustutada # märk), ning lisada IP aadressid.
8 Peatükk 3. Mail
KnowHow, Redaktsioon 1.0
<VirtualHost 10.0.0.1>DocumentRoot /usr/share/squirrelmailServerName 10.0.0.1
</VirtualHost>
Seejärel võib veebiserveri taaskäivitada: service apache2 restart.
3.5 Tulemus
Õigesti seadistatud süsteemi puhul peaks kliendi masinast brauseriga aadressile http://10.0.0.1 minnes olemanäha squirrelmail, ning süsteemi kasutajaga (nt. root) peaks saama ka sisse logida, ning e-maile saata nii välisvõrku,kui ka teistele UNIX-i kasutajatele, kellel on serveris konto.
3.5. Tulemus 9
KnowHow, Redaktsioon 1.0
10 Peatükk 3. Mail
PEATÜKK 4
Aliased
4.1 Info
Aluseks on Virtualiseerimiskeskkond, kus serveri peale on installeeritud Network Alias’i kasutav apache2, kliendiGUI-st saab brauseriga kahele eri IP-le minnes kahte eri lehte, mis mõlemad on ühes ja samas serveris. Antud näiteskuvab üks minu ees- ja teine perekonnanime.
4.2 Võrgukonfiguratsioon
Varasemast seadistatud võrgukonfiguratsioonile tuleb lisada võrgualias. Selleks /etc/network/interfaces fai-li lisada.
auto eth1:0iface eth1:0 inet static
address 10.0.0.3netmask 255.255.255.0gateway 10.0.0.254
Nagu järeldada võib, loob see veel ühe adapteri, IP-aadressiga 10.0.0.3, kuna 10.0.0.2 on teatavasti kliendi IP.
4.3 Apache konfiguratsioon
Serveris
VirtualHost’id saab nüüd külge ühendada nii IP-dele 10.0.0.1 kui ka :code: 10.0.0.3. Failis/etc/apache2/sites-available/000-default.conf.
<VirtualHost 10.0.0.1:80>ServerName 10.0.0.1DocumentRoot /var/www/ees
</VirtualHost><VirtualHost 10.0.0.3:80>
ServerName 10.0.0.3DocumentRoot /var/www/pere
</VirtualHost>
Nii /var/www/ees, kui /var/www/pere kaustades on vastava sisuga index.html failid.
Veebiserveri restart service apache2 restart.
11
KnowHow, Redaktsioon 1.0
4.4 Tulemus
Eeldusel, et /var/www/ees, ja /var/www/pere kaustad on veebiserverile loetavad (testimiseks kõlbab chmod777), avanevad mõlemal IP-l vastavasisulised saidid.
12 Peatükk 4. Aliased
PEATÜKK 5
DNS
5.1 Info
Aluseks on Virtualiseerimiskeskkond kuhu on seadistatud serverile bind9 DNS server. Antud DNS server on seotudkliendi külge, ning pingida on võmalik kasutades domeeninime.
NB! Klient ei ole graafiline. Graafilises keskkonnas DNS-i külge haakimine antud viisil ei pruugi tomida!
5.2 Bind9
Installerimine käib nii - apt-get install bind9.
Hosti lisamine
Faili /etc/hosts tuleb lisada eth1 adapteri IP, koos soovitud domeeninimega. Siinkohal kasutatud domeeninimejr.local. Ehk siis lisada selline rida, NB! vahekohad TAB-iga.
10.0.0.1 dns.jr.local dns
Resolv.conf
Eelnevalt vaja installida resolvconf package. apt-get install resolvconf.
Järgnevalt tuleb seadistada DNS serverile nimeserverid. Faili /etc/resolvconf/resolv.conf.d/head sissealljärgnev.
nameserver 10.0.0.1nameserver 8.8.8.8nameserver 8.8.4.4search jr.local
Siinkohal tulenevad IP-d 8.8.8.8 ja 8.8.4.4Google’i avalikest nimeserveritest. Head faili kasutatakse staatiliseksresolv.conf sätete muutmiseks - vastasel juhul resolv.cofn kirjutataks igal buudil üle.
Keelame võrgult saadava ära. Failis /etc/dhcp/dhclient.conf eemaldada request väärtuse tagantdomain-name-servers ja domain-search.
Bind9 konfigureerimine
Faili /etc/bind/named.conf.local lõppu tuleb lisada järgnevad read.
13
KnowHow, Redaktsioon 1.0
zone "jr.local" {type master;file "forward";
};
zone "10.in-addr.arpa" {type master;file "reverse";
};
Tsoonifail
Kopeerime bind9 algse tsoonifaili, et saaksime seda turvaliselt muuta.
cd /etc/bind/cp db.local /var/cache/bind/forwardcd /var/cache/bind
Teeme muudatused saadud forward failis. Tulemus võiks välja näha selline.
Kopeerime selle faili uueks failiks nimega reverse.
cp forward reverse
Reverse fail mapib IP domeeninime külge. Antud fail peaks pärast muudatusi välja nägema selline.
DNS Käima
Teeme DNS Serverile taaskäivituse, ja kui kõik on korras, peaks asi toimima /etc/init.d/bind9 restart.
Test
Käsk nslookup jr.local peaks tulemuseks tagasi andma ilusti meie IP aadressi.
5.3 Kliendile külge
Kliendile on eelnevalt vaja installida resolvconf package. apt-get install resolvconf.
Kliendi internal network adapterile tuleb faili /etc/network/interfaces lisada sellised read ja muuta gateway:
gateway 10.0.0.1dns-nameservers 10.0.0.1dns-search jr.localdns-domain jr-local
Masinale reboot.
Test
Nüüd peaks nslookup andma ka kliendist tagasi IP aadressi, ning töötama peaks ka ping jr.local.
5.4 Tulemus
Seadistatud on töötav DNS server, mis suudab kliendimasinas ära resolve-ida domeeni jr.local.
14 Peatükk 5. DNS
PEATÜKK 6
Owncloud
6.1 Info
Aluseks on Virtualiseerimiskeskkond, kus serveri peale installeerin owncloudi, ning kliendi masinale installitud GUI-ssaab veebibrauseriga owncloudile ligi.
6.2 Owncloud
Lisan Owncloud’i repository apt-get’i allikate nimekirja
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/community/Debian_8.0/ /' >> /etc/apt/sources.list.d/owncloud.list
Installin Release.key ja uuendan apt-get’i
cd /tmpwget http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_8.0/Release.keyapt-key add - < Release.keyapt-get update
Installin ownCloud’i
apt-get install owncloud
Installiprotsessi käigus määran MySQL’ile parooli mysqlpass.
6.3 MySQL
Login MySQl’i
mysql -u root -p
Loon ownCloudi jaoks andmebaasi ja kasutaja
CREATE DATABASE owncloud;CREATE USER owncloud@localhost IDENTIFIED BY 'ocpass';GRANT ALL PRIVILEGES ON owncloud.* TO owncloud@localhost;flush privileges;quit
15
KnowHow, Redaktsioon 1.0
6.4 PostgreSQL
Alternatiivne variant MySQL’ile on kasutada PostgreSQL’i.
Alustuseks tuleb ownCloud küll installeerida, kuid MySQL andmebaasi ja kasutajat mitte luua (root kasutaja paroolimääramisest siiski mööda ei pääse, aga see selleks), ning mite käivitada veel ka veebiinstallerit. Seejärel installidapostgresql ise, PHP PostgreSQL’i laiendus ning veebiserverile restart teha.
apt-get install postgresqlapt-get install php5-pgsqlservice apache2 restart
Igaks juhuks tuleks üle vaadata ka php konfifail /etc/php5/conf.d/pgsql.ini või owncloudiga kaasa tulevaapache puhul /etc/php5/apache2/conf.d/20-pgsql.ini. Fail võiks välja näha järgmine:
# configuration for PHP PostgreSQL moduleextension=pdo_pgsql.soextension=pgsql.so
[PostgresSQL]pgsql.allow_persistent = Onpgsql.auto_reset_persistent = Offpgsql.max_persistent = -1pgsql.max_links = -1pgsql.ignore_notice = 0pgsql.log_notice = 0
Loon andmebaasi ja kasutaja
psql -hlocalhost -Upostgres
või kui sedasi postgres’ile ligipääs nurjub, siis
sudo -u postgres psql postgres
ning andmebaasi ja kasutaja loomine.
CREATE USER username WITH PASSWORD 'password';CREATE DATABASE owncloud TEMPLATE template0 ENCODING 'UNICODE';ALTER DATABASE owncloud OWNER TO username;GRANT ALL PRIVILEGES ON DATABASE owncloud TO username;\q
6.5 Owncloud’i andmekaust
Loon ownCloud’ile ka üleslaetud failide hoiustamiseks andmekausta.
mkdir /var/owncloudchown www-data:www-data /var/owncloudchmod 750 /var/owncloud
Nüüd saan kliendi arvuti brauserist installatsiooni jätkata
http://10.0.0.1/owncloud
Loon admin kasutaja. Advanced Settings alt muudan ära data kausta ja valin sobiva andmebaasimootori, ningsisestan ab. andmed.
16 Peatükk 6. Owncloud
KnowHow, Redaktsioon 1.0
6.6 Tulemus
Owncloud töötab
6.6. Tulemus 17
KnowHow, Redaktsioon 1.0
18 Peatükk 6. Owncloud
PEATÜKK 7
Fail2Ban
7.1 Info
Aluseks on Owncloud, 8.2.1 kuhu serverile installin veel Fail2Ban-i. Fail2Ban ban-ib peale kolme ebaõnnestunudlogin katset kas SSH-sse, või owncloudi, IP vastavalt teenusele kümneks minutiks ära, ning saadab e-maili.
7.2 Fail2Ban
Serveris
Installin Fail2Ban-i.
apt-get install fail2ban
7.3 SSH
Konfigureerimine
Fail2Ban vaikekonfiguratsioonifaili muuta ei tohiks, seega kopeerime selle failiks, mida muuta saame: cp/etc/fail2ban/jail.conf /etc/fail2ban/jail.local.
Faili avades, võib selle täielikult tühjendada. SSH ban-i saab konfigureerida väga minimaalse jail.local failiga.
[DEFAULT]
bantime = 600findtime = 600
[ssh]
enabled = truefilter = sshdaction = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, [email protected]]logpath = /var/log/auth.logmaxretry = 3
Selliselt konfigureeritud jail.local fail ban-ib pärast kolmandat valet sisselogimiskatset SSH-ga IP aadressi 10-ksminutiks ära.
19
KnowHow, Redaktsioon 1.0
Peale konfigureerimise lõpetamist tuleb fail2ban taaskäivitada service fail2ban restart.
Kontroll
Kliendi arvutist ssh [email protected]. Mingi suvalise parooli sisestamisel 3 korda, peaks edasitimeout tulema.
Serveris saab vaadata, kas kirje ka lisati: iptables -L. Kui seal on IP näha, on kõik OK.
7.4 Owncloud
Siin läheb asi tiba keerulisemaks. Luua tuleb fail2ban filter, failina /etc/fail2ban/filter.d/owncloud.conf.Faili sisuks järgnev.
[Definition]failregex={"reqId":".*","remoteAddr":".*","app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>'\)","level":2,"time":".*"}
ignoreregex =
Jail.local faili tuleb lisada ka owncloudi jail. See võiks välja näha järgmine.
[owncloud]enabled = truefilter = owncloudport = httpmaxretry = 3logpath = /var/owncloud/owncloud.log
Peale konfigureerimise lõpetamist tuleb fail2ban taaskäivitada service fail2ban restart.
Kontrollimine
Kliendi arvutist 3 korda aadressil http://10.0.0.1/owncloud valesti sisse logides peaks leht 10-ks minutiksandma andma “Unable to connect” errorit.
7.5 Mail
Lisame siia külge ka e-mailide saatmise. jail.local failis asendame selle alguse, kuni [ssh-iptables]-ini,alljärgnevaga.
[DEFAULT]
bantime = 600findtime = 600destemail = [email protected]
banaction = iptables-multiportmta = maiprotocol = tcpaction_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]action_mw = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s]action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s]
%(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s]action = %(action_mw)s #Siin saad muuta by default actionit
20 Peatükk 7. Fail2Ban
KnowHow, Redaktsioon 1.0
Märkus: action_mw ja action_mwl vajaksid ka whois package’t. Märkus 2: action_mw ban-ib ja saadab meili, ac-tion_mwl paneb meili juurde ka logiread
E-maili, kuhu saadetakse saab muuta destemail väärtusest.
Peale konfigureerimise lõpetamist tuleb fail2ban taaskäivitada service fail2ban restart.
7.6 Tulemus
Korrektse seadistuse korral järgneval ban-il blokeeritakse nii IP- aadress, kui saadetakse ka järgneva sisuga e-mail.Ban kestab 10 minutit.
7.6. Tulemus 21
KnowHow, Redaktsioon 1.0
22 Peatükk 7. Fail2Ban
PEATÜKK 8
Nagios
8.1 Info
Aluseks on Virtualiseerimiskeskkond & Postfix-i osa Mail ist, kus serveri peale on installeeritud Nagios ning Apac-he2&php5(antud dokk installib apache ja php5 automaatselt), nagios seadistatud monitoorima mingi muu VM-i pin-gidele vastamist Antud näites seadistatud monitoorima kliendimasinat. Kui antud masin ei vasta 1 minuti jooksulpingimistele, saadetakse e-kiri. Lisaks pääseb vaid klientmasinast ligi Nagiose liidesele veebikeskkonnas.
8.2 Nagios
Kasutaja ja grupp
Luua Nagiosele kasutaja ning grupi.
useradd nagiosgroupadd nagcmdusermod -a -G nagcmd nagios
Eeldused
Kompileerime oma süsteemis uusima nagiosi. Selleks on vaja aga eelnevalt teatud pakette. Installi need.
apt-get updateapt-get install curl build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2 php5 libapache2-mod-php5 apache2-utils unzip
Nagios Core
Uusima Nagios Core saamiseks tuleks külastada Nagiosi Allalaadimislehte, ning kopeerida sealt uusima allalaadimiselingi (Antud dokumentatsiooni kirjutamise ajal 4.1.1.tar.gz).
Laadida saadud lingilt alla Nagios Core arhiivi.
cd ~curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
Arhiiv tuleb lahti pakkida, ning saadud kausta siseneda.
tar xvf nagios-*.tar.gzcd nagios-*
Nagios Core kompileerimine
23
KnowHow, Redaktsioon 1.0
Enne kompileerimise alustamist, peab selle kompileerimisprotsessi tarbeks konfigureerima, söötes konfiguratsioonileette eelnevalt loodud kasutaja ja grupi.
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Ning nüüd võib kompileerida.
make all
Kui pikk kompileerimisprotsess on lõppenud, käivitada järgnevad käsud, installimaks nagiose, selle skriptid ja näidis-konfiguratsioonifailid.
make installmake install-commandmodemake install-initmake install-config/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
Et veebiliidesest oleks võimalik nagiost käsutada, peab kasutaja www-data lisama eelnevalt loodud gruppi.
usermod -G nagcmd www-data
8.3 Nagiose Pluginad
Ka Nagiose pluginad kompileerime süsteemis. Otsida allalaadimislehelt uusim link ning sealt arhiiv alla laadida (Kir-jutamise ajal 2.1.1.tar.gz).
cd ~curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
Lahti tuleb pakkida ka see arhiiv.
tar xvf nagios-plugins-*.tar.gzcd nagios-plugins-*
Kompileerimine
Konfigureerida tuleb ka see kompileerimisprotsess.
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --with-openssl
Nüüd võib kompileerida ja installida.
makemake install
8.4 NRPE
Viimane asi, mis manuaalselt kompileerida tuleb, on NRPE. Otsida SourceForge_st uusima versiooni arhiivi link(Kirjutamise hetkel 2.15.tar.gz).
Alla laadimine ja lahtipakkimine.
cd ~curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gztar xvf nrpe-*.tar.gzcd nrpe-*
24 Peatükk 8. Nagios
KnowHow, Redaktsioon 1.0
Kompileerimine
Kompileerimisprotsessi konfigureerimine.
./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagcmd --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
Kompileerimine ja install
make allmake installmake install-xinetdmake install-daemon-config
Konfiguratsioon
Piirame esmalt ligipääsu NRPE-le nii, et ainult nagiose server saaks sellele ligi. Modifitseerida tuleb faili/etc/xinetd.d/nrpe
only_from = 127.0.0.1 10.0.0.1
Seejärel tuleb taaskäivitada ligipääsuga tegelev teenus: :code:‘ service xinetd restart‘.
8.5 Nagiose konfigureerimine
Lõpuks saab teostada esialgse nagiose konfigureerimise. Muudatus faili: /usr/local/nagios/etc/nagios.cfg.Kommentaar (#) tuleb eemaldada realt cfg_dir=/usr/local/nagios/etc/servers
Vastav kaust tuleb ka luua: mkdir /usr/local/nagios/etc/servers.
Järgnevalt tuleks konfigureerida nagiose e-maili saatmine. Failis /usr/local/nagios/etc/objects/contacts.cfgleida ja muuta e-maili väärtus.
email [email protected]
8.6 Apache konfigureerimine
Aktiveerida tuleb paar moodulit.
sudo a2enmod rewritesudo a2enmod cgi
Nagiose veebiliidesel on vaja ligipääsuks ka kasutajat & parooli. Nende loomine käib nii.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Nagiose konfiguratsioonifail tuleb link-ida apache hostitavate saitide kausta.
ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Nüüd on lõpuks võimalik käivitada nii nagios kui apache2.
service nagios startservice apache2 restart
Laseme nagiosel automaatselt käivituda koos serveriga: ln -s /etc/init.d/nagios/etc/rcS.d/S99nagios.
Veebiliidese ligipääsu piiramine
8.5. Nagiose konfigureerimine 25
KnowHow, Redaktsioon 1.0
Seda võib teha, aga ei pea. Hetkel teeme. Failis /etc/apache2/sites-available/nagios.conf tuleb tehajärgnevad muudatus.
Need read välja kommenteerida (Lisada #):
Order allow,denyAllow from all
Nendelt ridadelt kommentaar eemaldada (# ära). Allow from reale lisada oma kliendi privaatne IP.
Order deny,allowDeny from allAllow from 127.0.0.1 10.0.0.2
Antud muudatused tuleb teha failis kahes kohas!
Teenuste restart
service nagios restartservice apache2 restart
Veebiliidesele ligipääs
Nüüd peaks kliendi masinast, minnes brauseriga aadressile: http://10.0.0.1/nagios olema olemas ligipääsnagiose veebiliidesele, seda eelnevalt loodud kasutajanime ja parooliga. Vasakult Paneelilt Hosts valides, peaks nähaolema, et hetkel monitoorib nagios vaid iseennast.
8.7 Kliendi eelseadistus
Kliendiarvutis tuleb installeerida monitoorimiseks nagios plugins ja nrpe server, sedapuhku apt-get’iga.
apt-get updateapt-get install nagios-plugins nagios-nrpe-server
Lubame ligipääsu meie nagios serverilt failis /etc/nagios/nrpe.cfg Reale allowed_hosts lisada nagiosserveri IP ja reale server_address selle masina privaatne IP
allowed_hosts=127.0.0.1,10.0.0.1
NRPE server vajab siinkohal taaskäivitust: service nagios-nrpe-server restart
8.8 Hosti lisamine
Nagiose serveris tuleb luua konfifail igale masinale, mida monitoorida tahetak-se: touch /usr/local/nagios/etc/servers/HOSTI-NIMI.cfg. Näiteks touch/usr/local/nagios/etc/servers/klient.cfg.
Faili sisu on järgnev.
define host {use linux-server
host_name klientalias Kliendimasinaddress 10.0.0.2max_check_attempts 3normal_check_interval 1retry_check_interval 1
26 Peatükk 8. Nagios
KnowHow, Redaktsioon 1.0
notification_interval 1contact_groups admins
}define service {
use generic-servicehost_name klientservice_description PINGcheck_command check_ping!100.0,20%!500.0,60%
}
Monitooringu käivitamiseks service nagios restart. Veebiserveris peaks nüüd olema näha uus host.
8.9 Apache ja MySQL monitoorimise lisamine
Teen ühe Virtualiseerimiskeskkonna juurde, kuhu installin LAMP Stack-i. IP 10.0.0.3.
MySQL
MySQL jookseb vaikimisi pordil 3306, aga ip-l 127.0.0.1. Seda tuleb LAMP serveris muuta, kommenteerides failis/etc/mysql/my.cnf välja (# ette) rea bind-address = 127.0.0.1. Lisaks tuleb lubada nagios kasutajalligipääs igaltpoolt. Teen monitoorimiseks ka testandmebaasi.
mysql -u root -pCREATE USER 'nagios'@'localhost' IDENTIFIED BY 'nagios-pass';GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'localhost';CREATE USER 'nagios'@'%' IDENTIFIED BY 'nagios-pass';GRANT ALL PRIVILEGES ON *.* TO 'nagios'@'%';FLUSH PRIVILEGES;exit;
Nagios teenuste lisamine
Ei monitoori enam klienti, kirjutan klient.cfg faili üle
Serverifaili sisu võiks olla.
define host {use linux-server
host_name lambikasalias Lampaddress 10.0.0.3max_check_attempts 3normal_check_interval 1retry_check_interval 1notification_interval 1
contact_groups admins
}define service {
use generic-servicehost_name lambikasservice_description MySQL Connectivitycheck_command check_tcp!3306
contact_groups admins
}
define service {
8.9. Apache ja MySQL monitoorimise lisamine 27
KnowHow, Redaktsioon 1.0
use generic-servicehost_name lambikasservice_description Apache servercheck_command check_http
contact_groups admins
}
service nagios restart
8.10 Tulemus
Nagios töötab ja saadab e-maile seni, kuni server ise / serveris Apache või MySQL taas püsti on.
28 Peatükk 8. Nagios
PEATÜKK 9
Ubuntu Unattended
9.1 Info
Tegemist Ubuntu Unattended Installeerimise iso loomise dokumentatsiooniga. Loodud Ubuntu 14.04LTS Desktop versioonile. Ühilduvus hilisemate versioonidega ei ole garanteeritud.
9.2 Eelnevalt vaja
• Ubuntu Desktopi-ga virtuaalmasin.
• Teadmine, et siinseid käske tuleb jooksutada ilma rando@masin:~$ eesliiteta.
9.3 Ligipääs ISO failidele
Windowsis
Kasutades HowToGeek i õpetust, tuleb seadistada jagatud machine kaust.
Peale seadistamist, tuleb kopeerida VM-i seadistamiseks kasutatud iso fail loodud kausta.
Ubuntus
Ubuntus tuleb lisada esmalt kasutaja vboxsf gruppi: rando@masin:~$ sudo usermod -a -Gvboxsf rando. Seejärel masinale taaskäivitus.
Loodud jagatud kaust on Linuxis kättesaadav asukohas /media/sf_share.
ISO külgehaakimine
Iso tuleb eraldada kausta, kus sellega tööd on võimalik teha.
rando@masin:~$ mkdir iso_mountrando@masin:~$ sudo mount -o loop /media/sf_share/ubuntu-14.04.3-desktop-i386.iso iso_mountrando@masin:~$ mkdir ubuntu_filesrando@masin:~$ rsync -a iso_mount/ ubuntu_files/rando@masin:~$ sudo chmod -R 777 ubuntu_files
29
KnowHow, Redaktsioon 1.0
9.4 Failimuudatused
isolinux
Isolinux-i menüü fail tuleb sundida automaatselt käivitama loodavat unattended installiprotsessi.
rando@masin:~$ nano ubuntu_files/isolinux/txt.cfg
Terve faili sisu kustutada, ja asendada alljärgnevaga.
default autolabel automenu label ^Automatically Install Ubuntukernel /casper/vmlinuzappend file=/cdrom/preseed/ubuntu.seed initrd=/casper/initrd.lz automatic-ubiquity quiet
langlist
Ubuntu vaikimisi laeb alla sigapalju keeli. Limiteerime keele vaid inglise keele peale, kustutades failisisolinux/langlist ära kogu sisu, ning asendades selle lihtsalt en-iga.
9.5 Preseed
Viimane muudetav fail on see, mille abil Ubuntu installi eelkonfigureerida annab. Asub see asukohaspreseed/ubuntu.seed. Faili võib seal eelnevalt olevast puhastada. Alljärgnevalt on toodud sellefaili uus sisu, antud ülesande järgi. Lihtsuse huvides on fail jagatud pealkirjade kaupa.
Installer ja klaviatuur
d-i debian-installer/locale string en_USd-i console-setup/ask_detect boolean falsed-i debian-installer/language string end-i debian-installer/country string NLd-i debian-installer/locale string en_GB.UTF-8d-i console-setup/layoutcode string eed-i keyboard-configuration/layoutcode string ee
Võrk
d-i netcfg/enable boolean falsed-i netcfg/choose_interface select autod-i netcfg/get_hostname string ubuntud-i netcfg/get_domain string ubuntu.locald-i netcfg/wireless_wep stringd-i hw-detect/load_firmware boolean true
Märkus: Kui DHCP serveril on Teie süsteemile anda omapoolne hostname ja domeen, siis seda ta ka teebning sel juhul siin määratud sätted ei rakendu.
Tavakasutaja loomine
d-i passwd/user-fullname string Juuser Luuserd-i passwd/username string juuserd-i passwd/user-password luuser insecured-i passwd/user-password-again luuser insecured-i passwd/auto-login boolean trued-i user-setup/allow-password-weak boolean true
30 Peatükk 9. Ubuntu Unattended
KnowHow, Redaktsioon 1.0
Märkus: Millegipärast see ühe installatsiooni korral ei toiminud :( Märkus 2: NB! Parool tuleb ka siinsisestada kaks korda.
Kell ja Ajavööndid
d-i clock-setup/utc boolean trued-i time/zone string Europe/Tallinnd-i clock-setup/ntp boolean trued-i clock-setup/ntp-server string ntp.example.com
Märkus: Esimese ja viimase sätte muutmine võib tekitada tõsiseid anomaaliaid süsteemi töös!
Partitsioonid
d-i partman-auto/disk string /dev/sdad-i partman-auto/method string regulard-i partman-auto/choose_recipe select atomicd-i partman/confirm_write_new_label boolean trued-i partman-md/confirm boolean trued-i partman-partitioning/confirm_write_new_label boolean trued-i partman/choose_partition select finishd-i partman/confirm boolean trued-i partman/confirm_nooverwrite boolean trued-i partman/mount_style select uuid
Süsteemi install, rakenduspaketid
d-i base-installer/kernel/image string linux-image-486d-i apt-setup/services-select multiselect security, updatesd-i apt-setup/security_host string security.debian.orgtasksel tasksel/first multiselect standardpopularity-contest popularity-contest/participate boolean falsed-i finish-install/reboot_in_progress noted-i debian-installer/exit/poweroff boolean true
Märkus: Popularity Contest on Ubuntu kasutajastatistika kogumisteenus.
9.6 ISO taasgenereerimine
Alljärgnev käsk genereerib automaatse installi iso loodud jagatud kausta, failina autoinstall.iso.
rando@masin:~$ cd ubuntu_filesrando@masin:~/ubuntu_files$ mkisofs -D -r -V “$IMAGE_NAME” -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o /media/sf_share/autoinstall.iso .
9.7 Tulemus
Ülalkirjeldatud protsessiga valmib käivitatav .iso fail, mille pealt süsteemi käivitades installitakse au-tomaatselt Ubuntu Desktop OS.
9.6. ISO taasgenereerimine 31