Introduktion
											
										
																			
											
												Trin 1: PF (firewall)
											
										
																			
											
												Trin 2: Sortlisted
											
										
																			
											
												Trin 3: SSH
											
										
																			
											
												Sidste skridt
											
										
																	
												
Introduktion
Enhver tjeneste, der er forbundet til internettet, er et potentielt mål for brute-force-angreb eller uberettiget adgang. Der er værktøjer som fail2baneller sshguard, men disse er funktionelt begrænsede, fordi de kun analyserer logfiler. Blacklistd har en anden tilgang. Modificerede dæmoner som SSH er i stand til at oprette forbindelse direkte til blacklistd for at tilføje nye firewall-regler.
Trin 1: PF (firewall)
Et anker er en samling regler, og vi har brug for et i vores PF-konfiguration. For at oprette et minimalt regelsæt, rediger, /etc/pf.confså det ser sådan ud:
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
Aktiver nu for PFat starte automatisk, rediger /etc/rc.conf:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
Der er dog en ekstra ting, du måske vil gøre først: Test dine regler for at være sikker på, at alt er korrekt. Til dette skal du bruge følgende kommando:
pfctl -vnf /etc/pf.conf
Hvis denne kommando rapporterer fejl, skal du gå tilbage og rette dem først!
Det er en god idé at sørge for, at alt fungerer som forventet ved at genstarte serveren nu: shutdown -r now
Trin 2: Sortlisted
IP'er er blokeret i 24 timer. Dette er standardværdien og kan ændres i /etc/blacklistd:
# Blacklist rule
# adr/mask:port type    proto   owner           name    nfail   disable
[local]
ssh             stream  *       *               *       3       24h
Rediger for /etc/rc.confat aktivere Blacklistd:
blacklistd_enable="YES"
blacklistd_flags="-r"
Start Blacklistd med følgende kommando: 
service blacklistd start
Trin 3: SSH
En sidste ting, vi skal gøre, er sshdat give besked blacklistd. Tilføj UseBlacklist yestil din /etc/ssh/sshd_configfil. Genstart nu SSH med service sshd restart.
Sidste skridt
Prøv endelig at logge ind på din server med en ugyldig adgangskode. 
For at få alle de blokerede IP'er skal du bruge en af følgende kommandoer:
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
For at fjerne en blokeret IP skal du bruge kommandoen pfctl. For eksempel:
pfctl -a blacklistd/22 -t port22 -T delete <IP>
Bemærk, at blacklistctlIP'en stadig vises som blokeret! Dette er normal adfærd og vil forhåbentlig blive fjernet i fremtidige udgivelser.