Linux jako server: Porovnání verzí
Smazaný obsah Přidaný obsah
m Přesun stránky z http://grumpa.eurowiki.net/DebianServer (domluveno s autorem stránky) |
m wikizace původního dokumentu.. |
||
Řádek 5:
Poslední úprava: 15.07.2006
= Upozornění - práce pokračuje =
Tento manuál není hotový. Ale je funkční. Co tu je by mělo fungovat.
Řádek 33 ⟶ 31:
co není zcela O.K. E-mailovou adresu najdete na úvodní straně.
=
==
Škola chce mít vlastní internetový a intranetový server, kde by mohlo být
úložiště dat pro žáky a učitele, e-mailové služby, webový server se stránkami
Řádek 49 ⟶ 47:
počítače - jeden na data a jeden jako brána/firewall.
==
===
V případě samostatné brány/firewallu stačí pro tento stroj jakákoliv
starší mašina osazená min. dvěma síťovými kartami, bez periférií
(klávesnice, myš, monitor...). Tento stroj je tedy volitelný.
===
Hlavní počítač, který může plnit i funkci výše zmíněného, by měl mít směrem
do lokálních podsítí síťové karty minimálně 100MBs -- úložiště dat na tomto
Řádek 65 ⟶ 63:
kde NEšetřit.
==
===
Po dlouhém přemýšlení jsem vybral Debian Linux. Mezi linuxovými distribucemi
jsem pro server nenašel konkurenci. Mimo Linux by určitě vyhovovalo jakékoliv
Řádek 73 ⟶ 71:
Pro výběr distribuce jsem vyžadoval splnění kritérií:
Má někdo lepší tip?
===
Při instalaci je lepší vybrat minimum věcí, jenom tak, aby systém fungoval a bylo možno jej
dále upravovat. Teprve pak budeme přidávat další balíčky. Kompletní seznam balíčků,
které obvykle používám je v příloze.
===
====
Jedná se o souborový server. Ten umožňuje umístit na linuxový stroj data uživatelů, kteří pracující
na stanicích s OS MS Windows. Rovněž se stará o přihlašování uživatelů do domény Windows,
o jejich práva ap.
====
Zde je použit smtp server ''Exim4'', který umožňuje přijímat poštu z Internetu a rovněž
poštu odesílat.
Řádek 104 ⟶ 102:
Příjemným rozšířením může být odvšivení mailů: Antivirus ''ClamAV'' a antispam ''SpamAssassin''.
====
Škola bude chtít provozovat stránky www ve své vlastní režii. Použit je web server
''Apache''.
====
Je potřeba hlavně pro údržbu internetových stránek školy. FTP přístup mohou využívat
i uživatelé pro přístup do svých adresářů na serveru (jako alternativa k Sambě).
''ProFTPD'' se ukázal jako dobrá volba.
====
Je potřeba pro vzdálenou správu serveru. Umožňuje se přihlásit na server jako uživatel,
aniž by člověk u něj musel sedět. Jinou volbu než ''OpenSSH'' neznám.:o) V našem řešení
je ssh použit pouze pro správu - normálním uživatelům je přihlašování odepřeno.
===
====
Server má rád, když ví, kolik je přesně hodin.
=
Tady bych stručně vyjasnil, co všechno se bude muset udělat a v jakém pořadí. Nejde jenom
o instalaci software a jeho konfiguraci. Jde také o jednání se zákazníkem a jeho dalšími
dodavateli.
==
Především se slušně představit a vysvětlit, co jim vlastně chceme nabídnout. Nezabíhat
do technických detailů, nenudit. Budou mít vlastní web a mail. To potěší. Data na serveru
Řádek 135 ⟶ 133:
MS Windows serveru, podotkněme, že srovnávají špatně:
bude systém průběžně aktualizován; přechod na novou verzi je bezbolestný.
za tři roky budou stát před otázkou, zda pořídit drahý upgrade na novou verzi MS Windows Serveru.
Zjistit současný stav.
Mají-li nakreslené schéma, bude se nám hodit.
internetového serveru (hlavně soukromá IP a schopnost vytvořit PTR záznam v DNS).
U větších sítí bude potřeba i uvnitř školy udělat router, který umožní rozdělit školu
Řádek 155 ⟶ 153:
o to více síťovek :o) O tomto řešení se v tomto elaborátu nezmiňuji.
==
Nestačí jen připojení směrem ven. Škola bude provozovat i vlastní webové stránky,
mail server a pro údržbu bude potřeba ssh server. K tomu všemu je nutná veřejná
Řádek 179 ⟶ 177:
to jste nevěděli?) a jsou v pohodě.
==
Registrátorů je poměrně hodně. Takže koho vybrat?
Mně se osvědčil pes.cz. Zná-li někdo další, ať dá vědět.
==
Teprve jako poslední bod přichází příjemné introvertní uzavření se do laboratoře
a nastavování serveru. Během této práce bude ještě určitě dobíhat komunikace
Řádek 195 ⟶ 193:
na dalších stranách.
==
Školy obvykle chtějí i nadále provozovat MS Windows. Pro práci v doménách je
ideální použít MS Windows XP Professional. Další, o něco horší varianta je
použít Windows 98. XP Home domény neumějí ani jako klient!
==
Určitě nabídneme nainstalovat Linux i na pracovní stanice vedle MS Windows (že
by někdo chtěl MS-Win úplně pryč jsem ještě neslyšel - ostatně žáci se seznámit
Řádek 212 ⟶ 210:
logů, ladění antispamu,... důvodů je dost.
=
==
Pro instalaci použijte CD Grumpa.net Server. Jedná se o originální Debian
Linux verze Stable, ale nachází se na něm jen to, co potřebujete k
Řádek 230 ⟶ 228:
nebyla. Koukněte na grumpa.net, jestli se to nezměnilo.
==
Celý instalační proces Debian Linuxu je podrobně popsán v instalačním
manuálu, který najdeme buď na CD, nebo na internetových stránkách [Debianu
Řádek 236 ⟶ 234:
popisovat, jen se podělím o pár zkušeností.
===
Při startu instalace je možné vybrat z několika režimů. Určitě si vybereme
režim ''expert''. I když se tak třeba necítíme, je to lepší - instalátor se
Řádek 251 ⟶ 249:
Takže na úvodní výzvu zadáme:
boot: expert
pro jádro 2.4, nebo
boot: expert26
pro jádro 2.6. Toto jádro se vybírá jen pro čas instalace. Jaké jádro
bude použito na produkčním systému se vybírá později při instalaci.
===
Vyberte typ PC, i když máte USB. Bude fungovat a navíc vám bude následně
nabídnuta i správná česká klávesnice (u volby USB bůhvíproč není).
===
Tady asi odmítneme automatickou konfiguraci přes DHCP a nastavíme parametry
ručně. Jená se o IP adresu (vnějšího rozhraní - vnitřní se nastaví po
Řádek 1 601 ⟶ 1 597:
}}}
Po restartu Apache by měly fungovat už i adresy s protokolem
==
Debian Linux používá jako výchozí smtp server program Exim4. Jeho možnosti jsou značné, konfigurační soubory nekonečné,... Naštěstí pro jednoduché podmínky se nabízí i poměrně jednoduché řešení.
Při instalaci (viz kapitola o instalaci serverových služeb) jsme zadali vše potřebné. Máme-li pocit, že jsme to trochu pohnojili, nebojte, o kousek dál se píše o tom, jak to nastavit dodatečně.
Otestovat funkčnost serveru musíme několika způsoby:
``` # mail [nekdo@seznam.cz]
3. Z lokální sítě.
1. Nastavíme si poštovního klienta (k tomu bude potřeba
mít hotové nastavení POP3 nebo IMAP serveru viz další kapitola)
Řádek 1 626 ⟶ 1 618:
3. Pošleme sobě mail odněkud z venku, třeba zas z toho seznamu.
Nefunguje? Zkusme se podívat do konfiguračního souboru Exim4. A také na:
===
Z nějakého záhadného důvodu má adresář ''/var/mail/'', kam se ukládá došlá pošta uživatelů špatně nastavená práva. Vlastníkem adresáře má být ''root.mail'' a práva nastavená na 775.
===Konfigurační soubor Exim4 ===
Ten není žádná sranda. Naštěstí nám situaci usnadňuje "nadstavba" použitá v Debian Linuxu, konfigurační soubor:
/etc/exim4/update-exim4.conf.conf
Jeho obsah po nainstalování bude vypadat asi takto:
dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains='nase-skola.cz'
dc_minimaldns='false'
dc_relay_nets='192.168.1.0/24:192.168.2.0/24'
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
* Other hostnames nepotřebujeme - hostname se převezme ze systému.
* Local interfaces je prázdné - naslouchá se na všch rozhraních.
* Relay-domains - jasné.
Jen zmíním: Když se sem dá *(hvězdička), tj všem, uděláte si ze svého počítače tzv. Open Relay a dostanete se na černou listinu spamerských serverů. Tak pozor.:o)
* Minimal DNS - se nastavuje když jsme za vytáčenou linkou a nemáme přímý přístup k DNS serveru. To není náš případ.
* Realy Nets - z jakých sítí si nás mohou nastavit jako smtp server (komu děláme smarthosta)
* Smarthost - kdo dělá smarthosta nám. Nepotřebujeme, jsme ''smart'' dost sami.:o)
* Ostatní direktivy si můžete nastudovat v manuálové stránce:
# man update-exim4.conf
===Neobvyklý restart serveru Exim4 ===
Po případných změnách v konfiguračním souboru restartujeme server Exim4 trochu neotřelým způsobem:
# invoke-rc.d exim4 restart
Intuitivnější varianta <code>`/etc/init.d/exim4 restart`</code> se nemá používat. Nemusely by se restartovat dceřiní démoni běžícího serveru (Dceřiný démon, to si nechám patentovat:o).
Po restartu se automaticky vygeneruje nový konfigurační soubor z námi zadaných parametrů:
/var/lib/exim4/config.autogenerated
===Pár užitečných příkazů ===
# mailq
Tento příkaz nám zobrazí obsah fronty nedoručených zpráv. Exim se snaží poštu doručovat okamžitě. Není-li fronta prázdná, znamená to obvykle nějaký problém.
# exim4 -Mvl kód-zprávy
Vypíše i důvody, proč zpráva visí ve frontě. Kód zjistíme předchozím
příkazem ''mailq''.
# exigrep [-l] vzor /var/log/exim4/main.log
Prohledává zadaný logový soubor a vypisuje řádky odopovídající vzoru.
Parametr -l říká, aby se vzor bral doslova a ne jako regulární výraz.
# eximstats /var/log/exim4/mainlog
Nabízí souhrný výpis toho, co je zaznamenáno v log souborech. Výstup je možné nechat udělat v různých formátech (txt, html, xls - MS Excel).
Ještě tu jsou grafické nástroje, které najdeme v balíčcích ''eximon4'', ''geximon'' a ''pfqueue''.
'''eximon4''' nabízí v prostředí X velmi primitivní pohled na fronty bez větší možnosti cokoliv ovlivnit.
'''geximon''' je daleko lepší, nabízí stav fronty, pohled na log soubory... Ovšem na našem serveru jsme si grafické prostředí nenainstalovali... Ale můžete si ho tam dát. Nejsem váš šéf. :o)
'''pfqueue''' oceníme v konzoli - je to obdoba geximonu napsaná pro konzoli. To si na našem serveru užijeme.
===Open Realy ===
Pokud si myslíte, že nejhorší věc, která vás v souvislosti s provozováním mail serveru může potkat je, že nefunguje, mýlíte se. Nejhorší je, když mail server funguje moc!
Od doby, kdy se spam stal strašákem Internetu, vede snaha o jeho omezení k tvrdým restrikcím vůči serverům, které jeho rozesílání umožňují. K takovým serverům patří i ty, které jsou nastavené jako ''open-relay'' - tedy umožňují, aby si je kdokoliv nastavil jako smpt server pro odesílání pošty.
Naše nastavení je z tohoto hlediska bezpečné. Jako odesílací smpt mohou náš server používat jen počítače z naší lokální sítě. Přesto stojí za to, nechat si svůj server otestovat.
Jednak si zkuste na nějakém počítači mimo vaši síť nastavit poštovního klienta tak, aby používal jako odesílací smtp server právě ten váš, a pak zkuste poslat e-mail někomu jinému (samozřejmě ne v doméně poštovního serveru, který testujeme;). Poštovní klient by měl hodit chybovou hlášku, že smtp server odmítl poštu doručit.
Další možností je využít nějakou testovací službu. Například:
* [[http://www.antispam-ufrj.pads.ufrj.br/test-relay.html]] - tady to není tak divoké. Poztivní test vás jen upozorní, ale nikam nezapíše.
* [[http://www.abuse.net/relay.html]] - i zde se jen testuje bez následků.
* [[http://spamlinks.net/prevent-secure-relay-test.htm]] - tady najdete spoustu odkazů na další možnosti jak testovat (včetně výše zmíněných).
Otestování funuje zpravidla takto: Zadáte adresu vašeho poštovního serveru a za chvíli se vám začne vypisovat seznam různých pokusů (až špinavých triků), které by na váš server případný spamer mohl zkoušet. Pokud všechny skončí neúspěchem, můžeme si pogratulovat a jít na pivo.
Pokud byste se na blacklistu ocitli, můžete se po opravě mail serveru nechat na ordb.org znovu otestovat a v případě, že je vše O.K., tak vás z blacklistu opět vyřadí.
==POP3 a IMAP server Dovecot ==
Po naistalování Dovecotu tyto služby neběží, je nutno je zpřístupnit v konfiguračním souboru:
/etc/dovecot/dovecot.conf
A upravíme direktivy:
protocols = imap imaps pop3 pop3s
imap_listen = *
Říkáme, že chceme použít imap i pop3, a to jak ve výchozím režimu (imap, pop3), tak i v šifrovaném přes ssl či tsl (imaps, pop3s).
Pak můžeme Dovecot spustit (dáme restart pro sichr, kdyby náhodou přeci jen běžel:):
# /etc/init.d/dovecot restart
Ostatní výchozí nastavení vyhovují. Tzn. že hesla se budou posílat v plaintextu, tedy nešifrovaně. Umí-li klientský mailový program komunikovat přes ssl, pak se bude moci připojit takto, šifrovaně a nešifrovaná hesla vlastně budou šifrovaná (díky ssl). V opačném případě nám budou přes síť běhat hesla nešifrovaná, což může být problém.
Dovecot ovládá i zasílání šifrovaných hesel (cram-md5, digest-md5), jenže zde může být problém s klientem (mailovacím programem), který to neovládá...
Taky je třeba vzít v úvahu fakt, že tyto ověřovací mechanismy vyžadují vlastní databázi uživatel/heslo, což by znamenalo další komplikaci při přidávání uživatelů do systému. Navíc v této databázi jsou hesla uložena nešifrovaně, takže se nám bezpečnostní problém pouze přesouvá na jiné místo.
Proto nakonec volím výchozí nastavení - zasílání nešifrovaných hesel s možností komunikace klienta se serverm přes šifrovanou vrstvu ssl.
===Dovecot a SSL ===
Dovecot si během instalace sám vygeneruje ceritfikáty, což si lze ověřit v <code>/etc/ssl</code>. Ve svém poštovním klientu tedy můžete použít místo stadnardních portů pro pop3(110) a imap(443) porty zabezpečené: pop3s(995), imaps(993).
==
Webmail přidává nad e-mailový systém uživatelské rozhraní ovládané z prostředí internetového prohlížeče. Je to to, co známe třeba ze seznam.cz.
Projekt Squirrelmail sídlí na internetových stránkách [http://squirrelmail.org/]. V Debian Linuxu má samozřejmě svůj instalační balíček. Balíčky jsou dva: squirrelmail a squirrelmail-locales.
Po nainstalování spustíme program
# squirrelmail-configure
který se ovládá pomocí jednoduchého menu. Nastavují se tu kosmetické věci, jakož i věci podstatné. Například sekce 2-server settings. Většinou ale zjistíme, že výchozí nastavení vyhovuje. Pozoruhodná je sekce 8-pluggins, kde si můžeme zapnout rozšíření, která jsou po instalaci vypnutá. Další plugginy můžeme stáhnout z domovských stránek projektu. Já třeba pro přidávání adres do adresáře nepoužívám standardně dodávaný pluggin <code>`abook-take`</code>, ale stahuji si <code>`address_add`</code>. Stažené plugginy se rozbalují do adresáře
/usr/share/squirrelmail/pluggins
Po přidání sem, se příslušný pluggin objeví i v menu programu <code>`squirrelmail-configure`</code>, takže si ho pustíme a pluggin zapneme.
Výsledky práce nastavovacího programu jsou uloženy v souboru:
/etc/suqirrelmail/config.php
ve kterém můžeme dělat úpravy i ručně. Rovněž můžeme použít jako výchozí ten, který je v příloze <code>`nastaveni`</code> tohoto návodu.
Další soubor, který nás zajímá je:
/etc/suqirrelmail/apache.conf
Ten si upravíme. V části
webmail z prohlížeče vyvolávat. Třeba:
Poslední věc, kterou musíme udělat je, říct o webmailu http serveru Apache:
ln -s /etc/squirrelmail/apache.conf \
A pak Apache restartovat. Spustíme prohlížeč internetových stránek a do adresního řádku zadáme adresu webmailu <code>`http://webmail.nase-skola.cz`</code>. Mělo by to fungovat.
=== 6.9.1. Česká kontrola pravopisu ===
Za prvé musíme mít nainstalovaný balíček ''aspell'' a český slovník pro aspell. Slovník v Debianu bohužel chybí, takže si ho musíme stáhnout z
[ftp://ftp.gnu.org/gnu/aspell/dict/cs/ ftp.gnu.org] - bereme ''aspell6-...''. A pak ho nainstalovat.
V ''squirrelmail-configure'' Je třeba zapnout plugin ''SquirrelSpell'' a pak ručně editovat soubor
/etc/squireelmail/sqspqll_config.php
a přidat do něj řádek
$SQSPELL_APP['Czech'] = '/usr/bin/aspell -d cs -a';
za uzavírací složenou závorku prvního ''if''u.
Nebo použijeme předvařený konfigurák ze sekce ''nastavení''.:o)
Ve webmailu pak objevíme v sekci "nastavení" podsekci "kontrola pravopisu", v níž vedle anglického bude i český slovník. Nastavíme ho jako výchozí a naše nové majly od teď budou bez překlepů a tak...:o)
==MailScanner - maily bez spamu a virů ==
===Instalace ===
Nainstalujeme balíčky:
MailScanner
To je program, který se o vše stará, ale sám nic neumí. Tedy praktického. Chroupe všechny e-maily došlé na náš systém a podle konfigurace je předává dalším programům ke kontrole. Typicky to jsou antivirový a antispamový program.
; ClamAV : Antivirový program pro mailové servery. Je spouštěn MailScannerem.
; ClamAV-freshclam : Důležitá součást antiviru - program, který si z Internetu stahuje aktualizace virové databáze.
; ClamAV-docs : Dokumentace se občas hodí. ;-)
; arj, unzoo, unrar, lha : Balíčky doporučované a navrhované balíčkem ClamAV. Obsluhují různé komprimované archivy.
; SpamAssassin : Spamový filtr, založení na přemýšlení a porovnávání obsahu mailu.
; Razor : Spamový filtr, který identifikuje spamy přímo díky spolupráci s internetovou databází.
=== 6.10.2. Nastavení - MailScanner ===
====MailScanner.conf ====
Otevřeme konfigurační soubor
/etc/MailScanner/MailScanner.conf
a upravíme následující řádky (uvádím jen nové hodnoty):
Cesta k adresáři s českými hláškami:
%report-dir% = /etc/MailScanner/reports/cz
Dále stručné pojmenování naší organizace. (Toto jméno se má - dle instrukcí - nastavit i v souboru <code>/etc/MailScanner/spam.assassin.prefs.conf</code>). Bude vkládáno mj. do hlaviček e-mailů:
%org-name% = Nase-Skola
Úplné pojmenování organizace. Může být i víceřádkové. Odřádkování se naznačí pomocí ''\n''.
%org-long-name% = Naše Škola v Bolívii \n Za Bogottou 35 \n Paranaa
Stránky školy, nebo lépe, stránka s vysvětlivkou, proč byl mail odmítnut ap.:
%web-site% = www.nase-skola.cz/mailscanner/vysvetlivky.html
V sekci kontroly virů musí být nastaveno:
Virus Scanning = yes
Virus
Tento řádek nastavuje hlavičku, která se přidá do mailu, a která říká, jakého skóre mail dosáhnul z hlediska zda je či není spamem:
Spam Score Header = X-%org-name%-MailScanner-SpamScore:
A tento říká, jak bude skóre označeno. V tomto případě to bude tolik písmenek ''s'', kolik dostal mail "spamových bodů".
Spam Score Character = s
Kdybychom chtěli místo "syčení" skutečně číslo, nastavíme tohle na ''yes'':
SpamScore Number Instead Of Stars = no
Tato pravidla užijeme v poštovním programu k filtrování spamu. V nastaveních našeho oblíbeného poštovního klienta si najdeme "filtry" a přidáme podmínku, říkající, že když hlavička ''X-Nase-Skola-MailScanner-SpamScore:'' obsahuje "''ssssss''" (tedy minimálně šest bodů), přesuň jí do složky, kterou si na spamy vytvoříme. Nedoporučuji spam automaticky mazat. Může se stát, že se do spamu dostane i něco zdravého a pak budete litovat.:o)
Tím jsme s konfiguračním souborem hotovi.
====
Aby MailScanner spolupracoval s e-mailovým serverem je potřeba ho do procesu
zpracování e-mailů zapojit. Návod (originál) je zde:
file:///usr/share/doc/mailscanner/README.exim4
A zde je jeho překlad:
Řádek 2 001 ⟶ 1 884:
Změníme práva pro uživatele exim4:
# chown -R Debian-exim:Debian-exim /var/spool/MailScanner
# chown -R Debian-exim:Debian-exim /var/
# chown -R Debian-exim:Debian-exim /var/
# chown -R Debian-exim:Debian-exim /var/
Vytvoříme spoolový adresář pro příchozí frontu (ten první řádek je dobrá finta, co? taky jste to neznali?:o)
#
#
# chmod -R 750 /var/spool/exim4_incoming
Pokud jste si nakonfigurovali Exim4 s parametrem <code>`Split Exim Spool = yes`</code>, což v našem řešení není, tak koukněnte do originál návodu, je tam pár věcí navíc.
Vytvoříme logovací adresář pro příchozí frontu:
# mkdir -p /var/log/exim4_incoming
#
#
Upravíme soubor
/etc/logrotate.d/exim4-base
tak aby rotovaly logy v obou frontách. Já to vyřešil tak, že jsem ho zkopíroval do ''exim4-base-mailscanner'' a v něm jsem upravil cestu k logům z exim4 na exim4_incomming.
Upravíme soubor
/etc/default/exim4
takto:
Následující řádky přidáme na záčátek souboru
/etc/exim4/exim4.conf.template
.ifdef OUTGOING
SPOOLDIR = /var/spool/exim4
.else
queue_only = true
queue_only_override = false
SPOOLDIR = /var/spool/exim4_incoming
log_file_path = /var/log/exim4_incoming/%slog
.endif
Zmíněné řádky jsou uvedeny v
/usr/share/doc/mailscanner/examples/01_mailscanner_config
Pokud bychom měli dělenou konfiguraci (což nemáme), pak bychom místo předchozího přidávání řádků do exim4.conf.template zkopírovali tento soubor (''01_mailscanner_config'') do /etc/exim4/conf.d/main/.
Spustíme aktualizaci konfiguračních souborů Exim4 a restartujeme ho (obě akce udělá tento příkaz):
invoke-rc.d exim4 restart
Upravíme
/etc/cron.daily/exim4-base
tak, aby byl volán exim_tidydb na oba spool adresáře (tj i na nový exim4_incomming).
Upravíme
/etc/default/mailscanner
a odkomentářujeme řádek:
run_mailscanner=1
čímž docílíme toho, že od nyní se bude MailScanner automaticky při startu počítače spouštět.
Dále nastavíme v
/etc/MailScanner/MailScanner.conf
Sendmail = /usr/sbin/exim4 -DOUTGOING
Nyní závěrečná třešínka na dortu:
/etc/init.d/mailscanner start
a už to frčí!
===
V našem řešení je antivirus spouštěn MailScannerem. Výchozí konfigurace antivirového programu bude nejspíš vyhovovat. Chcete-li se tím trochu víc zabývat, například proto, že chcete spouštět ClamAV bez MailScanneru, hledejte v dokumentaci.
V našem řešení je SpamAssassin spouštěn prostřednictvím MailScanneru. Pokud bychom chtěli systém pouze se spamovým filtrem (bez AntiViru), pak by byl MailScanner zbytečný. V tom případě by stačilo provozovat samotný SpamAssassin. To ale není předmětem této dokumentace.
Dokumentace ke Spamassassinu je mj:
/usr/share/doc/spamassassin/
perldoc sa-learn
perldoc
Soubory s nastavením hledejme zde:
<code>/etc/MailScanner/spam.assassin.prefs.conf</code> - Tohle je místo, kde měnit konfiguraci pro SpamAssassin v případě, že používáme MailScanner. Tento konfigurační soubor přebíjí všechny konfigurace SpamAssassinu (zpracovává se jako poslední). Vlastní konfiguráky SpamAssassinu tedy můžeme ignorovat. Jsou to tyto:
* <code>/usr/share/spamassassin/</code> - výchozí nastavení (neměnit!)
* <code>/etc/spamassassin/</code> - naše výchozí nastavení pro všechny uživatele
* <code>~/.spamassassin/</code> - soubory uživatele - některé přidává spamassassin sám.
* <code>~/.spamassassin/user_prefs</code> - osobní nastavení uživatelů (spamd ignoruje!)
==FTP server ==
Slouží k přenášení souborů mezi serverem a počítačem u kterého právě sedíme. Určitě ho využije webmaster pro úpravu internetových stránek - umožní mu to spojit se s kořenovým adresářem stránek odkudkoliv z lokální sítě i z Internetu. Samozřejmě může použít i Sambu - tedy na lokální síti.
K dispozici ho budou mít ale všichni uživatelé. Jen nesmíme zapomenout, že ve výchozím nastavení serveru mohou uživatelé procházet celým souborovým systémem, což se nám nelíbí, takže to musíme nastavit tak, aby uživatelé byli "zamčeni" ve svém domovském adresáři a ven z něj se nedostali.
Použil jsem ftp server ProFTPD. Při instalaci musíte rozhodnout, jestli má běžet v režimu ''standalone'', nebo ''inetd''. Vybereme ''inetd'', protože není důvod, aby permanentně strašil v paměti. Server po nainstalování hned pracuje. Provedeme jen drobnou úpravu v jeho konfiguračním souboru:
/etc/proftpd.conf
Hlavně přidáme direktivu
DefaultRoot ~
ta zajistí, že uživateli se po přihlášení bude jeho domovský adresář jevit jako kořenový
(je tam tzv. chrootnutej). Nedostane se tedy do kořenového adresáře systému a nemůže tak šmejdit tam kde ho nechceme (třeba v /etc).
Ostatní výchozí nastavení vyhovují, včetně zablokovaného anonymního přístupu.
Pokud jde o uživatele ''webmaster'', při jeho vytváření jsme mu zadali jako domovský adresář <code>`/var/www/nase-stranky`</code>, ale o tom píšu v kapitole o Apache web serveru.
==
Neboli SecureShell (SSH) slouží ke vzdálenému přihlašování. Nainstalujeme ho proto, abychom se mohli k serveru přihlásit odkudkoliv z Internetu a spravovat ho, jako bychom u něj seděli. Na jednu stranu to zní lákavě, na druhou nebezpečně. Takže jak být opatrný.
Po nainstalování OpenSSH (je nainstalován standardně, nemusíme o to prosit) si otevřeme konfigurační soubor:
/etc/ssh/sshd_config
a přidáme tam direktivu:
AllowUsers jenomja
Kde <code>`jenomja`</code> je uživatelské jméno, které si zřídíme právě jen pro toto přihlašování. Dáme mu pekleně kvalitní heslo. Z jakéhokoliv počítače se tedy přihlásíme na náš server jedině takto:
# ssh jenomja@nase-skola.cz
Pak jsme požádáni o zadání hesla (toho pekleně kvalitního:) a jsme na serveru. Zbývá jen se přepnout pod superuživatelský účet:
$ su -
zadat heslo (ještě pekelnější). A už administrujeme.
Není dobré nechat jako možnost přihlásit se rovnou jako ''root''. Většina útoků silou na náš server bude vedena snahou přihlásit se jako ''root''. To si časem při studiu systémových logů všimnete. Taky uvidíte, že tu bývají při podobných snahách náhodně generovaná uživatelská jména z rodu těch "normálních" (John, Peter...) takže pro tohoto přihlašovacího uživatele zvolte něco méně tradičního (třeba ''winhacker'':o)
Pokud se budete chtít na server přihlásit a nebudete mít k dispozici linuxový (nebo jiný unixový) systém, ale jen MS Windows, nainstalujte si tam program PuTTY, který je náhradou ssh pro win-mašiny. Stáhnout si ho můžete třeba [http://www.chiark.greenend.org.uk/~sgtatham/putty/ odsud].
==
Služba ''nis'' slouží ke zjednodušení údržby některých systémových souborů, které máme v síti na všech strojích stejné. Typicky to jsou ''hosts'', ''passwd'', ''group'', ''shadow'', ''ethers'',... NIS umožňuje udržovat tyto soubory na jediném počítači - nis serveru - a ostatní počítače, klienti, si o ně serveru říkají. Bohužel to nejde udělat s libovolnými soubory.
Seznam možností je v manuálové stránce ''nsswitch.conf'' (5).
Balíček ''nis'' obsahuje serverovou i klientskou část. Při instalaci se ptá na jméno domény nis. To si můžeme vymyslet libovolné - na serveru a stanicích ho pak ale musíme zadat pochopitelně všude stejné.
Po nainstalování se automaticky spustí klientská část. Je dobré jí nechat běžet i na serverové stanici, i když na serveru asi budeme číst sdílené soubory přímo a ne přes nis. Běžící klient na serverové stanici nám ale může pomoci při hledání problémů.
=== Na serveru ===
Po nainstalování balíčku nis:
127.0.0.1 localhost.localdomain localhost
Adrese 127.0.0.1 nesmí být přiřazeno jméno hostitele. Mohlo by to působit selhání některých operací (v dokumentaci to není blíže zdůvodněno).
* <code>/etc/ypserv.securenets</code> - přidáme sem číslo naší lokální sítě. Například:
255.255.255.0 192.168.1.0
V Debian Sarge tu je řádek
0.0.0.0 0.0.0.0
který umožňuje připojení komukoliv, tak ten zakomentářujeme.
* editujeme <code>/var/yp/Makefile</code> - tam najdeme řádek <code>all:</code> za kterým následuje seznam systémových souborů, které chceme prostřednictvím služby nis sdílet. Já jsem odsud vyndal názvy souborů ''rpc'', ''services'' a ''protocols'', protože mám na serveru Debian stable a na stanicích verzi testing a nejsem si jistý, zda by se tyto soubory nemohly lišit. Navíc do těchto souborů stejně nehrabu. Naopak jsem odkometářoval: ''ethers'' a ''networks'' (pokud tyto soubory v <code>/etc/</code> na serveru neexistují, je potřeba je vytvořit aspoň prázdné).
Taky je možné přidat soubor aliases (ten navíc vyžaduje odkomentářovat řádek ALIASES o cca 25 řádků výše). Zatím jsem to ale nevyužil. Vlastně nejde. Pohled do manuálové stránky k nsswitch.conf říká, že to není dosud implementováno.
A ještě si povšimneme, že soubor shadow se přidává sám o pár řádků pod ''all:'' níže.
* zadáme příkaz
# /usr/lib/yp/ypinit -m
kterým inicializujeme server jako master server. Bude se nás to ptát na jména všech dalších nis serverů v doméně. Máme-li jen ten jeden, ukončíme zadávání CTRL+D a správnost potvrdíme <code>"y"</code>. Pak sledujeme, jak se generují tabulky jednotlivých sdílených souborů (passwd, group,...).
* restartovat:
# /etc/init.d/nis restart
Sledujeme, které služby startují (ypserv, ypbind, yppasswd).
To by mělo stačit. Další možnosti viz. originální dokumentace.
====
Kdykoliv v budoucnu něco změníme ve sdílených souborech (přidáme počítač do <code>/etc/hosts</code>, přidáme/odstraníme uživatele ze systému,...) musíme aktualizovat tabulky služby nis takto:
# cd /var/yp
# make
a restartovat nis:
# /etc/init.d/nis restart
(asi by stačilo i reload místo restart) (možná není restart vůbec nutný..?).
'''Poznámka:''' Příkaz ''adduser'' se v Debianu se snaží chovat inteligentně, takže při přidávání uživatele provede aktualizaci tabulek nis automaticky. To uvidíte. Jenže pak výše zmíněnou aktualizaci (<code>make</code> v <code>/var/yp</code>) spusťte raději ještě jednou ručně. Po ''adduser'' to nebylo zcela košer.
===
====Úprava /etc/nsswitch.conf ====
Nejdříve upravíme {{{/etc/nsswitch.conf}}}. Tady si ujasnime, co má stanice brát z vlastních souborů a co z nis serveru. Navrhuji toto:
networks: files nis
protocols: db files
services: db files
ethers: nis db files
rpc: db files
netgroup: nis
To zajistí, že při přihlašování budou nejdříve kontrolovány lokální soubory na stanici a teprve potom služba nis. Toto pořadí je důležité, aby se mohl přihlásit root, když není přístupná síť (obrácené pořadí {{{nis compat}}} by ten problém působilo).
Poznámka: Místo ''compat'' - by tu mohlo být i ''files'', stejně compat pravidla asi nevyužijeme.
Jména a adresy počítačů (''hosts'') a sítí (''networks'') se budou nejdřív hledat v souborech na stanici a po neúspěchu bude oslovena služba nis. U ''hosts'' navíc ještě pak DNS.
Protocols, services a rpc, jak jsem se už zmínil, do nis netahám z důvodu odlišných verzí Debian Linuxu na stanicích a na serveru.
Seznam ethernetových karet s převodem na IP adresy (''ethers'') se ale udržuje ručně, takže tady je nis v pořádku.
Soubor ''netgroup'' je čistě záležitostí služby ''nis'' - bez ní by tento soubor stejně neměl smysl (např, když ''nis'' nefunguje), takže je tu jen to nis - vždy se vyžádá verze ze serveru.
====
Nainstalujeme balík nis na všech klietnským počítačích. Při instalaci budeme požádáni o zadání jména domény pro službu nis. Zadáme stejné, jako jsme zadali při instalaci serveru.
Po nainstalování vše běží - tj. výchozí nastavení stanice zcela vyhovuje.
Můžeme upravit
je v malé síti naprosto vyhovující.
====
K tomu máme pár prima příkazů, které si můžeme zkusit z klientské stanice:
Seznam všech tabulek poskytovaných službou ''nis'' najdete na serveru v adresáři <code>/var/yp/doména</code> (místo doména dosaďte sktuečné jméno vaší domény).
= Užitečné soubory =
Hledejte zde: http://grumpa.net/works/soubory/server/
* '''grumpa.net-sarge-extras''' - zde jsou balíčky, které najdete na CD Grumpa.net server navíc oproti těm základním. Jelikož na CD zbývá ještě poměrně dost místa, je tu prostor pro vaše návrhy, co ještě na CD přihodit. Pište mi!
* '''nastaveni''' - v tomto adresáři jsou konfigurační soubory, které jsou upravené pro potřeby našeho serveru. Obsahují tedy ta nastavení, o kterých se píše v tomto pojednání. Použijte je po zralé úvaze - v žádném případě je slepě nepřekopírujte!
= Changelog - změny v dokumentaci =
Řádek 2 407 ⟶ 2 187:
2005-10-19
Opraveno několik překlepů a upraveno pořadí kapitol tak, aby lépe vystihovalo, co se při instalaci odehrává.
2005-10-07
Řádek 2 414 ⟶ 2 193:
2005-10-06 NOVÉ - nastavení
Udělal jsem nový adresář na webu Grumpa.net a na CD, kam budu dávat odzkoušené konfigurační soubory.
2005-10-06 MailScanner
Přidán návod na zprovoznění MailScanneru pod Exim4. Návod přeložen z originálu v <code>/usr/share/doc/mailscanner/README.exim4</code>
=
Je toho ještě dost k doladění. Ale dá se říct, že v tuto chvíli je tento návod použitelný pro každého, kdo není úplný začátečník. A o to mi šlo.
I zde chci poprosit o vaše připomínky a zkušenosti, jakož i o návrhy, co se dá dělat jinak a v čem by se tedy mohl změnit i tento návod.
Apache - web server
Tam trochu kecám při nastavování SSL. Takhle by to fungovalo všechno přes https a nic přes http.
Dále chci vyřešit návrat k použití 000-default a vše nastavovat jen v přidaných konf. souborech pro jednotlivé weby.
|