Debian szerver általános biztonsági beállításai (Squeeze)

Innen: AdminWiki

Ez a fejezet egy Debian Squeeze szervergép nyilvános elérésűvé tételéhez minimálisan szükséges beállításokkal foglalkozik. Feltételezzük, hogy a szerver saját csomagszűrő tűzfallal már rendelkezik.

Általános szigorítások, beállítások

Az alábbi beállítások jó része a Securing Debian Manual illetve a közismert Zákány-dolgozat alapján készült.

Automatikus FSCK javítás rendszerindításkor

Esetleges áramszünet utáni újrainduláskor szükséges, hogy a szerver emberkéz érintése nélkül el tudjon indulni. Ehhez egyrészt a BIOS-ban (általában a power management-nél) be kell állítani, hogy ha áramot kap, akkor automatikusan kapcsoljon be (vagy Wake on LAN - TODO!), valamint hogy POST hibák esetén ne várjon billentyűleütésre; másrészt a Debiannak meg kell mondani, hogy fsck esetén javítson automatikusan:

-rw-r--r-- root root /etc/default/rcS

[...]
FSCKFIX=yes
[...]

Megjegyzés: ez a beállítás nagy (TB nagyságrendű) diszkek esetén drasztikusan (több, mint egy órára) megnyújthatja a rendszerindulást, ha a Debian úgy ítéli, hogy fsck szükséges!

Kernel paraméterek

Célszerű esetleges kernel pánik esetén az automatikus reboot kérése, néhány szabálytalan hálózati forgalom is letiltható illetve logoltatható. Hasznos lehet az alapértelmezésben 5 napos established connection tracking time lecsökkentése 0,5 napra (paranoid beállítás esetén 10 percre), viszont jelentős kimenő UDP forgalom (pl. tömeges DNS lekérdezés mail szervernél) esetén az UDP connection tracking time megnövelése. Hibás routerek mögött lehet jelentősége a window scaling beállításának (ehhez a syncookie-kat ki kell kapcsolni).

Mindezeket egy, az alapértelmezett kernel paramétereket felülbíráló állományban lehet előírni:

-r-------- root root /etc/sysctl.d/local.conf

# Uncomment the next line to enable TCP/IP SYN cookies
# This disables TCP Window Scaling (http://lkml.org/lkml/2008/2/5/167),
# and is not recommended.
net.ipv4.tcp_syncookies=1

# Log Martian Packets
net.ipv4.conf.all.log_martians = 1

###################################################################
# Extra settings 

# Reboot within 1 minute on kernel panic
kernel.panic = 60

# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1

# Ignore ICMP broadcasts
net.ipv4.icmp_echo_ignore_broadcasts = 1

# reduce TCP conntrack time
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 43200
# paranoid restriction
# net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 600

# Window scaling modifications (conflicts with syncookies!)
# http://blog.lostentry.org/2008/04/tcp-window-scaling-linux-and-broken.html
# http://www.cl.cam.ac.uk/~pes20/Netsem/linuxnet.pdf
# Defaults:
#net.ipv4.tcp_wmem=4096 16384 4153344
#net.ipv4.tcp_rmem=4096 87380 174760
# Modifications:
#net.ipv4.tcp_wmem=4096 16384 131072
#net.ipv4.tcp_rmem=4096 87380 174760

A beállított paraméterek reboot után lépnének érvénybe.

A su szigorítása

A root jogosultság távolról történő megszerzését az admin group tagjaira érdemes korlátozni. Ehhez először az admin és a root felhasználót explicit be kell tenni az admin group-ba (a default group tagság nem elég!):

adduser admin admin
adduser root admin

utána fel kell venni a korlátozó szabályt:

-rw-r--r-- root root /etc/pam.d/su

[...]
auth required pam_wheel.so group=admin
[...]

Így az admin group tagjain (praktikusan az admin felhasználón) kívül más nem tud su-zni, konzolról azonban közvetlenül megszerezhető a root jogosultság.

Megjegyzés: a root-ot azért érdemes felvenni az admin group-ba, mert az olyan scriptek, amelyek su-t tartalmaznak, a korlátozás után root-ként indítva sem futnak le. A konfiguráció megváltoztatása után még azelőtt teszteljünk, mielőtt root-ként kijelentkeznénk, különben marad a konzol...

Az alapértelmezett umask szigorítása

A Debian alapértelmezett umask-ja 022 (vagyis az újonnan létrehozott file-ok 644-es [rwxr--r--] jogokkal jönnek létre), ami túl engedékeny (640-et szeretnénk). Az umask system-wide beállításához a /etc/login.defs-ben módosítsuk az UMASK értékét:

