Blog: Min mailserver (del 4) – Systemadministration

Hver gang man laver en server, der er på Internettet, så kommer der en klar forpligtigelse til at holde den opdateret.
I de forrige blogindlæg (her her og her) lavede jeg en mail-server, og i denne blog-post vil jeg skrive lidt om sikker fjernadministration, firewall mv.

Opdateringer

Jeg har beskrevet hvordan man laver en mailserver baseret på Debian Linux. Derfor bør jeg følge Debians sikkerheds-mailliste: http://lists.debian.org/debian-security-announce/ og tilsvarende holde øje med at maskinen bliver opdateret løbende.

Til at holde øje med dette er “apticron” en god hjælp. Den giver en mail i døgnet om hvilke pakker der kan/skal opdateres.

En anden god ting at installere er “logwatch” som giver en daglig mail om hvilke fejl og pakkeændringer maskinen har set det sidste døgn.

Sikker adgang fra Internet

Det er guld værd at kunne få fat i ens server hvor end man er. Til dette er der IMHO et værktøj, der kan anbefales langt foran alt andet: Secure Shell (SSH).

På serveren køres:

Man kan med stor fordel skifte port fra 22 til en port meget højere oppe f.eks. 32492. Det giver stort set ingen der prøver login via ssh pånær egne brugere.

Lav følgende rettelser

  • Fra “Port 22″ til “Port 32492″
  • Fra “PermitRootLogin yes” til “PermitRootLogin no”
  • Fra “PasswordAuthentification yes” til “PasswordAuthentification no”

Flere gode ideer kan f.eks. ses på dette link

De brugere som skal logge ind skal en gang lave et nøglepar, som giver adgang udefra via ssh:

Accepter placeringen ~/.ssh/id_dsa og giv et laangt password (det password/passphase der skal bruges ved SSH login om lidt.

Filen ~/.ssh/id_dsa er vigtig – den skal du have ud på de maskiner, hvorfra du skal kunne logge ind.
Kopier den ud via en usb-stick (eller evt. mail-serveren: “mail $USER < id_dsa”).
Filen id_dsa kan se sådanne ud

(Opgave: Hvem kan dekode passphrasen ud fra dette?)

Fra en anden Linux/UNIX maskine kan man nu logge ind på serveren “mail.version42.dk” med

Note: “pto” fordi det er den bruger jeg satte op. Dernæst “-p 31007″ fordi det var den port jeg ændrede SSH-serveren til ovenfor.
Dette kan også sættes op i ~/.ssh/config så man slipper for at skrive så meget.

Fra Windows kan man bruge f.eks. Putty til at logge ind.
Nøglefilen skal dog først konverteres som vist på dette link

Chrome/Android har også ssh-klienter, der direkte kan anvende “id_dsa” nøglefilen – søg efter “ssh” eller “secure shell” i passende app-stores.

Firewall

Der er et par muligheder for at styre en firewall på en Linux-maskine. Jeg er konvergeret mod “ufw” som er ret nem at arbejde med

De porte jeg (pt.) gerne vil have oppe er

  • 80 til web-mail
  • 25 så der kan afleveres mail til serveren
  • 31007 til SSH-serveren

Dvs. melodien er “ufw allow PORT” – og hvad der ikke er nævnt er lukket.
Dette blokerer bl.a. port “111″ som ellers var åben og tilsvarende port 143 som “dovecot IMAP”-serveren bruger.

Som altid er I velkomne til at kommentere nedenfor.

/pto

Posted in computer.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>