Како да обезбедите свој Линук сервер са фаил2бан

Са фаил2бан, ваш Линук рачунар аутоматски блокира ИП адресе које имају превише грешака у вези. То је саморегулирајућа сигурност! Показаћемо вам како да га користите.

Безбедност Безбедност Безбедност

војвоткиња од Виндзора, Волис Симпсон, једном чувеном реченицом: „Никад не можете бити ни пребогати ни превише мршави. Ажурирали смо ово за наш модеран, међусобно повезан свет: никада не можете бити превише опрезни или превише сигурни.

Ако ваш рачунар прихвата долазне захтеве за повезивање, као нпр Сецуре Схелл (ССХ) везе, или делује као веб или сервер е-поште, потребно је да га заштитите од напада грубом силом и погађања лозинки.

Да бисте то урадили, мораћете да надгледате захтеве за повезивање који не успеју да уђу на налог. Ако више пута не успеју да се аутентификују у кратком периоду, требало би им забранити даље покушаје.

Једини начин на који се то практично може постићи је аутоматизација читавог процеса. Уз мало једноставне конфигурације, фаил2бан ће управљати надгледање, забрана и одбрана за тебе.

фаил2бан се интегрише са Линук заштитни зид иптаблес. Он спроводи забране на сумњивим ИП адресама додавањем правила у заштитни зид. Да би ово објашњење било неоптерећено, користимо иптаблес са празним скупом правила.

Наравно, ако сте забринути за безбедност, вероватно имате заштитни зид конфигурисан са добро попуњеним скупом правила. фаил2бан онли додаје и уклања своја правила— ваше редовне функције заштитног зида ће остати нетакнуте.

Можемо видети наш празан скуп правила користећи ову команду:

sudo iptables -L

Инсталирање фаил2бан

Инсталирање фаил2бан-а је једноставно на свим дистрибуцијама које смо користили за истраживање овог чланка. На Убунту 20.04 команда је следећа:

sudo apt-get install fail2ban

На Федора 32 откуцајте:

sudo dnf install fail2ban

На Мањаро 20.0.1, користили смо пацман:

sudo pacman -Sy fail2ban

Конфигурисање фаил2бан

Фаил2бан инсталација садржи подразумевану конфигурациону датотеку која се зове јаил.цонф. Ова датотека се преписује када се фаил2бан надогради, тако да ћемо изгубити промене ако извршимо прилагођавања ове датотеке.

  Како инсталирати тему Арц за Тхундербирд на Линук-у

Уместо тога, копираћемо датотеку јаил.цонф у датотеку која се зове јаил.лоцал. Стављањем наших конфигурационих промена у јаил.лоцал, оне ће се задржати током надоградњи. Фајл2бан аутоматски чита обе датотеке.

Овако копирате датотеку:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Сада отворите датотеку у свом омиљеном уређивачу. Користићемо гедит:

sudo gedit /etc/fail2ban/jail.local

Потражићемо два одељка у датотеци: [DEFAULT] и [sshd]. Ипак, водите рачуна да пронађете стварне одељке. Те ознаке се такође појављују при врху у одељку који их описује, али то није оно што желимо.

Наћи ћете [DEFAULT] одељак негде око реда 40. То је дугачак део са пуно коментара и објашњења.

Померите се надоле до око 90. реда и наћи ћете следећа четири подешавања о којима морате да знате:

игнореип: Бела листа ИП адреса које никада неће бити забрањене. Имају трајну картицу „Изађи из затвора бесплатно“. Тхе ИП адреса локалног хоста (127.0.0.1) је подразумевано на листи, заједно са својим ИПв6 еквивалентом (::1). Ако постоје друге ИП адресе за које знате да их никада не треба забранити, додајте их на ову листу и оставите размак између сваке од њих.
Бантиме: Трајање за које је ИП адреса забрањена („м“ означава минуте). Ако унесете вредност без „м“ или „х“ (сатима), она ће се третирати као секунде. Вредност од -1 ће трајно забранити ИП адресу. Будите веома опрезни да се трајно не закључате.
финдтиме: Време у којем ће превише неуспешних покушаја повезивања довести до забране ИП адресе.
макретри: вредност за „превише неуспешних покушаја“.

Ако веза са исте ИП адресе направи неуспешне покушаје макретри повезивања у периоду проналажења, они су забрањени током трајања забране. Једини изузеци су ИП адресе у игнореип листи.

фаил2бан ставља ИП адресе у затвор на одређени временски период. фаил2бан подржава много различитих затвора, а сваки од њих представља задржавање поставки које се примењују на један тип везе. Ово вам омогућава да имате различита подешавања за различите типове везе. Или можете имати фаил2бан да надгледа само одабрани скуп типова везе.

  Како направити пречице менија апликације на Линук-у