-rw-r--r-- root root /etc/login.defs

[...]
UMASK 027
[...]

BUG: jelen leírás készítésekor a testing állapotú Squeeze-ben ez a beállítás nem látszik érvényesülni, így a korábbi módszerrel manuálisan is fel kell venni a pam_umask meghívását a /etc/pam.d/common-session állomány legvégén:

-rw-r--r-- root root /etc/pam.d/common-session

[...]
session optional        pam_umask.so debug umask=027

és érvényesítéséhez reboot-olni kell (amit korábban nem kellett, reméljuük, ez csak egy bug).

Ez a beállítás valamennyi (ezután bejelentkező, shell, system, stb.) felhasználóra érvényes lesz (a root-ra is - korábban kivétel volt), ezért speciálisan a root login shelljénél hagyjuk meg a megszokott 022-t:

-rw-r----- root root /root/.profile

[...]
umask 022
[...]

Így ha a virtuális root konzolt a su - paranccsal indítjuk vagy valódi konzolon root-ként jelentkezünk be (de csak ekkor!) az umask értéke 022 lesz.

Figyelem: ezt ne toljuk el! - root-ként a 027-es umask pl. azt eredményezheti, hogy szerencsétlen esetben egy apt-get install után a /var-ra nem lesz semmilyen other's jog. Ezért most, egy reboot után gondosan ellenőrizzük a su - előtti és utáni umask értéket és a továbbiakban sose hagyjuk el a - jelet ennél a parancsnál!

File jogosultságok szigorítása

Az alábbi script lefuttatásával megszüntetjük a worldwide olvasható home könyvtárakat, másolatot készítünk a master boot record-ról, és megszigorítjuk néhány fontos könyvtár és file elérhetőségét. Célszerű ezt a scriptet futtatási jog nélkül (pl. chmod 600) a /root/install/security.sh állományba tenni, és indirekt lefuttatni:

mkdir /root/install/
touch /root/install/security.sh
chmod 600 /root/install/security.sh
mcedit /root/install/security.sh
[...]
/bin/bash /root/install/security.sh
#!/bin/sh
# Checklist to set up some security settings.
# From Linux Security Quick Reference Guide - http://www.LinuxSecurity.com

BOOTDEV=/dev/sda        # Modify, if you boot from another device

