Instalirajte 'iRedMail' (potpuno opremljen mail server) s virtualnim domenama, web poštom, SpamAssassin & ClamAV u Linuxu


Nakon HTTP i shadow DNS servisa, pošta (SMTP, POP, IMAP i svi povezani protokoli šifrovane pošte) je jedna od najčešće korištenih usluga na Internetu, a ujedno i jedna od najrazumnijih, zbog neželjene pošte i open-relay mail servera.

Ovaj vodič će vas voditi kroz instalaciju kompletnog mail servera sa MTA, MDA i MUA softverom za nekoliko minuta na RHEL, CentOS, Scientific Linux i Debian, Ubuntu, Linux Mint sa Postfixom, virtuelnim domenima i korisnicima sa MySQL, Dovecot – podrška za POP3/POP3S, IMAP/IMAPS, Roundcube – Webmail, kao i skeniranje neželjene pošte i virusa sa SpamAssassin i ClamAV, sve instalirano pomoću jednog softverskog paketa zvanog 'iRedMail'.

Šta je iRedMail

iRedMail je rješenje otvorenog koda s punim mogućnostima poslužitelja pošte koje može uštedjeti mnogo vremena za sistemske administratore za složene konfiguracije, ima podršku za sve glavne Linux distribucije i isporučuje se sa sljedećim Linux paketima.

  1. Postfix: SMTP usluga – podrazumevani MTA.
  2. Dovecot: POP3/POP3S, IMAP/IMAPS, Managesieve usluga – podrazumevani MDA.
  3. Apache: Web server.
  4. MySQL/PostgreSQL: Čuvanje podataka aplikacije i/ili naloga pošte.
  5. OpenLDAP: Čuvanje naloga pošte.
  6. Policyd: Postfix server politike.
  7. Amavisd: Interfejs između Postfixa i SpamAssassin, ClamAV. Koristi se za skeniranje neželjene pošte i virusa.
  8. Roundcube: Webmail – podrazumevani MUA.
  9. Awstats: Apache i Postfix analizator dnevnika.
  10. Fail2ban: skenira datoteke evidencije (npr. /var/log/maillog) i zabranjuje IP adrese koje pokazuju zlonamjerne pokušaje sistema.

Zahtjevi

  1. Minimalna instalacija CentOS 6.5 – Vodič za instalaciju CentOS 6.5
  2. Važeći DNS MX zapis koji ukazuje na vaš mail server odgovoran za ime vašeg domena.

Također, ovaj vodič je dizajniran samo za potrebe testiranja i učenja i ne koristi važeće MX zapise, niti važeću DNS domensku mane, sve konfiguracije su napravljene lokalno koristeći virtuelne primaoce sa MySQL (može primati ili slati poštu samo između korisnika lokalne domene – ime lokalnog domena dato iz datoteke hosts), ali imajte na umu da, iako naš sistem ne može primati poštu sa internet domena, on zapravo može proslijediti poštu tim serverima pošte putem Postfix MTA, čak i ako se nalazite na privatnom IP adresnom prostoru , bez važećeg MX zapisa i koristeći izmišljenu domenu, pa obratite mnogo pažnje na ono što radite.

Korak 1: Početne konfiguracije i statička IP adresa

1. Nakon prvog ponovnog pokretanja, prijavite se sa svojim root računom i provjerite je li vaš sistem ažuriran i instalirajte neke korisne pakete potrebne za kasniju upotrebu.

Na RHEL/CentOS/Scientific Linux
yum update && yum upgrade
yum install nano wget bzip2
Na Debian/Ubuntu/Linux Mint
apt-get update && apt-get upgrade
apt-get install nano wget bzip2

2. Budući da ovaj okvir djeluje kao Mail Server, statička IP adresa mora biti konfigurirana na mrežnom interfejsu. Da biste dodali statičku IP adresu, otvorite i uredite svoj NIC konfiguracijski fajl koji se nalazi na /etc/sysconfig/network-scripts/ putanji i dodajte sljedeće vrijednosti.

