ວິທີການຕິດຕັ້ງ Fail2Ban ເພື່ອປົກປ້ອງ SSH ໃນ CentOS/RHEL 8


Fail2ban ແມ່ນເຄື່ອງມືປ້ອງກັນການບຸກລຸກແບບບໍ່ເສຍຄ່າ, ເປີດແລະ ນຳ ໃຊ້ຢ່າງກວ້າງຂວາງທີ່ສະແກນໄຟລ໌ບັນທຶກ ສຳ ລັບທີ່ຢູ່ IP ທີ່ສະແດງອາການທີ່ເປັນອັນຕະລາຍເຊັ່ນ: ການລົ້ມເຫລວລະຫັດຜ່ານຫລາຍເກີນໄປ, ແລະມັນຍິ່ງມີຫລາຍ, ແລະມັນຫ້າມພວກມັນ (ປັບປຸງກົດລະບຽບຂອງໄຟວໍເພື່ອປະຕິເສດທີ່ຢູ່ IP) . ໂດຍຄ່າເລີ່ມຕົ້ນ, ມັນຂົນສົ່ງກັບຕົວກອງ ສຳ ລັບບໍລິການຕ່າງໆລວມທັງ sshd.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງແລະຕັ້ງຄ່າ fail2ban ເພື່ອປົກປ້ອງ SSH ແລະປັບປຸງຄວາມປອດໄພຂອງເຊີບເວີຂອງ SSH ຕໍ່ກັບການໂຈມຕີແບບແຮງຂອງບໍລິສັດທີ່ໃຊ້ໃນ CentOS/RHEL 8.

ຕິດຕັ້ງ Fail2ban ໃນ CentOS/RHEL 8

ຊຸດ fail2ban ບໍ່ໄດ້ຢູ່ໃນຫໍສະ ໝຸດ ຢ່າງເປັນທາງການແຕ່ມັນມີຢູ່ໃນຫ້ອງເກັບ EPEL. ຫຼັງຈາກເຂົ້າສູ່ລະບົບຂອງທ່ານ, ເຂົ້າໃຊ້ອິນເຕີເຟດເສັ້ນ ຄຳ ສັ່ງ, ຈາກນັ້ນໃຫ້ສາມາດເກັບຂໍ້ມູນ EPEL ໃນລະບົບຂອງທ່ານຕາມທີ່ສະແດງ.

# dnf install epel-release
OR
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

ຫລັງຈາກນັ້ນ, ຕິດຕັ້ງແພັກເກດ Fail2ban ໂດຍການເຮັດວຽກຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# dnf install fail2ban

ການຕັ້ງຄ່າ Fail2ban ເພື່ອປົກປ້ອງ SSH

ແຟ້ມການຕັ້ງຄ່າ fail2ban ແມ່ນຕັ້ງຢູ່ໃນໄດເລກະທໍລີ/etc/fail2ban/ແລະການກັ່ນຕອງຖືກເກັບຢູ່ໃນໄດເລກະທໍລີ /etc/fail2ban/filter.d/ (ແຟ້ມຕົວກອງ ສຳ ລັບ sshd ແມ່ນ /etc/fail2ban/filter.d/sshd.conf) .

ເອກະສານການຕັ້ງຄ່າທົ່ວໂລກ ສຳ ລັບເຊີຟເວີ fail2ban ແມ່ນ /etc/fail2ban/jail.conf, ເຖິງຢ່າງໃດກໍ່ຕາມ, ມັນບໍ່ໄດ້ຖືກແນະ ນຳ ໃຫ້ດັດແປງເອກະສານນີ້ໂດຍກົງເພາະມັນອາດຈະຖືກຂຽນທັບຫຼືປັບປຸງໃນກໍລະນີການຍົກລະດັບຂອງແພັກເກັດໃນອະນາຄົດ.

ໃນຖານະເປັນທາງເລືອກ, ແນະ ນຳ ໃຫ້ສ້າງແລະເພີ່ມການຕັ້ງຄ່າຂອງທ່ານໃນແຟ້ມໄຟລ໌. ໃຫ້ສັງເກດວ່າຕົວກໍານົດການຕັ້ງຄ່າທີ່ຕັ້ງໄວ້ໃນ jail.local ຈະ override ສິ່ງໃດກໍ່ຕາມທີ່ຖືກກໍານົດໄວ້ໃນ jail.conf.

ສຳ ລັບບົດຂຽນນີ້, ພວກເຮົາຈະສ້າງເອກະສານແຍກຕ່າງຫາກທີ່ມີຊື່ວ່າ jail.local ໃນໄດເລກະທໍລີ/etc/fail2ban/ດັ່ງທີ່ສະແດງໄວ້.