Можда сте то погодили из [DEFAULT] назив одељка, али подешавања која смо погледали су подразумевана. Сада, погледајмо подешавања за ССХ затвор.

Конфигурисање затвора

Затвори вам омогућавају да премештате типове везе у и ван надзора фаил2бан-а. Ако се подразумеване поставке не поклапају са онима које желите да примените у затвору, можете да подесите специфичне вредности за време забране, време проналажења и максимални покушај.

Померите се надоле до отприлике реда 280 и видећете [sshd] одељак.

Овде можете поставити вредности за затвор ССХ везе. Да бисмо овај затвор укључили у праћење и забрану, морамо да откуцамо следећи ред:

enabled = true

Такође укуцавамо ову линију:

maxretry = 3

Подразумевана поставка је била пет, али желимо да будемо опрезнији са ССХ везама. Спустили смо га на три, а затим сачували и затворили датотеку.

Додали смо овај затвор надзору фаил2бан-а и поништили једно од подразумеваних поставки. Затвор може да користи комбинацију подразумеваних подешавања и подешавања специфичних за затвор.

Омогућавање фаил2бан

До сада смо инсталирали фаил2бан и конфигурисали га. Сада морамо да му омогућимо да ради као услуга аутоматског покретања. Затим, морамо да га тестирамо да бисмо били сигурни да ради како се очекује.

Да бисмо омогућили фаил2бан као услугу, користимо системцтл команда:

sudo systemctl enable fail2ban

Такође га користимо за покретање услуге:

sudo systemctl start fail2ban

Статус услуге можемо да проверимо и користећи системцтл:

sudo systemctl status fail2ban.service

Све изгледа добро — имамо зелено светло, тако да је све у реду.

Да видимо да ли се фаил2бан слаже:

sudo fail2ban-client status

Ово одражава оно што смо поставили. Омогућили смо један затвор, по имену [sshd]. Ако укључимо име затвора уз нашу претходну команду, можемо га дубље погледати:

sudo fail2ban-client status sshd

Ово наводи број грешака и забрањених ИП адреса. Наравно, сва статистика је тренутно нула.

Тестирање нашег затвора

На другом рачунару, направићемо захтев за ССХ повезивање са нашом машином за тестирање и намерно погрешно унети лозинку. Добијате три покушаја да добијете исправну лозинку при сваком покушају повезивања.

  Како да подесите СофтЕтхер ВПН преко ХТТПС клијента на Виндовс-у и Линук-у

Макретри вредност ће се покренути након три неуспела покушаја повезивања, а не три неуспела покушаја лозинке. Дакле, морамо да унесемо нетачну лозинку три пута да не успемо у покушају повезивања.

Затим ћемо поново покушати да се повежемо и још три пута ћемо унети погрешну лозинку. Први покушај нетачне лозинке трећег захтева за повезивање требало би да изазове фаил2бан.

Након прве нетачне лозинке на трећем захтеву за повезивање, не добијамо одговор са удаљене машине. Не добијамо никакво објашњење; само добијамо хладно раме.

Морате притиснути Цтрл+Ц да бисте се вратили на командну линију. Ако покушамо још једном, добићемо другачији одговор:

ssh [email protected]

Раније је порука о грешци била „Дозвола одбијена“. Овог пута, веза је потпуно одбијена. Ми смо персона нон грата. Били смо забрањени.

Хајде да погледамо детаље о [sshd] опет затвор:

sudo fail2ban-client status sshd

Било је три грешке, а једна ИП адреса (192.168.4.25) је забрањена.

Као што смо раније споменули, фаил2бан намеће забране додавањем правила у скуп правила заштитног зида. Хајде да још једном погледамо скуп правила (раније је био празан):

sudo iptables -L

Политици ИНПУТ је додато правило које шаље ССХ саобраћај у ф2б-ссхд ланац. Правило у ланцу ф2б-ссхд одбија ССХ везе са 192.168.4.25. Нисмо променили подразумевану поставку за време забране, тако да ће за 10 минута та ИП адреса бити уклоњена и може да шаље нове захтеве за повезивање.

Ако подесите дуже трајање забране (на пример, неколико сати), али желите да дозволите да ИП адреса раније поднесе још један захтев за повезивање, можете је раније да отпустите.

Укуцавамо следеће да бисмо то урадили:

sudo fail2ban-client set sshd unbanip 192.168.5.25

На нашем удаљеном рачунару, ако направимо још један захтев за ССХ повезивање и унесемо исправну лозинку, биће нам дозвољено да се повежемо:

ssh [email protected]

Једноставан и ефикасан

Једноставније је обично боље, а фаил2бан је елегантно решење за тежак проблем. Потребно је врло мало конфигурације и не намеће никакве оперативне трошкове – вама или вашем рачунару.