Как да защитим SSH с fail2ban на CentOS

Съдържание

Сървърите не съществуват изолирани и повечето са инсталирани и персонализирани само с най -основната конфигурация на SSH, които могат да бъдат уязвими за атаки с груба сила.
Инструментът fail2ban предоставя начин за автоматична защита на сървъра от предполагаеми атаки и злонамерен софтуер.
Програмата работи чрез сканиране на регистрационните файлове и помага да се реагира на действия като многократни неуспешни опити за свързване.
Ще започнем с инсталирането на fail2ban
Тъй като fail2ban не е наличен в CentOS, трябва да започнем с изтеглянето на хранилището:
rpm- Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

След това инсталираме fail2ban от командния ред със следната команда
yum install fail2ban

Копираме конфигурационния файл
По подразбиране конфигурационният файл fail2ban е местоположението в /etc/fail2ban/jail.conf. Конфигурацията не трябва да се извършва върху този файл и вместо това трябва да се направи локално копие от него за архивиране.
cp / etc / fail2ban / jail.conf / etc / fail2ban / jail.local

След като файлът бъде копиран, можем да направим всички промени в новия файл jail.local. Много от възможните услуги, които може да се нуждаят от защита, са в този файл вече предварително конфигурирани. Всеки от тях е в свой собствен раздел, конфигуриран и изключен.
Задайте по подразбиране Jail.Local
Отворете новия конфигурационен файл fail2ban:
 vi / etc / fail2ban / jail.local 

Първият раздел на настройките по подразбиране обхваща основните правила, които fail2ban ще спазва. Ако искате да конфигурирате по -персонализирана защита за вашия виртуален частен сървър, можете да персонализирате подробностите за всеки раздел.
Можете да видите раздела по подразбиране някои подробности като следното.
 [DEFAULT] # "Ignoreip" може да бъде IP адрес, CIDR маска или DNS хост. Fail2ban няма да # забрани низ, който съответства на адрес в този списък. Множество адреси могат да бъдат #дефинирани чрез разделител на интервали. ignoreip = 127.0.0.1 # "Bantime" е броят на секундите, до които хостът е забранен за достъп или е забранен. bantime = 3600 # Времето в секунди, през което хост ще бъде блокиран, ако направи максимален брой неуспешни заявки maxretry = 3 

Въведете вашия IP адрес в личната линия на ignoreip. Можете да отделите всеки адрес с интервал. IgnoreIP ще включи в белия списък определени IP адреси и ще се увери, че те не са пропуснати от вашия VPS. Включването на вашия адрес ще гарантира, че случайно няма да се забраните от вашия собствен виртуален частен сървър.
Следващата стъпка е да се определи времето за забрана, броят на секундите, през които хост е блокиран от сървъра, ако те нарушават някое от правилата. Това е особено полезно в случай на роботи, които след като достъпът е забранен, просто ще преминат към следващата цел. По подразбиране е 10 минути, можете да увеличите това до час, ако искате.
Maxretry е броят на неправилните опити за достъп, които хост може да има преди опитите за достъп да бъдат забранени за времето на забраната.
Findtime се отнася до времето, през което хост трябва да въведе стойността по подразбиране е 10 минути, което означава, че ако се направи опит за достъп до хост до сървър и той не успее, да влезете повече от максималната сума 3 пъти в определените 10 минути, вашият IP ще бъде блокиран и няма да имате достъп.
Конфигурирайте секцията ssh - iptables в Jail.Local
Разделът с подробности за SSH е малко по -надолу в настройките и вече е инсталиран и активиран. Въпреки че не трябва да се изисква да правите промени в този раздел, можете да намерите подробности за всеки ред по -долу.
 [ssh - iptables] активиран = истински филтър = sshd действие = iptables [name = SSH, port = ssh, protocol = tcp] sendmail -whois [name = SSH, dest = root, [email protected]] logpath = / var / log / secure maxretry = 5

Активираното просто се отнася до факта, че SSH защитата е включена. Можете да го изключите с думата false.
Филтърът, който използвате по подразбиране за sshd, се отнася до конфигурационния файл, който съдържа правилата, които fail2banuses използва за намиране на съвпадения. Името е съкратена версия на разширението на файла. Например sshd се отнася до /etc/fail2ban/filter.d/sshd.conf
Действие, описва стъпките, които fail2ban ще предприеме, за да забрани съвпадащ IP адрес. Подобно на записа на филтъра, всяко действие се отнася до файл в директорията action.d. Действието по подразбиране за забрана, iptable, може да се намери в /etc/fail2ban/action.d/iptables.conf
В iptables можете допълнително да персонализирате fail2ban. Например, ако използвате нестандартен порт, можете да промените номера на порта в скобите на височина, правейки видимата линия на едно и също семейство:
например . iptables [name = SSH, port = 30000, protocol = tcp]
Можете да промените протокола от TCP на UDP и на този ред, в зависимост от това кой искате fail2ban да следи.
Ако имате конфигуриран пощенски сървър на вашия виртуален частен сървър, fail2ban може да ви изпрати имейл, когато IP адрес е забранен. В случай на байпас, sendmail-whois се отнася до действията, намиращи се в / etc / fail2ban / action.d / sendmail-whois.conf.
log path се отнася до местоположението на регистрационния файл, който fail2ban ще проследява.
Редът за максимален повторен опит в секцията SSH има същата дефиниция като опцията по подразбиране. Ако обаче услуга е активирана и искате да имате конкретни стойности за всяка от тях, можете да зададете новото максимално количество за повторен опит за SSH тук.
Рестартирайте fail2ban
След като направите промени в конфигурацията fail2ban, винаги не забравяйте да рестартирате fail2ban:
sudo рестартиране fail2ban услуга

Можете да видите правилата, които fail2ban прилага в рамките на IP таблицата:
iptables- L
Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave