Difference between revisions of "Mailgw.fjfi.cvut.cz"

From NMS
Jump to: navigation, search
(ostatní)
(amavis)
Line 75: Line 75:
 
** potřebné informace v nainstalovaném README.sql-mysql
 
** potřebné informace v nainstalovaném README.sql-mysql
 
** pro zjednodušení práce s databází jsou tabulky v <tt>ppolicy</tt> databázi
 
** pro zjednodušení práce s databází jsou tabulky v <tt>ppolicy</tt> databázi
 
====milter pluginy====
 
* opendkim
 
** instalace <pre>yum install opendkim</pre>
 
** konfigurace <tt>/etc/opendkim</tt> a <tt>/etc/opendkim.{sign,verify}.conf</tt>
 
** <pre>semanage port -a -t milter_port_t -p tcp 10039</pre>
 
** <pre>semanage port -a -t milter_port_t -p tcp 10040</pre>
 
* srs-milter<pre>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</pre>
 
* sid-milter<pre>rpm -Uvh sid-milter-1.0.0-0.el7.centos.x86_64.rpm</pre>
 
  
 
===ostatní===
 
===ostatní===

Revision as of 16:48, 1 February 2015

Servery / Služby
Přístupné komukoliv
windows
srk
linux / unix
kmlinux
Omezený/individuální účet
linux / unix
bimbo · buon(KF) · km(KM) · lenochod(KJR) · linux · node(KM) · sunrise(KF) · unixlab(KFE) · vkstat(KM)
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]

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

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
  • 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