Fail2Ban isang mahusay na pagpipilian upang maitaboy ang brute force atake sa iyong server

fail2ban

Ang isa sa mga pinaka-karaniwang mga vector ng pag-atake laban sa mga server ay ang mga pagtatangkang pag-login ng mabangis na puwersa. Dito sinubukan ng mga umaatake na i-access ang iyong server, sinusubukan ang walang katapusang mga kumbinasyon ng mga username at password.

Para sa mga ganitong uri ng problema ang pinakamabilis at pinakamabisang solusyon ay upang limitahan ang bilang ng mga pagtatangka at hadlangan ang pag-access sa gumagamit o sa IP na iyon para sa isang tiyak na oras. Mahalaga ring malaman na para dito mayroon ding mga bukas na application ng mapagkukunan na partikular na idinisenyo upang ipagtanggol laban sa ganitong uri ng pag-atake.

Sa post ngayon, Ipapakilala ko sa iyo ang isa ay tinatawag na Fail2Ban. Orihinal na binuo ni Cyril Jaquier noong 2004, ang Fail2Ban ay isang balangkas ng software na pag-iwas sa panghihimasok na pinoprotektahan ang mga server mula sa pag-atake ng malupit na puwersa.

Tungkol sa Fail2ban

Ang mga Fail2ban ay nag-scan ng mga file ng log (/ var / log / apache / error_log) at ipinagbabawal ang mga IP na nagpapakita ng nakakahamak na aktibidad, tulad ng masyadong maraming mga maling password at naghahanap ng mga kahinaan atbp.

Sa pangkalahatan, Ginagamit ang Fail2Ban upang mai-update ang mga patakaran ng firewall upang tanggihan ang mga IP address para sa isang tinukoy na tagal ng oras, kahit na ang anumang iba pang di-makatwirang pagkilos (halimbawa, magpadala ng isang email) ay maaari ding mai-configure.

Pag-install ng Fail2Ban sa Linux

Ang Fail2Ban ay matatagpuan sa karamihan ng mga repository ng pangunahing pamamahagi ng Linux at mas partikular sa pinaka ginagamit para magamit sa mga server, tulad ng CentOS, RHEL at Ubuntu.

Sa kaso ng Ubuntu, i-type lamang ang sumusunod para sa pag-install:

sudo apt-get update && sudo apt-get install -y fail2ban

Habang sa kaso ng Centos at RHEL, dapat nilang i-type ang sumusunod:

yum install epel-release
yum install fail2ban fail2ban-systemd

Kung mayroon kang SELinux mahalaga na i-update ang mga patakaran sa:

yum update -y selinux-policy*

Kapag tapos na ito, dapat nilang malaman sa harapan na ang mga file ng pagsasaayos ng Fail2Ban ay nasa / etc / fail2ban.

Ang pagsasaayos ng Ang Fail2Ban ay pangunahing nahahati sa dalawang pangunahing mga file; ito ay fail2ban.conf at jail.conf. fail2ban.confes ang mas malaking Fail2Ban config file, kung saan maaari mong i-configure ang mga setting tulad ng:

  • Ang antas ng pag-log.
  • Ang file upang mag-log in.
  • Ang proseso ng socket file.
  • Ang file pid.

ang jail.conf ay kung saan mo mai-configure ang mga pagpipilian tulad ng:

  • Ang pagsasaayos ng mga serbisyo upang ipagtanggol.
  • Gaano katagal upang pagbawalan kung dapat silang atakehin.
  • Ang email address upang magpadala ng mga ulat.
  • Ang aksyon na gagawin kapag nakita ang isang atake.
  • Isang paunang natukoy na hanay ng mga setting, tulad ng SSH.

configuration

Ngayon ay lilipat tayo sa bahagi ng pagsasaayos, Ang unang bagay na gagawin namin ay isang backup na kopya ng aming jail.conf file na may:

cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

At nagpatuloy kaming mag-edit ngayon gamit ang nano:

nano /etc/fail2ban/jail.local

Pumunta kami sa loob ng seksyong [Default] kung saan makakagawa kami ng ilang mga pagsasaayos.

Dito sa bahagi ng "ingoreip" ang mga IP address na maiiwan at sila ay ganap na hindi papansinin ng Fail2Ban, iyon talaga ang server ng IP (ang lokal) at ang iba pa na sa palagay mo ay dapat na balewalain.

Mula doon palabas ang iba pang mga IP na nabigo sa mga pag-access ay maawa sa pagbabawal at hintayin ang bilang ng mga segundo na ito ay mai-ban (sa pamamagitan ng default na ito ay 3600 segundo) at ang fail2ban ay kumikilos lamang pagkatapos ng 6 na nabigong pagtatangka

Matapos ang pangkalahatang pagsasaayos, isasaad namin ngayon ang serbisyo. Ang Fail2Ban ay mayroon nang ilang mga paunang natukoy na mga filter para sa iba't ibang mga serbisyo. Kaya gumawa lamang ng ilang mga pagbagay. Narito ang isang halimbawa:

[ssh] enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

Gamit ang mga nauugnay na pagbabago na ginawa, sa wakas kakailanganin mong i-reload ang Fail2Ban, tumatakbo:

service fail2ban reload
systemctl enable firewalld
systemctl start firewalld

Sa tapos na ito, gumawa tayo ng isang mabilis na pagsusuri upang makita na tumatakbo ang Fail2Ban:

sudo fail2ban-client status

I-unban ang isang IP

Ngayon na matagumpay na nating ipinagbawal ang isang IP, paano kung nais nating mag-unban ng isang IP? Upang magawa iyon, maaari naming muling gamitin ang fail2ban-client at sabihin ito sa pag-unban ng isang tukoy na IP, tulad ng halimbawa sa ibaba.

sudo fail2ban-client set ssh unbanip xxx.xxx.xx.xx

Kung saan "xxx ...." Ito ang magiging IP address na iyong ipahiwatig.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.