chmod -R o-rwx /root    # Hide root's home dir
chmod -R o-rwx /home/*  # Hide user's home dirs

# Save MBR to file - keep a backup on floppy disk or CD!
dd if=$BOOTDEV of=/root/mbr.`hostname`.`date +%Y%m%d` bs=512 count=1

# Permissions for critical system files
chmod 751 /var/log              # Logfile directory
chmod 640 /var/log/messages     # System messages
chmod 750 /etc/syslog-ng        # Syslog (ng) daemon config files
chmod 640 /etc/logrotate.conf   # Controls rotating of system log files
chmod 750 /etc/logrotate.d      # Controls rotating of system log files
chmod 600 /etc/crontab          # System-wide crontab
chmod 600 /etc/ftpusers         # List of users that cannot(!) FTP
chmod 600 /etc/inetd.conf       # Internet Superserver config file
chmod 600 /boot/grub/menu.lst   # Boot loader config file
chmod 600 /boot/grub/menu.lst~  # Boot loader config file
chmod 600 /etc/securetty        # TTY interfaces that allow root logins
chmod 400 /etc/shutdown.allow   # Users permitted to CTRL-ALT-DEL
chmod 700 /etc/security         # System access security policy files
chmod 750 /etc/init.d           # Program start-up files
chmod 400 /etc/cron.allow       # List of users permitted to use cron
chmod 400 /etc/cron.deny        # List of users denied access to cron
chmod 750 /etc/ssh              # Secure shell config files
chmod 400 /etc/sysctl.conf      # Contains kernel tunable options

Megjegyzés: Nem biztos, hogy minden, a scriptben hivatkozott file létezik, ez indokolja az esetleges hibaüzeneteket.

Megjegyzés: Erre a scriptre ráférne egy frissítés! - TODO!

Partíciók csatolásának szigorítása

A partíciókat úgy csatoljuk fel, hogy csak a / (esetleg még a /srv vagy /srv/chroot) partíció legyen írható és futtatható egyszerre. Célszerű a telepítő által létrehozott /etc/fstab file-t két példányban lemásolni:

cp /etc/fstab /etc/fstab.secure
cp /etc/fstab /etc/fstab.unsecure

és az alábbi táblázat szerint kitölteni (a táblázat forrása a Zákány-dolgozatban található):

partíció fstab.secure fstab.unsecure
root acl,defaults,errors=remount-ro acl,defaults,errors=remount-ro
srv/chroot acl,defaults acl,defaults
boot ro,nosuid,noexec,nodev,acl,defaults acl,defaults
tmp nosuid,noexec,nodev,acl,defaults acl,defaults
usr ro,nodev,acl,defaults acl,defaults
var nosuid,noexec,nodev,user_xattr,acl,defaults user_xattr,acl,defaults
var/www nosuid,noexec,nodev,user_xattr,acl,defaults user_xattr,acl,defaults

Megjegyzés: a táblázat szerinti beállításokkal engedélyezzük a Posix ACL-ek és a /var jellegű partíciókon a kiterjesztett fájlattribútumok használatát is.

Ezt követően, a mindenkori fstab felülírása után, egy partícióra vonatkozóan a biztonságos és az engedékeny konfiguráció között a

mount -o remount /XXX

paranccsal válthatunk.

Ahhoz, hogy biztonságos konfigurációban is lehessen csomagot telepíteni, illetve rendszert frissíteni, hozzunk létre egy bejegyzést az apt.conf.d könyvtárban (ügyeljünk arra, hogy a shell scripttől eltérően a megjegyzés jele a //):

mcedit /etc/apt/apt.conf.d/10security
-rw-r--r-- root root /etc/apt/apt.conf.d/10security

// Lehetove teszi az apt hasznalatat szigoruan csatolt particiok eseten.
// garancsi.attila@mimoza.hu 2005-04-07

DPkg::Pre-Invoke {
        "/bin/mount -o remount,rw /boot";
        "/bin/mount -o remount,exec,suid /tmp";
        "/bin/mount -o remount,rw /usr";
        "/bin/mount -o remount,exec /var";
};

DPkg::Post-Invoke {
        "/bin/mount -o remount /boot";
        "/bin/mount -o remount /tmp";
        "/bin/mount -o remount /usr";
        "/bin/mount -o remount /var";
};

Ezután az apt használatához már nem kell remountolni (de a szimpla dpkg-hoz - pl. kernel frissítés - vagy tarball-ból telepítéshez igen!)

Felesleges szolgáltatások leállítása

Szolgáltatások letiltásáról általában

Egy szolgáltatás automatikus elindulását a következők egyikével lehetséges (szokás) megakadályozni (a "Debian-barátságosság" sorrendjében):

  • a /etc/default alatt a vonatkozó konfigurációs állomány megszerkesztése;
  • a /etc/rc${runlevel}.d/ alól a vonatkozó (nem "S") linkek kiszedése;
  • a /etc/init.d/SERVICENAME átnevezése, átszerkesztése (pl. elejére exit 0) vagy a futtatási jog elvétele.

A konfigurációs állomány megszerkesztése általában semmilyen problémát nem okoz, upgrade esetén sem. Az eredetit érdemes helyben lemásolni .bak kiterjesztéssel.

Ha az adott szolgáltatásnak nincs konfigurációs állománya, vagy abban nincs a szolgáltatás letiltására lehetőség, akkor a runlevel linkek korlátozása jön szóba. Mivel az update-rc.d bugos (és nem is lesz javítva, lásd itt), használjuk a sysv-rc-conf csomagot:

apt-get install sysv-rc-conf # Függőségként hozza magával a curses könyvtárakat
sysv-rc-conf -p

ami egy egyszerű karaktergrafikus interface-t ad a linkek menedzselésére (kézi kiszedés esetén az upgrade visszarakhatja a linkeket).

A harmadik lehetőség (a /etc/init.d alatti scriptek módosítása) durva hacknek tekintendő, ha lehet, ne használjuk.

Publikus TCP/IP szolgáltatások feltérképezése

A nyitott portokról és az azokon figyelő szolgáltatásokról az alábbi parancsok adnak közelítő tájékoztatást:

netstat -tanu | egrep '(LISTEN)|(ESTAB)' | less
lsof -i | grep 'LISTEN' | less

Át kell nézni a kapott adatokat, és a szolgáltatásokról egyenként eldönteni, hogy van-e velük teendő. A netstat szerint alaptelepítés után jelenleg az alábbi, potenciálisan távolról is elérhető szolgáltatások futnak:

Szolgáltatás Port Leírás Teendő
exim4 TCP:25 SMTP szerver (levélküldés). Szükséges. Jelenleg csak a localhoston figyel, de kihelyezés után a szervernek tudnia kell levelet fogadni, így ellenőrizni kell, hogy a portot a tűzfalon beengedjük-e.
sshd TCP:22 (vagy ahova konfiguráltuk) Biztonságos távoli shell. Szükséges, ellenőrizni kell, hogy a tűzfalon beengedjük-e.

Megjegyzés: a fenti lista változhat, a netstat eredményét minden esetben egyedileg kell kiértékelni!

A fail2ban telepítése

A fail2ban egy framework, amely hálózati szolgáltatások logjainak figyelésére, és a szolgáltatással visszaélés (abuse, pl. SSH brute force vagy dictionary attack) jeleit mutató távoli kliensek ideiglenes kitiltására szolgál a csomagszűrő tűzfal (netfilter) átmeneti átkonfigurálásával.

apt-get install fail2ban # Függőségként hozza magával a python-t

Telepítés után a fail2ban csak az SSH-t védi (ami nekünk egyelőre meg is felel). A maintainer kérésének megfelelően a későbbiekben védendő szolgáltatások beállításainak hozzunk létre egy (egyelőre üres) beállító állományt, és a későbbiekben csak ezt módosítsuk:

touch /etc/fail2ban/jail.local; chmod 600 /etc/fail2ban/jail.local

Ha van megbízható (trusted) IP címünk vagy tartományunk, amellyel szemben az SSH védelmet szeretnénk mellőzni, ebben az állományban felsorolhatjuk (space-delimited IP vagy IP-tartomány lista):

-rw-------  root root /etc/fail2ban/jail.local

[ssh]
ignoreip = IP.IP.IP.IP IP.IP.IP.IP/MASK

Gyors tesztként egy, a telepítés alatt álló szervert TCP-n keresztül elérő gépről (ne a saját munkaállomásunkról!) próbáljunk SSH-n sikertelenül bejelentkezni, és figyeljük a /var/log/fail2ban.log állományban az IP kitiltását, illetve 10 perc utáni újraengedélyezését. Ha megadtunk megbízható IP-t vagy tartományt, ellenőrizhetjük, hogy az innen indított sikertelen lekérésekre a kitiltás nem történik meg.

Egyéb eszközök, scriptek

Hagyományosan minden rendszergazda ír egy halom ravasz, cron-ból futtatott scriptet a biztonsági problémák felderítésére, monitorozására. Egy ilyen gyűjtemény a TAMU Security Tools: Tiger, amelyet Javier Fernández-Sanguino Pena, a Debian Security Audit Team egyik tagja (és a Securing Debian Manual szerzője) portolt Debianra. Érdemes a rootkitek keresésére szakosodott chkrootkit csomaggal együtt telepíteni:

apt-get install chkrootkit tiger

A Tiger moduláris felépítésű, a futtatandó modulok a /etc/tigerrc állományban vannak felsorolva. Az alapértelmezések megfelelnek, azonban a kifelé szolgáltatást nyújtó processzek listáját, a kifelé szolgáltatást nyújtó processzek felhasználóinak listáját és kötelezően futtatandó processzek listáját karban kell tartani. Alaptelepítés esetén az alábbiak tűnnek jó beállításnak:

-rw-r--r-- root root /etc/tiger/tigerrc
[...]
Tiger_Listening_ValidUsers='Debian-exim|root'
[...]
Tiger_Listening_ValidProcs='dhclient3|exim4|inetd|ntpd|snmpd|sshd'
[...]
Tiger_Running_Procs='/usr/sbin/acpid /usr/sbin/atd /usr/sbin/cron /usr/sbin/exim4 /usr/sbin/ntpd /usr/sbin/sshd /usr/sbin/snmpd /usr/sbin/syslog-ng'

A Tiger modulok futtatását nem közvetlenül a crontab ütemezi, hanem van egy indirekció: a cron.d-ben elhelyezett bejegyzés minden egész órában végrehajtja a /etc/tiger/cronrc-ben előírt vizsgálatokat (gyakrabbra ütemezni nem lehet). Ezt az állományt szabadon át lehet szerkeszteni, én a következőket állítottam be (nagyjából ezek az alapértelmezések - részletesen ld. a commentekben):

  • 4 óránként netstat, futó processzek ellenőrzése;
  • 8 óránként behatolás nyomainak kutatása;
  • naponta egyszer system check (sokmindent ellenőriz);
  • naponta egyszer account-ok ellenőrzése;
  • naponta egyszer rendszerfile-ok tulajdonosainak és engedélyeinek ellenőrzése.

A többi ellenőrzés ritkábban fut le.

-rw-r--r-- root root /etc/tiger/cronrc

# Tiger's cronrc - hourly scan schedule
# Parsed by tigercron called hourly from cron.d
#
# H D DOW       whitespace-separated Tiger's script list (no line wrap!)

# Checking listening processes and "must-be" running processes.
0,4,6,10,14,18,20 * *           check_listeningprocs check_runprocs

# Checking for known intrusion signs, rootkits, logfiles persistence and rights,
# /root directory ownership and rights, root user's common access.
0,8,16 * *      check_known check_rootkit check_logfiles check_rootdir check_root

# Checks performed once a day

# Checking single user-mode password, boot loader file permissions, vulnerabilities
# in inittab configuration, correct umask settings for init scripts, logins not used
# on the system, network configuration. Verifying system specific password checks.
# Checking OS release, then installed packages vs Debian Security Advisories.
# Checking md5sums of installed files and installed files against packages.
1 * *           check_system

# Checking accounts from /etc/passwd, /etc/hosts.equiv and .rhosts files, .netrc files,
# group files, entries from /etc/passwd and the format of passwd and group files.
2 * *           check_accounts check_rhosts check_netrc check_group check_passwd check_passwdformat

# Checking system file permissions.
5 * *           check_perms

# Checks performed once a week

# Checking inetd entries from /etc/inetd.conf, NFS exports, aliases from /etc/aliases,
# PATH components, crontabs and cron entries, anonymous FTP capabilities,  printer configuration
# files, services with tcp wrappers. Analysing inetd entries from /etc/inetd.conf
3 * Mon         check_inetd check_exports check_aliases check_path check_crontabs check_anonftp check_printcap check_tcpd

# Checks performed once a month

# Checking filesystem (TODO).
2 1 *           find_files

# Checking services from /etc/services, correct umask settings, ftpusers(?),
# embedded pathnames(?), .exrc files.
1 2 *           check_services check_umask check_ftpusers check_embedded check_exrc

# Checking device permissions.
2 3 *           check_devices

Telepítés után érdemes lefuttatni egy komplett ellenőrzést:

tiger

az eredmény a /var/log/tiger alatt található (nem kell rotálni, a Tiger megteszi). A jelzett problémákat érdemes kijavítani. Ezután a Tiger cron-ból fut, és ha új eltérést talál, levelet küld.

Jogi csűrcsavar

Talán nevetségesnek tűnik, de a Bastille Linux szerzői azt ajánlják, hogy írjunk egy figyelmeztetést, amely minden login esetén megjelenik. Így ha valaki helyi vagy távoli konzolos belépéssel kerül a rendszerbe, akkor találkozik ezzel a figyelmeztetéssel, és utóbb nem mondhatja azt, hogy nem tudta, hogy tilosban jár, valamint nem panaszkodhat, hogy tevékenységét megfigyeltük, és ezzel megsértettük a személyiségi jogait. Tudom, hogy ez nagyon amerikai gondolkodás, de hátha (Al Caponét is adócsalásért sikerült, ugyebár)...

-rw-r--r-- root root /etc/motd.tail

***************************************************************************
FELHASZNÁLÓI TÁJÉKOZTATÁS

A számítógépes rendszer a [TULAJDONOS] saját tulajdonát képezi.
A rendszert csak a megfelelő meghatalmazás birtokában lehet használni.
A felhasználóknak sem implicit, sem explicit elvárásai nem lehetnek a
titoktartással kapcsolatban.

A rendszer használatával kapcsolatos bármilyen információt, illetve a
rendszerben található fájlokat lehallgathatják, megfigyelhetik, rögzíthetik,
lemásolhatják, ellenőrizhetik, és felfedhetik a munkaadója, az erre
feljogosított hatóság, illetve kormányzati vagy jogi végrehajtó testületei,
valamint belföldi és külföldi kormányügynökségek erre feljogosított
hivatalnokai előtt.

A rendszer használatával a felhasználó hozzájárul az ily módon történő
lehallgatáshoz, megfigyeléshez, rögzítéshez, másoláshoz, ellenőrzéshez,
illetve a megfelelő testületek és hivatalnokok belátása szerinti
közzétételhez. A rendszer jogosulatlan, illetve nem megfelelő használata
polgári és büntetőjogi felelőségre vonást, illetve közigazgatási és fegyelmi
intézkedéseket vonhat maga után. A rendszer további használatával tudomásul
veszi és beleegyezik a fentebb leírtakba és a rendszer használatának
feltételeibe. Amennyiben nem ért egyet a fent megfogalmazott feltételekkel,
úgy kérjük, AZONNAL LÉPJEN KI a rendszerből.

***************************************************************************
NOTICE TO USERS

This computer system is the private property of [OWNER], 
whether individual, corporate or government.  It is for authorized use only.
Users (authorized or unauthorized) have no explicit or implicit
expectation of privacy.

Any or all uses of this system and all files on this system may be
intercepted, monitored, recorded, copied, audited, inspected, and
disclosed to your employer, to authorized site, government, and law
enforcement personnel, as well as authorized officials of government
agencies, both domestic and foreign.

By using this system, the user consents to such interception, monitoring,
recording, copying, auditing, inspection, and disclosure at the
discretion of such personnel or officials.  Unauthorized or improper use
of this system may result in civil and criminal penalties and
administrative or disciplinary action, as appropriate. By continuing to
use this system you indicate your awareness of and consent to these terms
and conditions of use. LOG OFF IMMEDIATELY if you do not agree to the
conditions stated in this warning.

****************************************************************************                                                                                                                                  

Rövidített változat az issue file-okba:

-rw-r--r-- root root /etc/issue
-rw-r--r-- root root /etc/issue.net

***************************************************************************
FELHASZNÁLÓI TÁJÉKOZTATÁS

A számítógépes rendszer a [TULAJDONOS] saját tulajdonát képezi.
A rendszert csak a megfelelő meghatalmazás birtokában lehet használni.
A felhasználóknak sem implicit, sem explicit elvárásai nem lehetnek a
titoktartással kapcsolatban.

***************************************************************************
NOTICE TO USERS

This computer system is the private property of [OWNER], 
whether individual, corporate or government. It is for authorized use only.
Users (authorized or unauthorized) have no explicit or implicit
expectation of privacy.

***************************************************************************
                                                                                                                                                      

Publikus környezetbe kihelyezés

A biztonsági megerősítést követően a szerver publikus környezetbe (DMZ, production) kihelyezhető. A kihelyezésnél figyeljünk:

  • a statikus IP megadására (/etc/network/interfaces);
  • a /etc/resolv.conf-beli nameserver megadására (127.0.0.1 ha fut rajta cacheing DNS), a belső hálózati nameserver bejegyzés kommentezésére (vigyázat, ha nem védjük meg, a DHCP kliens ezt periodikusan felülírja!);
  • a domain név esetleges megváltoztatására (/etc/hosts);
  • a levelezés átkonfigurálására:
mount -o remount,exec /var # Szigorú csatolás esetén
dpkg-reconfigure exim4-config

átállítása "internetes gép" konfigurációra (minden más maradhat). Ezután ellenőrizzük, hogy a szerver milyen FQHN-vel (Fully Qualified HostName) jelentkezik be levélküldéskor:

echo "Teszt" | mail -s Teszt helocheck@cbl.abuseat.org; tail -f /var/log/exim4/mainlog

Ez egy azonnal visszapattanó levelet eredményez, amelybe a helocheck beleírja az általunk ténylegesen használt FQHN-et. Ha ez nem egyezne meg a

dig -x IP.IP.IP.IP # szerver publikus IP címe

paranccsal megtudható reverse-zel, akkor manuálisan állítsuk be a helyes (reverse) FQHN-et. Ennek Exim-barát módja az alábbi extra konfigurációs állomány használata:

-rw-r--r-- root root  /etc/exim4/conf.d/main/99_exim4-config_custom_settings
[...]
# Custom settings - nor provided by maintainer,
# nor customizable by Debian automagic

[...]
REMOTE_SMTP_HELO_DATA = "helyes.reverse.FQHN"

Érvényesítsük a beállításokat:

/usr/sbin/update-exim4.conf; /etc/init.d/exim4 reload

és ismételjük meg a helocheck tesztet. Siker esetén állítsuk helyre a /var szigorú csatolását:

mount -o remount /var
  • szigorú partíció-csatolásra (/etc/fstab.secure).
  • Ha a gép előtt valamilyen hálózati forgalomszűrés történik (DMZ) azt is be kell állítani.
  • Ügyeljünk arra, hogy nyilvánosan elérhető gépeken mindig erős (lehetőleg generált) jelszavak legyenek!

Olvasnivaló