Na RHEL/CentOS/Scientific Linux
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Koristite ovu datoteku kao predložak i zamijenite je svojim prilagođenim vrijednostima.

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:01:99:E8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="7345dd1d-f280-4b9b-a760-50208c3ef558"
NAME="eth0"
IPADDR=192.168.1.40
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

Nakon što završite s uređivanjem vašeg NIC fajla, otvorite mrežni fajl sa iste lokacije kao gore i dodajte nekvalifikovano ime hosta vašeg servera u HOSTNAME direktivi.

nano /etc/sysconfig/network-scripts/network

Na Debian/Ubuntu/Linux Mint
nano /etc/network/interfaces

Zamijenite sljedeće vrijednosti svojim postavkama.

auto eth0
iface eth0 inet static
  address 192.168.1.40
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1
  dns-search 8.8.8.8

Kada završite sa mrežnim fajlom, sada dodajte svoje ime hosta u /etc/hostname fajl.

nano /etc/hostnames

3. Zatim otvorite datoteku /etc/resolv.conf i dodajte svoje DNS IP servere širom sistema kao na slici ispod.

nano /etc/resolv.conf

Dodajte sljedeći sadržaj sa svojim omiljenim serverima imena.

search mydomain.lan
nameserver 8.8.8.8
nameserver 8.8.8.8

4. Nakon što su sve gore navedene konfiguracije zapisane u odgovarajuće fajlove, ponovo pokrenite vašu mrežnu uslugu da biste primijenili nove konfiguracije i potvrdili je pomoću naredbi ping i ifconfig.

service network restart	[On RedHat based systems]

service networking restart	[On Debian based systems]

ifconfig

5. Sada kada je vaša statička mreža potpuno operativna, uredite datoteku /etc/hosts i dodajte svoje nekvalifikovano i FQDN ime hosta kao u primjeru ispod.

nano /etc/hosts
127.0.0.1   centos.mydomain.lan centos localhost localhost.localdomain
192.168.1.40 centos.mydomain.lan centos

Da biste potvrdili problem s konfiguracijom imena hosta, pokrenite naredbe hostname i hostname –f.

hostname
hostname -f

6. Još jedan koristan paket je bash-completion (automatsko dovršavanje niza komandi pomoću [Tab] ključa) koji obezbjeđuje EPEL spremište pod RedHat-om bazirane sisteme, a zatim ažurirajte svoje izvore.

Na RHEL/CentOS/Scientific Linux
rpm –Uvh http://fedora.mirrors.romtelecom.ro/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum repolist && yum upgrade

Nakon što su vaši izvori ažurirani, instalirajte bash-completion uslužni program (odgovorite Da na sva pitanja).

yum install bash-completion

Na Debian/Ubuntu/Linux Mint

Paket bash-completion pod Debian baziranim sistemima može se lako instalirati korištenjem sljedeće naredbe.

apt-get install bash-completion

7. Posljednji korak je dodavanje korisnika sistema sa root privilegijama. Prvo dodajte korisnika i postavite njegovu lozinku.

adduser your_user
passwd your_user

Nakon što je vaš korisnik dodan, otvorite datoteku /etc/sudoers i dekomentirajte grupu %wheel, a zatim dodajte svog novokreiranog korisnika u grupu kotača.

nano /etc/sudoers

Pretražite i dekomentirajte liniju grupe kotača da izgleda ovako.

%wheel                ALL=(ALL)            ALL

Zatvorite datoteku i dodajte svog korisnika u grupu kotača izdavanjem sljedeće naredbe.

usermod -aG wheel your_user

8. Prije nego počnemo preuzimati i instalirati softver iRedMail, ponovo pokrenite sistem, a zatim se prijavite sa svojim novokreiranim korisnikom i provjerite je li sve u potpunosti funkcionalno.

Korak 2: Instalirajte iRedMail

9. Da biste preuzeli iRedMail arhivski paket morate posjetiti njegovu zvaničnu stranicu za preuzimanje ili možete koristiti wget komandu da preuzmete posljednju verziju ( 0.8.7 u vrijeme pisanja ovog članka).

wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.8.7.tar.bz2

10. Nakon što preuzimanje iRedMail arhive završi, raspakirajte je koristeći sljedeću naredbu.

tar xvjf iRedMail-0.8.7.tar.bz2

11. Zatim unesite novo ekstrahovanu putanju iRedMail direktorija, označite iRedMail.sh skriptu s izvršnim dozvolama i pokrenite je.

cd iRedMail-0.8.7
chmod +x iRedMail.sh
sudo ./iRedMail.sh

12. Nakon inicijalne provjere sistema, program počinje sa dodavanjem potrebnog spremišta, a onda vas prva prompt za navođenje pita da li želite da nastavite sa instalacijom ili prekinete. Odaberite Da za nastavak.

13. iRedMail koristi Maildir format za spremanje e-pošte na /var/vmail sistemsku putanju gdje kreira odvojene direktorije za svaku domenu koju dodate na vaš MTA server. Ako vam odgovara ovaj put, pritisnite Sljedeće da biste krenuli naprijed s konfiguracijama servera, inače navedite željenu lokaciju, a zatim Sljedeće.

14. U sljedećem koraku odaberite željenu bazu podataka za pohranjivanje imena mail domena i primalaca koji će se povezati na Postfix. Ovaj vodič se fokusira na MySQL bazu podataka, pa odaberite MySQL koristeći [Space] traku, a zatim nastavite sa Dalje i navedite jaku lozinku za MySQL root račun.

15. U sljedećem koraku dodajte naziv svoje prve virtualne domene. Ako posjedujete registrovano ime domene dodano ovdje (dodajte samo ime domene, a ne sistemski FQDN).

16. Prema zadanim postavkama iRedAdmin kreira administrativnog korisnika s punim ovlastima nad vašim serverom kojem se može pristupiti preko iRedAdmin panela ili putem Dovecot protokola (zadano Roundcube webmail sučelje ili bilo koji drugi IMAP/POP MUA softver poput SquirrelMail, Rainloop , Microsoft Outlook, Mozilla Thunderbird, Evolution, Mutt, Elm itd.).

Takođe ovaj postmaster administrativni nalog koristi sistem za prijavljivanje incidenata u vezi sa funkcijama pošte ili drugim sistemskim kvarovima ili korisnim informacijama – logwatch obično ovde šalje svoju statistiku – pa odaberite jaku lozinku i nastavite sa Dalje.

17. U sljedećem koraku odaberite vaše ostale komponente mail servera kao što je iRedAdmin službeni administrativni panel za Postfix, DKIM ključevi domene – (dodaje potpis u zaglavlje poruke procjenjujući povjerenje poruke za konačnu isporuku ili daljnje prijenose), Roundcube podrazumevani interfejs web pošte (ako planirate da koristite drugi agent za isporuku pošte preskočite Roundcube), PhpMyadmin (ako vam odgovara MySQL komandna linija, trebalo bi da preskočite instalaciju PhpMyAdmin), Awstats (korisna statistika dnevnika i analizator), Fail2ban (štiti vaš server od napadi grube sile).

18. Na sljedeću seriju pitanja, ovisno o instaliranim opcijskim komponentama, trebali biste odgovoriti sa Da. Obratite posebnu pažnju na datoteku iRedMail.tips koja se nalazi u ekstrahiranom direktoriju $HOME jer sadrži osjetljive informacije servera e-pošte kao što su korisnička imena i lozinke za serverske aplikacije, fajlovi konfiguracije servera, zadani URL i druge važne informacije.

19. Nakon završetka instalacije ponovo pokrenite svoj sistem i provjerite datoteku iRedmail.tips da vidite zadane postavke vašeg servera – trebali biste premjestiti ovu datoteku na siguran put sistema sa 600 dozvola na njemu.

