Prezantimi
Hapi 1: PF (Firewall)
Hapi 2: Në listën e zezë
Hapi 3: SSH
Hapi i fundit
Prezantimi
Çdo shërbim që është i lidhur me internetin është një objektiv i mundshëm për sulme me forcë brutale ose akses të pajustifikuar. Ka mjete si fail2banose sshguard, por këto janë funksionalisht të kufizuara sepse janë vetëm duke analizuar skedarët e regjistrit. Blacklistd ka një qasje të ndryshme. Daemonët e modifikuar si SSH janë në gjendje të lidhen drejtpërdrejt me listën e zezë për të shtuar rregulla të reja të murit të zjarrit.
Hapi 1: PF (Firewall)
Një spirancë është një koleksion rregullash dhe ne kemi nevojë për një në konfigurimin tonë të PF. Për të krijuar një grup rregullash minimale, modifikoni në /etc/pf.confmënyrë që të duket kështu:
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
Tani aktivizoni PFpër të filluar automatikisht, modifikoni /etc/rc.conf:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
Megjithatë, ka një gjë shtesë që mund të dëshironi të bëni së pari: testoni rregullat tuaja për t'u siguruar që gjithçka është e saktë. Për këtë, përdorni komandën e mëposhtme:
pfctl -vnf /etc/pf.conf
Nëse kjo komandë raporton gabime, kthehuni dhe rregulloni ato së pari!
Është një ide e mirë të siguroheni që gjithçka po funksionon siç pritej duke rindezur serverin tani: shutdown -r now
Hapi 2: Në listën e zezë
IP-të janë të bllokuara për 24 orë. Kjo është vlera e paracaktuar dhe mund të ndryshohet në /etc/blacklistd:
# Blacklist rule
# adr/mask:port type proto owner name nfail disable
[local]
ssh stream * * * 3 24h
Ndrysho /etc/rc.confpër të aktivizuar listën e zezë:
blacklistd_enable="YES"
blacklistd_flags="-r"
Filloni Blacklistd me komandën e mëposhtme:
service blacklistd start
Hapi 3: SSH
Një gjë e fundit që duhet të bëjmë është të themi sshdtë njoftojmë blacklistd. Shtoni UseBlacklist yesnë /etc/ssh/sshd_configskedarin tuaj . Tani rinisni SSH me service sshd restart.
Hapi i fundit
Së fundi, provoni të regjistroheni në serverin tuaj me një fjalëkalim të pavlefshëm.
Për të marrë të gjitha IP-të e bllokuara, përdorni një nga komandat e mëposhtme:
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
Për të hequr një IP të bllokuar duhet të përdorni komandën pfctl. Për shembull:
pfctl -a blacklistd/22 -t port22 -T delete <IP>
Vini re se blacklistctldo të vazhdojë të tregojë IP-në si të bllokuar! Kjo është sjellje normale dhe shpresojmë se do të hiqet në publikimet e ardhshme.