Uusi postipalvelin FUUGille =========================== FUUG uudisti sähköpostipalvelunsa. Nyt mail.fuug.fi käyttää Solaris 10 -käyttöjärjestelmää ja Postfix-postinvälitysohjelmistoa. Tiedotus- ja aktiviipostituslistoja hallitaan Majordomo-ohjelmalla. Miksi Postfix? Postfixia kehutaan tietoturvalliseksi, ohjelma on jaettu pieniin osasiin ja vain postin toimitus laatikkoon toimii rootin oikeuksin. Mielestäni tärkeämpi ominaisuus on helppokäyttöisyys. Asetukset laitetaan /etc/postfix/main.cf ja /etc/postfix/master.cf tiedostoihin, main.cf tiedostossa kerrotaan yleisiä asetuksia, kuten mille verkkotunnukselle postia otetaan vastaan ja master.cf tiedostossa kerrotaan mitä daemoneja pääprosessi mihinkin porttiin käynnistää. ------------------------------------------------------------------------- | mydomain = fuug.fi | myhostname = mail.fuug.fi | mydestination = $myhostname, $mydomain,localhost.$mydomain localhost | localhost.localdomain ------------------------------------------------------------------------- Esimerkki 1. Perusasetuksia main.cf tiedostosta. Esimerkkissä 1 on sotkua. Postfixissa asetusten erottimana voidaan käyttää pilkkua ja välilyöntiä. Asetukset voi jakaa usealle riville kun rivin alusta löytyy tyhjää ainakin yhden merkin verran. Asetuksia voidaan kopioda toisista muuttujissa käyttämällä $asetuksen_nimi merkintää. Mikäli järjestelmän täydellinen nimi on asetettu oikein, on myhostname asetuksen tekeminen turhaa, ohjelma hakee sen itse. Postfissa on järkevät oletusasetuset. Omiakin asetuksia tarvitaan, ne saa esille komennolla "postconf -n". Käsky kertoo vain muutetut asetukset. Formaatti on sama kuin main.cf-tiedostossa, joten ne on helppo palauttaa sinne. --------------------------------------------------------------------------------------- | postmaster: petri, petri.koistinen@iki.fi | fuug-tiedotus: "| /opt/majordomo/wrapper resend -l fuug-tiedotus fuug-tiedotus-list" | fuug-tiedotus-list: :include:/opt/majordomo/lists/fuug-tiedotus | owner-fuug-tiedotus: root --------------------------------------------------------------------------------------- Esimerkki 2. Sendmail-tyyppisiä aliaksia /etc/aliases tiedostosta. Yhteensopivuus Sendmailin kanssa on tärkeää. Monet ohjelmat luottavat, että /usr/bin/sendmail ohjelma löytyy, Postfix korvaakin tämän omalla yhteensopivalla ohjelmalla. Näin Postfix on käyttäjälle täysin läpinäkyvä. Postfix tukee monia Sendmailin tapoja käyttää aliaksia, kuten esimerkistä 2 näkyy. Mikäli aliaksen x lisäksi on määritely alias owner-x, ohjelma ymmärtää, että kyseessä on postituslista. Tällöin listalle lähetettäessä postia, ohjelma asettaa kuoren lähettäksi , jolloin mahdolliset virheilmoitukset päätyvät listan ylläpitäjälle, eikä lähettäjälle. Roskapostin torjunta -------------------- Roskapostin torjunnan koulukuntia on monia, mutta yleensä pidetään hyvänä, että käyttäjällä on mahdollisuus päättää miten omalle osoitteelle lähetettyä postia käsitellään. Olen havainnut tehokkaaksi tavaksi torjua roskapostia, tiukentamalla postipalvelimen säätöjä. Ei hyväksytä koneita, joille ei löydy käänteisnimipalvelusta nimeä. Vaaditaan, että lähettäjä antaa toimivan osoitteen MAIL FROM:<> komennolla. Käytetään valikoituja sulkulistoja, joiden avulla voi torjua yhdeyden lähettäjän IP-osoitteen tai verkkotunnuksen perusteella. ---------------------------------------------------------------- | relay_clientcerts = dbm:/etc/postfix/relay_clientcerts | mynetworks_style = host | smtpd_recipient_restrictions = | permit_mynetworks | permit_tls_clientcerts | reject_unauth_destination | check_recipient_access dbm:/etc/postfix/access.recipient | reject_unknown_client | reject_rbl_client sbl.spamhaus.org | reject_rbl_client list.dsbl.org ---------------------------------------------------------------- Esimerkki 3. Sähköpostin vastaanoton rajoituksia main.cf-tiedostossa Esimerkissä 3 kerrotaan, että postia välitetään kolmasille osapuolille vain jos yhteys tulee omalta koneelta, oletusarvoisesti välitetään samaan aliverkkoon kuuluvien postit. Sitten tarkastellaan vastaanottajakohtaisia asetuksia. Mikäli postia ei erityisesti hyväksytä tai torjuta, tarkastetaan lähettävällä palvelimella on käänteisnimipalvelu kunnossa ja ettei sen IP-osoite lyödy sulkulistalta. ---------------------------------------------------------------------- | abuse@ reject_unauth_destination, permit | suodatus@ reject_unauth_destination, reject_unverified_sender | fuug-tiedotus-list@ REJECT This address is not in use. Check address. ---------------------------------------------------------------------- Esimerkki 4. /etc/postfix/access.recipient tiedoston sisältö. Esimerkissä 4 on vastaanottajakohtaisia asetuksia. Tärkeään rooliosoiteeseen -- joka täytyy löytyä verkkotunnukselta -- halutaan varmasti ottaa kaikki posti vastaan. Suodatin osoitteeseen lähetystä viestä halutaan varmistaa "reject_unverified_sender" komennolla, että lähettäjän sähköposti osoite toimii niin, lähettäjän sähköpostipalvelin hyväksyy osoitteen. Osoitteelle käytetään myös yleisiä torjunta asetuksia. Osoitteelle "fuug-tiedotus-list" tulevat viestit hylätään aina. Toisaalta tämä sääntö pätee vain jos posti lähetetään koneen ulkopuolelta, asetusten alussa mainittu "permit_mynetworks" hyväksyy postin joka tapauksessa, koska se tulee sallitusta IP-osoiteesta. Kaikkien osoitteiden alussa erikseen kielletään postinvälitys luvattomiin osoitteisiin, vaikka esim 3 nähdään, että se se on kielletty jo kertaalleen. Tämä siltä varalta, että joku vahingossa poistaa edeltävät rajoitukset. Salaus ja liikkuvat käyttäjät ----------------------------- Sähköpostia ei salata, vaikka sen sisältö on yksityistä. Esimerkiksi GPG:n kaltaisten päästä päähän salaavien ohjelmien käyttö voidaan kokea työlääksi. Kompromissina voidaan salata liikenne sähköpostipalvelimien välillä. Julkisen ja salaisen avaimen salakirjoitus järjestelmissä tarvitaan kolmas osapuoli, joka vahvistaa allekirjoituksella yhteyttä ottavan osapuolen julkisen avaimen aitoutta. Näin vastaanottajan ei tarvitse rakentaa luottamusta erikseen kaikkien lähettäjien kanssa, vaan osapuolet rakentavat luottamuksen kolmanen osapuolen välillä. Kolmas osapuoli yleensä haluaa palvelusta korvauksen ja sikse se jätetään usein pois ja omat julkiset avaimet allekirjoitetaan itse. Onneksi on olemassa yksi, jo melko suureksi kasvanut taho, joka tarjoaa tämän palveluksen ilmaiseksi. Tämä on CAcert. Haittana vielä tosin on, ettei heidän juurivarmennetta tule vielä kaikkien yleisten selaimien ja vaikka OpenSSL:n sertifikaattipaketin mukana. Toisaalta CAcert päihittää mielestäni jo itse allekirjoitetut sertfikaatit. Esimerkissä 3 on "permit_tls_clientcerts" ohje, jolla opastetaan postipalvelinta hyväksymään postivälitys lähettäjiltä, jotka esittävät asiakasvarmenteen, joka voidaan varmentaan kolmannen osapuolen juurivarteen avulla. Mitä tämä tarkoittaa suomeksi? Tämä tarkoittaa sitä, että sen sijaan, että sähköpostipalvelin olisi kiinnostunut mistä IP-osoitteesta yhteys tulee, ollaan kiinnostuneita siitä mitä todisteita identiteetistään palvelimella on. Näin esimerkiksi verkosta toiseen liikkuva käyttäjä voi välittää postinsa palvelimen kautta, oli oma osoite mikä hyvänsä. |------------------------------------------------------------------------ |# service type private unpriv chroot wakeup maxproc command + args |# (yes) (yes) (yes) (never) (100) |submission inet n - n - - smtpd | -o smtpd_enforce_tls=yes |------------------------------------------------------------------------ Esimerkki 5. Asetaan master.cf:ssä postipalvelin portiin 587/tcp. Varsin monet operaattorit ovat kieltäneet liikennöinin ulos verkostaan porttiin 25/tcp -- jota sähköposti käyttää -- torjuakseen kuluttajien roskalähetykset maailmalle. Siksi on parempi avata palvelimelle toinen portti mitä käytetään postin vastaanottoon omilta liikuvilta käyttäjiltä. Tähän tarkoitukseen on varattu portti 587/tcp nimeltään submission. Esimerkkissä 5 asetetaan daemon tähän porttiin. Portissa oleva palvelin hyväksyy vain yhteyksiä joissa käytetään salausta. Postituslistat -------------- FUUGilla on kaksi postituslistaa, tiedotus ja aktiivit. Voit tilata tiedotuslistan, lähettämällä viestin osoitteeseen , jonka sisältö on "subscribe tiedotus". Aktiivilistalle kaivataan myös uusia keskusteloita. Uusi toimintaideoita otetaan vastaan. Mikäli posti ei meinaa päästä perille, kannattaa virheilmoitus lähettää lakisääteiseen osoitteeseen, jotta voimme selvitellä mikä on vikana. Roskapostia torjunnan vuoksi FUUGin postipalvelin on hyvin nirso mitä viestejä se ottaa vastaan. Lisätietoja: http://www.postfix.org/ http://www.cacert.org/ http://www.iki.fi/petri.koistinen/postfix/postfix-tls-cacert.shtml Petri T. Koistinen