Увод
Корак 1: ПФ (заштитни зид)
Корак 2: Црна листа
Корак 3: ССХ
Последњи корак
Увод
Свака услуга која је повезана на интернет потенцијална је мета за нападе грубом силом или неоправдани приступ. Постоје алати попут fail2banили sshguard, али они су функционално ограничени јер само анализирају датотеке евиденције. Блацклистд има другачији приступ. Модификовани демони као што је ССХ могу да се повежу директно на црну листу да додају нова правила заштитног зида.
Корак 1: ПФ (заштитни зид)
Сидро је скуп правила и потребно нам је једно у нашој ПФ конфигурацији. Да бисте креирали минимални скуп правила, уредите /etc/pf.confтако да изгледа овако:
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
Сада омогућите PFаутоматско покретање, уредите /етц/рц.цонф:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
Међутим, постоји још једна ствар коју бисте могли прво да урадите: тестирајте своја правила да бисте били сигурни да је све тачно. За ово користите следећу команду:
pfctl -vnf /etc/pf.conf
Ако ова команда пријави грешке, вратите се и прво их поправите!
Добра је идеја да се уверите да све ради како се очекује тако што ћете сада поново покренути сервер: shutdown -r now
Корак 2: Црна листа
ИП-ови су блокирани 24 сата. Ово је подразумевана вредност и може се променити у /etc/blacklistd:
# Blacklist rule
# adr/mask:port type proto owner name nfail disable
[local]
ssh stream * * * 3 24h
Измените /etc/rc.confда бисте омогућили Блацклистд:
blacklistd_enable="YES"
blacklistd_flags="-r"
Покрените Блацклистд следећом командом:
service blacklistd start
Корак 3: ССХ
Последња ствар коју треба да урадимо је да кажемо sshdда обавестимо blacklistd. Додајте UseBlacklist yesу своју /etc/ssh/sshd_configдатотеку. Сада поново покрените ССХ са service sshd restart.
Последњи корак
На крају, покушајте да се пријавите на свој сервер са неважећом лозинком.
Да бисте добили све блокиране ИП адресе, користите једну од следећих команди:
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
Да бисте уклонили блокирану ИП адресу морате користити команду pfctl. На пример:
pfctl -a blacklistd/22 -t port22 -T delete <IP>
Имајте на уму да blacklistctlће ИП адреса и даље бити приказана као блокирана! Ово је нормално понашање и надамо се да ће бити уклоњено у будућим издањима.