Introduksjon
Trinn 1: PF (brannmur)
Trinn 2: Svartelistet
Trinn 3: SSH
Siste trinn
Introduksjon
Enhver tjeneste som er koblet til internett er et potensielt mål for brute-force-angrep eller uberettiget tilgang. Det finnes verktøy som fail2baneller sshguard, men disse er funksjonelt begrenset fordi de bare analyserer loggfiler. Blacklistd tar en annen tilnærming. Modifiserte demoner som SSH er i stand til å koble direkte til svartelisted for å legge til nye brannmurregler.
Trinn 1: PF (brannmur)
Et anker er en samling av regler og vi trenger en i vår PF-konfigurasjon. For å lage et minimalt regelsett, rediger /etc/pf.confslik at det ser slik ut:
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 nå for PFå starte automatisk, rediger /etc/rc.conf:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
Det er imidlertid en ekstra ting du kanskje vil gjøre først: test reglene dine for å være sikker på at alt er riktig. For dette, bruk følgende kommando:
pfctl -vnf /etc/pf.conf
Hvis denne kommandoen rapporterer feil, gå tilbake og fiks dem først!
Det er en god idé å sørge for at alt fungerer som forventet ved å starte serveren på nytt nå: shutdown -r now
Trinn 2: Svartelistet
IP-er er blokkert i 24 timer. Dette er standardverdien og kan endres i /etc/blacklistd:
# Blacklist rule
# adr/mask:port type proto owner name nfail disable
[local]
ssh stream * * * 3 24h
Rediger for /etc/rc.confå aktivere Blacklistd:
blacklistd_enable="YES"
blacklistd_flags="-r"
Start Blacklistd med følgende kommando:
service blacklistd start
Trinn 3: SSH
En siste ting vi må gjøre er sshdå gi beskjed blacklistd. Legg UseBlacklist yestil /etc/ssh/sshd_configfilen din . Start nå SSH på nytt med service sshd restart.
Siste trinn
Til slutt, prøv å logge på serveren din med et ugyldig passord.
For å få alle de blokkerte IP-ene, bruk en av 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 å fjerne en blokkert IP må du bruke kommandoen pfctl. For eksempel:
pfctl -a blacklistd/22 -t port22 -T delete <IP>
Merk at blacklistctlIP-en fortsatt vises som blokkert! Dette er normal oppførsel og vil forhåpentligvis bli fjernet i fremtidige utgivelser.