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