4.3. Imap

Når du har installeret Exim er det muligt at sende post og at modtage post fra maskinen. For at det også skal være muligt at hente og læse sin post fra andre maskiner i netværket, skal vi have sat maskinen op til at tillade, at man henter post over Imap- eller pop3-protokollen. For at kunne bruge disse protokoller skal pakken Imap være installeret. Den indeholder to serverprogrammer ipop3 og imap.

For RedHat 6.2 gælder herefter: Når Imap-pakken er installeret, skal der bare rettes i /etc/inetd.conf for at tillade brug af postprotokollerne, og /etc/hosts.allow og /etc/hosts.deny for at begrænse hentning til dit lokalnetværk.

I /etc/inetd.conf fjernes # i starten af linien:

#pop-3   stream  tcp     nowait  root    /usr/sbin/tcpd    ipop3d

hvis du vil bruge pop3 protokollen. Hvis du vil bruge imap protokollen fjernes # i starten af:

#imap    stream  tcp     nowait  root    /usr/sbin/tcpd    imapd

Gem /etc/inetd.conf, og åbn /etc/hosts.allow.

Filen /etc/hosts.allow bruges til at styre hvilke maskiner, der må bruge de internettjenester, der startes af inetd. For at sikre, at det kun er maskiner på lokalnetværket, der får adgang, indsættes linien:

ipop3d : localhost 195.181.xxx.xxx/255.255.255.240 195.181.35.xxx/255.255.255.248 osv. (xxx erne udskiftes med dine faktiske IP-adresser)

Skriv alle dine net adskilt af mellemrum. Hvis du bruger imap-protokollen er den tilsvarende linie:

imapd : localhost 195.181.xxx.xxx/255.255.255.240 195.181.35.xxx/255.255.255.248 osv. (xxx erne udskiftes med dine faktiske IP-adresser)

Nu har du givet dine egne maskiner ret til at bruge pop3/imap, men alle andre har stadig ret til at bruge den også. Den ret fjernes i /etc/hosts.deny. Indsæt linierne:

ipop3d : ALL
imapd : ALL

for at lukke for adgang fra alle andre maskiner end dem, der er nævnt i /etc/hosts.allow. Du kan også en gang for alle indsætte linien:

ALL : ALL

i /etc/hosts.deny og så huske at give ret til brug af de tjenester, der er nævnt i /etc/inetd.conf i /etc/hosts.allow

Til sidst er der bare tilbage at genstarte inetd, så dine ændringer træder i kraft. Åbn en term og skriv:

[root@gnuskole /root]# /etc/init.d/inet restart

Læs mere på man hosts.allow og man inetd.conf

I RedHat 7.x skal du rette i /etc/xinetd.d/ipop3 og /etc/xinetd.d/imap for at begrænse adgangen. Indsæt følgende linie i disse filer, hvis du ikke allerede har indsat only_from i /etc/xinetd.conf:

only_from = 127.0.0.1 195.181.xxx.xxx/28 195.181.35.xxx/29 osv. (xxx erne udskiftes med dine faktiske IP-adresser)

Flere net adskilles bare af mellemrum. Når only_from er til stede, nægtes adgang automatisk for alle andre.

Du vælger hvilke servere, der skal køre med en af disse to:

[root@gnuskole /root]# /sbin/chkconfig ipop3 on/off
[root@gnuskole /root]# /sbin/chkconfig imap on/off

4.3.1. Kryptering af Imap og pop3

Hvis man vil give eleverne/lærerne mulighed for at hente deres post via en normal e-mail klient hjemmefra kan man bruge SSL-kryptering, Stunnel og Imap.

I Redhat 7.x ligger Stunnel pakken på cdrommerne (Huak at se efter opdateringer). Hvis du er i tvivl om Stunnel er installeret, så kør: rpm -q stunnel Undersøg også lige, at Openssl er installeret, nu du er i gang: rpm -q openssl

Installer Stunnel, hvis den ikke er installeret, med:

[root@gnuskole /root]# rpm -Uvh stunnel-*.i386.rpm

Stunnel skal bruge et certifikat for at virke, så vi laver lige sådan et:

[root@gnuskole /root]# cd /usr/share/ssl/certs/
[root@gnuskole /certs]# openssl req -new -x509 -nodes -days 365 -out stunnel.pem -keyout stunnel.pem 
Using configuration from /usr/share/ssl/openssl.cnf
Generating a 1024 bit RSA private key
......................++++++
...................++++++
writing new private key to 'stunnel.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:DA
State or Province Name (full name) [Some-State]:Danmark
Locality Name (eg, city) []:Gnu by
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Gnu skole
Organizational Unit Name (eg, section) []:Edb-gruppen
Common Name (eg, YOUR name) []:mail.gnuskole.dk !Det er vigtigt at du her skriver det servernavn som postsystemet bruger!
Email Address []:Nørd@gnuskole.dk

Nu kan Stunnel bruges til at lave krypteret adgang til de servere, hvor det måtte være belejligt.

For at bruge det til postadgang i RedHat 6.2 skal kommandoen /usr/sbin/stunnel -d simap -r mail.gnuskole.dk:imap og/eller /usr/sbin/stunnel -d spop3 -r mail.gnuskole.dk:pop3 tilføjes til filen /etc/rc.d/rc.local, som køres i slutningen af hver boot. "simap" er navnet på den service, der laver krypteret imap på mit system. Det er desværre ikke det samme på alle systemer. Hvis det ikke virker for dig så kig i /etc/services for at finde navnet på den service, der er tilknyttet port 993:

simap       993/tcp            # IMAP over SSL

/etc/hosts.allow skal mindst indeholde tilladelse til at bruge imapd fra den maskine, stunnel er installeret på:

imapd:mail.gnuskole.dk

/etc/hosts.deny kan fint beholde:

imapd:ALL

Netscape kan bringes til at bruge krypteret imap (ikke pop3), Outlook Express kan til gengæld (i versioner over 4) bruge pop3 over ssl.

I RedHat 7.x er krypteret imap og pop3 sat op -/etc/xinetd.d/pop3s og /etc/xinetd.d/imaps- og skal bare startes med:

[root@gnuskole /root]# chkconfig programnavn on
[root@gnuskole /root]# /etc/rc.d/init.d/xinetd restart

Efter at du har lavet certifikater. Vær opmærksom på, at i RH 7.x skal hver krypteret service have sit eget certifikat, de kan laves på følgende måde:

[root@gnuskole /root]# cd /usr/share/ssl/certs/
[root@gnuskole /certs]# openssl req -new -x509 -nodes -days 365 -out imapd.pem -keyout imapd.pem 

for imaps og/eller:

[root@gnuskole /certs]# openssl req -new -x509 -nodes -days 365 -out ipop3d.pem -keyout ipop3d.pem 

for pop3s.