20. Pristupite zadanim web aplikacijama na sljedećim URL-ovima.

  1. Roundcube Webmail – https://ime_domain ili server_IP/mail/
  2. IRedAdmin panel – https://domain_name ili server_IP/ireadmin/
  3. PhpMyadmin – https://ime_domain ili server_IP /phpmyadmin/
  4. Awstats – https://domain_name ili server_IP/awstats/awstats.pl?config=web (ili ?config=smtp)
  5. Policyd anti-spam dodatak – https://domain_name ili server_IP/cluebringer/

Korak 3: Početne konfiguracije Webmail-a

21. iRedAdmin administrativni panel nudi osnovni interfejs web pošte gdje možete dodati virtuelne domene i račune za vaš mail server sa kojima Postfix može upravljati preko MySQL backenda. Za prijavu na iRedAdmin panel usmjerite svoj pretraživač na https://domain_name/iredadmin/ ili https://server_IP/iredadmin/ URL i koristite sljedeće zadane vjerodajnice.

  1. Korisničko ime: postmaster@your_domain_name.tld
  2. Lozinka: lozinka glavnog administratora postavljena na #16 tačku

22. Za dodavanje korisnika idite na Dodaj -> Korisnika, a zatim unesite željeno korisničko ime mail adresu i lozinku. Također možete podesiti količinu prostora koji vaš korisnički poštanski sandučić može podnijeti uz Quota i također možete promovirati korisnike sa administrativnim ovlaštenjima preko iRedAdmin panela tako što ćete označiti korisnika kao globalnog administratora.

23. Čitanje korisničke e-pošte je omogućeno Roundcube web interfejsom. Za pristup idite na https://domain_name/mail ili https://server_IP/mail/ URL i dostavite vjerodajnice svog računa e-pošte u obliku [ email zaštićen].

Pristupajući zadanom administrativnom nalogu postmastera pronaći ćete dvije početne e-poruke, od kojih jedna uključuje osjetljive informacije vašeg servera. Odavde sada možete čitati e-poštu, sastavljati i slati mailove drugim korisnicima domene.

24. Za pristup serveru policyd anti-spam policy idite na https://domain_name/cluebringer ili https://server_IP/ cluebringer/ i navedite sljedeće vjerodajnice.

  1. Korisničko ime: [email zaštićen]
  2. Lozinka: lozinka administratora pošte

25. Za pregled statistike vašeg mail servera idite na https://mydomain.lan/awstats/awstats.pl/?config=smtp ili https:// mydomain.lan/awstats/awstats.pli koristite sljedeće vjerodajnice.

  1. Korisničko ime: [email zaštićen]
  2. Lozinka: lozinka administratora pošte

26. Ako želite provjeriti otvorene veze vašeg servera i stanje demona slušanja sa njihovim aferentnim utičnicama, izdajte sljedeće naredbe.

netstat -tulpn   ## numerical view
netstat -tulp    ## semantic view

27. Da biste otklonili druge probleme sa transakcijama pošte ili vidjeli kako vaš server radi uživo, možete koristiti sljedeće komande.

tailf /var/log/maillog   ## visualize mail logs in real time
mailq    		   ##  inspect mail queue
telnet    		   ## test your server protocols and security form a different location
nmap                     ## scan your server opened connections from different locations

28. Sada ste postavili kompletno okruženje za poštu, jedino što nedostaje, barem na ovoj temi, je važeće ime domene sa MX DNS zapisom za primanje pošte sa drugih internet domena, ali lokalni SMTP server može i hoće prenositi poštu na druge Internet važeće domene pa obratite posebnu pažnju kome šaljete poštu jer možete upasti u ilegalne probleme sa svojim ISP-om.

Na snimku ekrana ispod možete vidjeti da sam poslao e-poštu sa svoje lokalne nevažeće domene na jedan od mojih google.com naloga i da je e-poštu uspješno primio moj google račun.

Za razliku od drugih mrežnih servisa gdje ih instalirate i zaboravite na njih na duže vrijeme, upravljanje mail serverom je kontinuiran naporan rad zbog problema vezanih za mail servis kao što su SPAM, otvoreni relej i odbijanja poruka.

Referentne veze

iRedMail Početna stranica