# vi /etc/fail2ban/jail.local

ເມື່ອແຟ້ມເປີດ, ຄັດລອກແລະວາງການຕັ້ງຄ່າຕໍ່ໄປນີ້ໃນມັນ. ສ່ວນ [DEFAULT] ມີຕົວເລືອກທົ່ວໂລກແລະ [sshd] ມີຕົວ ກຳ ນົດ ສຳ ລັບຄຸກ sshd.

[DEFAULT] 
ignoreip = 192.168.56.2/24
bantime  = 21600
findtime  = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd

[sshd] 
enabled = true

ໃຫ້ອະທິບາຍສັ້ນໆກ່ຽວກັບທາງເລືອກໃນການຕັ້ງຄ່າຂ້າງເທິງນີ້:

  • ບໍ່ສົນໃຈ: ລະບຸລາຍຊື່ຂອງທີ່ຢູ່ IP ຫຼື hostnames ບໍ່ຫ້າມ.
  • bantime: ລະບຸ ຈຳ ນວນວິນາທີທີ່ເຈົ້າຂອງເຮືອນຖືກຫ້າມ ((ໄລຍະເວລາເກືອດຫ້າມທີ່ມີປະສິດຕິພາບ).
  • maxretry: ລະບຸ ຈຳ ນວນຄວາມລົ້ມເຫຼວກ່ອນທີ່ເຈົ້າພາບຈະຖືກຫ້າມ.
  • ເວລາຊອກຫາ: fail2ban ຈະຫ້າມເຈົ້າພາບຖ້າມັນໄດ້ສ້າງ“ ພິເສດ” ໃນຊ່ວງ“ ເວລາຊອກຫາ” ວິນາທີສຸດທ້າຍ.
  • banaction: ຫ້າມການກະ ທຳ.
  • backend: ລະບຸ backend ທີ່ໃຊ້ໃນການແກ້ໄຂບັນທຶກ log.

ການຕັ້ງຄ່າຂ້າງເທິງນີ້, ດັ່ງນັ້ນ, ໝາຍ ຄວາມວ່າຖ້າ IP ລົ້ມເຫລວ 3 ຄັ້ງໃນ 5 ນາທີສຸດທ້າຍ, ຫ້າມມັນເປັນເວລາ 6 ຊົ່ວໂມງ, ແລະບໍ່ສົນໃຈທີ່ຢູ່ IP 192.168.56.2.

ຕໍ່ໄປ, ເລີ່ມຕົ້ນແລະເປີດໃຊ້ບໍລິການ fail2ban ສຳ ລັບດຽວນີ້ແລະກວດເບິ່ງວ່າມັນ ກຳ ລັງຢູ່ແລະເຮັດວຽກໂດຍໃຊ້ ຄຳ ສັ່ງ systemctl ຕໍ່ໄປນີ້.

# systemctl start fail2ban
# systemctl enable fail2ban
# systemctl status fail2ban

ການຕິດຕາມກວດກາທີ່ລົ້ມເຫລວແລະຫ້າມທີ່ຢູ່ IP ໂດຍໃຊ້ fail2ban-client

ຫຼັງຈາກການຕັ້ງຄ່າ fail2ban ເພື່ອຮັບປະກັນໄພ sshd, ທ່ານສາມາດຕິດຕາມກວດກາທີ່ຢູ່ IP ທີ່ລົ້ມເຫລວແລະຫ້າມໃຊ້ໂດຍໃຊ້ fail2ban-client. ເພື່ອເບິ່ງສະຖານະພາບປະຈຸບັນຂອງ server swb2ban, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# fail2ban-client status

ເພື່ອຕິດຕາມເບິ່ງ sshd ຄຸກ, ດໍາເນີນການ.

# fail2ban-client status sshd

ເພື່ອ unban ທີ່ຢູ່ IP ໃນ fail2ban (ໃນທຸກໆຄຸກແລະຖານຂໍ້ມູນ), ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

# fail2ban-client unban 192.168.56.1

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ fail2ban, ອ່ານ ໜ້າ ຜູ້ຊາຍຕໍ່ໄປນີ້.

# man jail.conf
# man fail2ban-client

ນັ້ນສະຫຼຸບຄູ່ມືນີ້! ຖ້າທ່ານມີ ຄຳ ຖາມຫຼືຄວາມຄິດໃດ ໜຶ່ງ ທີ່ທ່ານຢາກແບ່ງປັນກ່ຽວກັບຫົວຂໍ້ນີ້, ຢ່າລັງເລທີ່ຈະຕິດຕໍ່ຫາພວກເຮົາຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.