Bevezetés
1. lépés: PF (tűzfal)
2. lépés: Feketelista
3. lépés: SSH
Utolsó lépés
Bevezetés
Bármely internethez kapcsolódó szolgáltatás potenciális célpontja lehet a brute force támadásoknak vagy az indokolatlan hozzáférésnek. Vannak olyan eszközök, mint a fail2banvagy sshguard, de ezek funkcionálisan korlátozottak, mivel csak naplófájlokat elemeznek. A Blacklistd más megközelítést alkalmaz. A módosított démonok, mint például az SSH, képesek közvetlenül csatlakozni a tiltólistához új tűzfalszabályok hozzáadásához.
1. lépés: PF (tűzfal)
A horgony szabályok gyűjteménye, amelyre szükségünk van a PF konfigurációban. Minimális szabálykészlet létrehozásához szerkessze /etc/pf.confúgy, hogy az így nézzen ki:
set skip on lo0
scrub in on vtnet0 all fragment reassemble
anchor "blacklistd/*" in on vtnet0
block in all
pass out all keep state
antispoof for vtnet0 inet
pass in quick on vtnet0 inet proto icmp all icmp-type echoreq
pass in quick on vtnet0 proto tcp from any to vtnet0 port 22
Most engedélyezze PFaz automatikus indítást, szerkessze az /etc/rc.conf fájlt:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
Van azonban még egy dolog, amit először érdemes megtenni: tesztelje le a szabályokat, hogy megbizonyosodjon arról, hogy minden helyes. Ehhez használja a következő parancsot:
pfctl -vnf /etc/pf.conf
Ha ez a parancs hibákat jelez, menjen vissza, és először javítsa ki azokat!
Célszerű a szerver mostani újraindításával meggyőződni arról, hogy minden a várt módon működik: shutdown -r now
2. lépés: Feketelista
Az IP-k 24 órára blokkolva vannak. Ez az alapértelmezett érték, és a következő helyen módosítható /etc/blacklistd:
# Blacklist rule
# adr/mask:port type proto owner name nfail disable
[local]
ssh stream * * * 3 24h
Szerkessze /etc/rc.confa feketelista engedélyezéséhez:
blacklistd_enable="YES"
blacklistd_flags="-r"
Indítsa el a Feketelistát a következő paranccsal:
service blacklistd start
3. lépés: SSH
Egy utolsó dolog, amit tennünk kell, sshdhogy értesítsük blacklistd. Adja UseBlacklist yeshozzá a /etc/ssh/sshd_configfájlhoz. Most indítsa újra az SSH-t a következővel service sshd restart.
Utolsó lépés
Végül próbáljon meg érvénytelen jelszóval bejelentkezni a szerverére.
Az összes blokkolt IP-cím beszerzéséhez használja a következő parancsok egyikét:
blacklistctl dump -bw
address/ma:port id nfail last access
150.x.x.x/32:22 OK 3/3 2017/x/x 04:43:03
115.x.x.x/32:22 OK 3/3 2017/x/x 04:45:40
91.x.x.x/32:22 OK 3/3 2017/x/x 07:51:16
54.x.x.x/32:22 OK 3/3 2017/x/x 12:05:57
pfctl -a blacklistd/22 -t port22 -T show
54.x.x.x
91.x.x.x
115.x.x.x
150.x.x.x
A blokkolt IP-cím eltávolításához a parancsot kell használnia pfctl. Például:
pfctl -a blacklistd/22 -t port22 -T delete <IP>
Ne feledje, hogy blacklistctlaz IP-cím továbbra is blokkoltként jelenik meg! Ez normális viselkedés, és remélhetőleg eltávolítjuk a következő kiadásokban.