FreeBSD 11.1ek dakarren blacklistd erabili dezakegu. Honek beste zerbitzuak bidalitako jakinarazpenak entzuten ditu, eta ezarritako arauak betetzen badira PF suebakian behar den konfigurazioa sortuko du erasotzailea blokeatzeko. OpenSSHrekin erabil daitekeenez bere konfigurazioa egingo dugu:
PFren konfigurazioa (Firewall)
Blacklistd-k eta PF-k "anchor" bat erabiliko dute elkarrekin lan egiteko. "Anchor" bat arauen bilduma bat da, blacklistd-k dinamikoki sortuko duena. Oinarrizko /etc/pf.conf fitxategia ondorengoa izan daiteke:
set skip on lo0
scrub in on em0 all fragment reassemble
anchor "blacklistd/*" in on em0
block in all
pass out all keep state
antispoof for em0 inet
pass in quick on em0 inet proto icmp all icmp-type echoreq
pass in quick on em0 proto tcp from any to em0 port 22
Aurretik gaituta ez badugu, /etc/rc.conf fitxategian gehituko dugu
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
Blacklistd
Defektuzko konfigurazioan, IP erasotzaileak 24 orduz blokeatzen dira 3 saiakeren ostean, aldatu dezakegu, edo defektuz utzi. Portaera aldatzeko /etc/blacklistd.conf fitxategia aldatu beharko genuke:
# Blacklist rule
# adr/mask:port type proto owner name nfail disable
[local]
ssh stream * * * 3 24h
/etc/rc.conf fitxategian zerbitzua gaituko dugu:
blacklistd_enable="YES"
blacklistd_flags="-r"
OpenSSH
Amaitzeko, sshd-k gertatzen ari dena jakinarazi behar dio blacklistd-ri azken honek neurriak hartu ahal izateko, horretarako /etc/ssh/sshd_config fitxategian zera gehituko dugu:
UseBlacklist yes
Badabil?
Ondo dabilen egiaztatzeko gure zerbitzarian sartzen pasahitz oker batekin saiatuko gara. Blokeatutako helbideak ikusteko ondorengo komando bat erabiliko dugu:
blacklistctl dump -bwedo:
pfctl -a blacklistd/22 -t port22 -T showBlokeatutako IPa kentzeko pfctl erabiliko dugu:
pfctl -a blacklistd/22 -t port22 -T delete <IP>
Whitelisting
Ondo dabilela probatu badugu, bururatuko zaigu batzutan makina bat baimenduta izan behar dugula (pentesting egiteko erabiltzen dugun makina, adibidez), nola egiten da hori blacklistd zerbitzuarekin? Erraza da, /etc/blacklistd.conf fitxategian honelako zerbait gehituko dugu:
# adr/mask:port type proto owner name nfail disable
[local]
_IP_HELBIDEA_:ssh * * * * * *



