Mailgw.fjfi.cvut.cz
From NMS
Servery / Služby |
Přístupné komukoliv |
Omezený/individuální účet |
Služby |
backup · DHCP · DNS · doména FJFI · eduroam · fileserver · IdM · forum · gitlab · lists · moodle · indico · mailgw · K4 · mailserver · NMS · openvpn · skolniftp · ssh · videokonference · VoIP · video · VPN · wififjfi · wiki · www |
Učebny |
e-sklipek · KFE unixlab · KFE pclab · PD1 · KM 105 · KM 115 |
Ostatní |
Network · Blokované porty |
[edit] · [view] |
Contents
Základní informace
- Správce
- Petr Vokáč
- HW
- Intel(R) Pentium(R) 4 CPU 3.00GHz, 1GB RAM, 2x120GB HDD (RAID1) - 2x (Břehová+Trojanova)
- OS
- CentOS7
- Využití
- mailová brána (antivir+antispam) + SMTP AUTH server smtp.fjfi.cvut.cz, RADIUS server pro Eduroam
- Konto
- pro autentizované odesílání mailů přes smtp.fjfi.cvut.cz použijte hlavní uživatelské jméno/heslo, pro Eduroam je potřeba nadefinovat samostatné heslo
Informace pro správce
- standardní (minimální) instalace operačního systému
- standardní puppet konfigurace pro server (certifikáty, logging, monitoring, ...)
rpm -Uvh http://mirror.slu.cz/epel/7/x86_64/e/epel-release-7-5.noarch.rpm yum install puppet # use mailgw puppet client certificates from backup # of the /var/lib/puppet/ssl cat >> /etc/puppet/puppet.conf <<EOF [main] # puppet server name must be in config file, because new puppet # client doesn't support passing this information from environmet # of the startup script server = puppet.fjfi.cvut.cz # distribute custom facts and types from # the server to managed clients automatically pluginsync = true EOF # apply puppet configuration puppet agent --test --debug --waitforcert=120 # enable and start puppet daemon systemctl enable puppet systemctl start puppet
mailgw
- instalace EPEL repository
postfix
- používá se opatchovaná verze postfixu umožňující specifikovat jiný limit na velikost mailů pro lokální stroje
- zkompilovaná ze src.rpm balíčku + postfix-2.11.0-local_message_limit.patch
- aktuálně používána verze 3.0 (podpora SMTPUTF8 z RFC 6531..6533)
- konfigurace v /etc/postfix
- postfix klade důraz na zachování kompatibility konfiguračních souborů
- pokud není potřeba měnit chování mailserveru stačí zkopírovat konfigurační soubory
- z cronu jsou automaticky updatovány některé konfigurační soubory dle informací z AD
- konfigurace SASL autentizace
- nutná správná konfigurace kerbera v /etc/krb5.conf
- postfix autentizace proti kerberu v /etc/pam.d/smtp.postfix
milter pluginy
- opendkim
- instalace
yum install opendkim
- konfigurace /etc/opendkim a /etc/opendkim.{sign,verify}.conf
-
semanage port -a -t milter_port_t -p tcp 10039
-
semanage port -a -t milter_port_t -p tcp 10040
- instalace
- srs-milter
rpm -Uvh srs-milter-0.0.2-1.x86_64.rpm libspf2-1.2.10-0.el7.centos.x86_64.rpm libsrs2-1.0.18-1.x86_64.rpm
- sid-milter
rpm -Uvh sid-milter-1.0.0-0.el7.centos.x86_64.rpm
amavis
- používá se opatchovaná verze nejnovější verze
- přidává specifické hlavičky X-CTU-FNSPE s informacemi o běhu amavisu/spamassassinu
- vylepšená podpora CRM114
- několik bugfixů týkajících se LDAP
- přidáno RPM pro p0f (systemd service file, script wrapper)
- detaily ve zdrojovém balíčku amavisd-new-2.xx.xx.src.rpm
- závislost na řadě balíčků z EPEL + dalších potřebných (perl) modulů zkompilovaných z Fedora src.rpm balíčků
yum install spamassassin yum install altermime arj bzip2 cabextract clamav-server clamav-server-systemd \ freeze lrzip lzop lz4 nomarch p7zip p7zip-plugins tmpwatch unzoo yum install perl-Archive-Tar perl-Archive-Zip perl-Authen-SASL perl-BerkeleyDB \ perl-Convert-TNEF perl-Convert-UUlib perl-DBD-SQLite perl-DBI perl-Digest-SHA \ perl-Digest-SHA1 perl-Mail-DKIM perl-Mail-SPF perl-Net-DNS perl-Net-Server \ perl-NetAddr-IP perl-Socket6 perl-Time-HiRes perl-Unix-Syslog perl-Razor-Agent \ perl-LDAP # missing CentOS7+EPEL packages rpm -Uvh perl-File-LibMagic-1.00-4.el7.centos.x86_64.rpm unrar-4.0.7-1.el7.centos.x86_64.rpm # install and enable amavisd rpm -Uvh amavisd-new-2.10.1-1.el7.centos.noarch.rpm amavisd-new-p0f-2.10.1-1.el7.centos.noarch.rpm systemctl enable amavisd.service systemctl enable amavisd-p0f.service
- konfigurace /etc/amavisd/
- informace o mailech zpracovaných amavisem se ukládají do MariaDB
- nutné vytvořit příslušnou databázi
- potřebné informace v nainstalovaném README.sql-mysql
- pro zjednodušení práce s databází jsou tabulky v ppolicy databázi
ostatní
- ppolicy daemon (Python Postfix Policy Server)
- implementuje policy delegation protokol postfixu
- umožňuje psát pravidla pro zpracování mailu v pythonu
- využívá python-twisted framework a dle konfigurace závisí i na dalších python balíčcích
yum install python-twisted-core MySQL-python python-dns python-GeoIP
- instalace z připraveného RPM
rpm -Uvh ppolicy-2.7.0-0beta19.noarch.rpm
- konfigurace resp. python script řídící chování ppolicy /etc/postfix/ppolicy.conf
- před prvním startem je nutné vytvořit MySQL databázi a zpřístupnit ji uživateli z konfiguračního souboru (detaily v ppolicy.sql)
- spamassassin
- lokální pravidla v /etc/mail/spamassassin/99_zzzz_my.cf
- antivir
- KAV
rpm -Uvh klms-8.0.1-705.i386.rpm; yum install glibc.i686
- (první) konfigurace pomocí /opt/kaspersky/klms/bin/klms-setup.pl
- každoročně je nutné importovat nový licenční soubor
/opt/kaspersky/klms/bin/klms-control --licenser --install-additional-key "license".key
- clamav
yum install clamav-server-systemd clamav-update
- KAV
- mariadb
- databáze využívána amavisem, ppolicy a radius serverem
- instalace
yum install mariadb-server systemctl enable mariadb.service systemctl start mariadb.service
- konfigurace v /etc/my.cnf.d (per database innodb file, SSL connection support)
- unbound
- mailserver provádí hodně DNS dotazů a tak je rozumné provozovat cachovací DNS lokálně
- cachovací DNS server s forwardery na oficiální FJFI/ČVUT DNS servery
- instalace
yum install unbound
- konfigurace /etc/unbound/unbound.conf
radius
freeradius
- instalace
yum install freeradius freeradius-utils freeradius-ldap freeradius-mysql
- konfigurace /etc/raddb dle Eduroam návodu resp. aktuálních FJFI konfigurací
- nutné výtvořit MariaDB databázi podle /etc/raddb/mods-config/sql/main/mysql
mysql -e 'CREATE DATABASE radius' mysql radius < schema.sql mysql radius < setup.sql
- skripty pro registraci zařízení přihlášených přes Eduroam potřebují další python moduly
yum install python-ldap MySQL-python
radsecproxy
- vytvořen RPM balíček radsecproxy-1.6.6-0.el7.centos.x86_64.rpm
- konfigurace /etc/radsecproxy.conf