ວິທີການຕັ້ງຄ່າ UFW Firewall ໃນ Ubuntu ແລະ Debian


Firewall ທີ່ເຮັດວຽກຢ່າງຖືກຕ້ອງແມ່ນພາກສ່ວນ ສຳ ຄັນທີ່ສຸດຂອງຄວາມປອດໄພຂອງລະບົບ Linux ທີ່ສົມບູນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການແຈກຈ່າຍ Debian ແລະ Ubuntu ມາພ້ອມກັບເຄື່ອງມືການຕັ້ງຄ່າ firewall ທີ່ເອີ້ນວ່າ UFW (Uncomplicated Firewall), ແມ່ນເຄື່ອງມືບັນທັດເສັ້ນ ຄຳ ສັ່ງທີ່ໄດ້ຮັບຄວາມນິຍົມແລະງ່າຍທີ່ສຸດ ສຳ ລັບການຕັ້ງຄ່າແລະຈັດການ firewall ໃນການແຈກຈ່າຍ Ubuntu ແລະ Debian.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງແລະຕິດຕັ້ງ UFW firewall ໃນການແຈກຈ່າຍ Ubuntu ແລະ Debian.

ກ່ອນທີ່ທ່ານຈະເລີ່ມຕົ້ນກັບບົດຂຽນນີ້, ໃຫ້ແນ່ໃຈວ່າທ່ານໄດ້ເຂົ້າສູ່ລະບົບ server ຂອງທ່ານ Ubuntu ຫລື Debian ກັບຜູ້ໃຊ້ sudo ຫຼືກັບບັນຊີຮາກ. ຖ້າທ່ານບໍ່ມີຜູ້ໃຊ້ sudo, ທ່ານສາມາດສ້າງແບບ ໜຶ່ງ ໂດຍໃຊ້ ຄຳ ແນະ ນຳ ຕໍ່ໄປນີ້ເປັນຜູ້ໃຊ້ຮາກ.

# adduser username
# usermod -aG sudo username 
# su - username
$ sudo whoami

ຕິດຕັ້ງ UFW Firewall ໃນ Ubuntu ແລະ Debian

UFW (Firewall ທີ່ບໍ່ສັບຊ້ອນ) ຄວນຖືກຕິດຕັ້ງໂດຍຄ່າເລີ່ມຕົ້ນໃນ Ubuntu ແລະ Debian, ຖ້າບໍ່, ຕິດຕັ້ງມັນໂດຍໃຊ້ຕົວຈັດການຊຸດ APT ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo apt install ufw

ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວທ່ານສາມາດກວດເບິ່ງສະຖານະຂອງ UFW ໂດຍການພິມ.

$ sudo ufw status verbose

ໃນການຕິດຕັ້ງຄັ້ງ ທຳ ອິດ, ໄຟ UFW ຖືກປິດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ, ຜົນຜະລິດຈະຄ້າຍຄືກັບຂ້າງລຸ່ມນີ້.

Status: inactive

ທ່ານສາມາດກະຕຸ້ນຫລືເປີດໃຊ້ UFW firewall ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້, ເຊິ່ງຄວນຈະໂຫລດ firewall ແລະຊ່ວຍໃຫ້ມັນເລີ່ມຕົ້ນໄດ້.

$ sudo ufw enable

ເພື່ອປິດການໃຊ້ງານ UFW firewall, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້, ເຊິ່ງຈະໂຫລດໄຟວໍແລະປິດມັນຈາກການເລີ່ມຕົ້ນ.

$ sudo ufw disable 

ໂດຍຄ່າເລີ່ມຕົ້ນ, UFW firewall ປະຕິເສດທຸກໆການເຊື່ອມຕໍ່ຂາເຂົ້າແລະພຽງແຕ່ອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ຂາເຂົ້າທັງ ໝົດ ກັບ server. ນີ້ຫມາຍຄວາມວ່າ, ບໍ່ມີໃຜສາມາດເຂົ້າເຖິງເຄື່ອງແມ່ຂ່າຍຂອງທ່ານໄດ້, ເວັ້ນເສຍແຕ່ວ່າທ່ານເປີດພອດໂດຍສະເພາະ, ໃນຂະນະທີ່ທຸກໆບໍລິການທີ່ແລ່ນຫຼືແອັບພລິເຄຊັນຕ່າງໆທີ່ຢູ່ໃນເຊີບເວີຂອງທ່ານສາມາດເຂົ້າເຖິງເຄືອຂ່າຍພາຍນອກໄດ້.

ໂປແກຼມ Firewall UFW ໃນຕອນຕົ້ນແມ່ນຖືກຈັດໃສ່ໃນແຟ້ມ /etc/default/ufw ແລະສາມາດປ່ຽນແປງໄດ້ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

ເມື່ອຕິດຕັ້ງໂປແກຼມ software ໂດຍໃຊ້ຜູ້ຈັດການແພັກເກັດ APT, ມັນຈະປະກອບມີໂປຼແກຼມໂປຼແກຼມໃສ່ໃນລະບົບ /etc/ufw/applications.d ທີ່ ກຳ ນົດການບໍລິການແລະຖືການຕັ້ງຄ່າ UFW.

ທ່ານສາມາດຂຽນໂປແກຼມໂປຼແກຼມທີ່ມີຢູ່ໃນ server ຂອງທ່ານໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw app list

ອີງຕາມການຕິດຕັ້ງຊຸດຊອບແວໃນລະບົບຂອງທ່ານຜົນຜະລິດຈະມີລັກສະນະຄ້າຍຄືກັບສິ່ງຕໍ່ໄປນີ້:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

ຖ້າທ່ານຕ້ອງການໄດ້ຮັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບໂປຼໄຟລ໌ໃດ ໜຶ່ງ ແລະກົດລະບຽບທີ່ ກຳ ນົດທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

ຖ້າເຄື່ອງແມ່ຂ່າຍຂອງທ່ານຖືກຕັ້ງຄ່າດ້ວຍ IPv6, ໃຫ້ແນ່ໃຈວ່າ UFW ຂອງທ່ານຖືກຕັ້ງຄ່າດ້ວຍການສະ ໜັບ ສະ ໜູນ IPv6 ແລະ IPv4. ເພື່ອພິສູດມັນ, ເປີດເອກະສານການຕັ້ງຄ່າ UFW ໂດຍໃຊ້ບັນນາທິການທີ່ທ່ານມັກ.

$ sudo vi /etc/default/ufw

ຫຼັງຈາກນັ້ນ, ໃຫ້ແນ່ໃຈວ່າ "IPV6" ຖືກຕັ້ງຄ່າ "ແມ່ນແລ້ວ" ໃນເອກະສານການຕັ້ງຄ່າດັ່ງທີ່ສະແດງໄວ້.

IPV6=yes

ປະຫຍັດແລະປະຖິ້ມ. ຫຼັງຈາກນັ້ນ, ເລີ່ມຕົ້ນ firewall ຂອງທ່ານດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

$ sudo ufw disable
$ sudo ufw enable

ຖ້າທ່ານໄດ້ເປີດໃຊ້ UFW firewall ໂດຍດຽວນີ້, ມັນຈະກີດຂວາງການເຊື່ອມຕໍ່ຂາເຂົ້າທັງ ໝົດ ແລະຖ້າທ່ານໄດ້ເຊື່ອມຕໍ່ກັບເຊີບເວີຂອງທ່ານຜ່ານ SSH ຈາກສະຖານທີ່ຫ່າງໄກ, ທ່ານຈະບໍ່ສາມາດເຊື່ອມຕໍ່ມັນອີກຕໍ່ໄປ.

ອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ SSH ກັບເຊີບເວີຂອງພວກເຮົາເພື່ອຢຸດສິ່ງນັ້ນຈາກການເກີດຂື້ນໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

$ sudo ufw allow ssh

ຖ້າທ່ານ ກຳ ລັງໃຊ້ພອດ SSH ທີ່ ກຳ ນົດເອງ (ຕົວຢ່າງ port 2222), ຫຼັງຈາກນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງເປີດພອດນັ້ນຢູ່ເທິງ ກຳ ແພງ UFW ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw allow 2222/tcp

ເພື່ອສະກັດການເຊື່ອມຕໍ່ SSH ທັງ ໝົດ ພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp  [If using custom SSH port]

ທ່ານຍັງສາມາດເປີດພອດສະເພາະໃນ firewall ເພື່ອອະນຸຍາດໃຫ້ມີການເຊື່ອມຕໍ່ຜ່ານມັນໄປຫາບໍລິການສະເພາະໃດ ໜຶ່ງ. ຕົວຢ່າງ: ຖ້າທ່ານຕ້ອງການຕັ້ງຄ່າເຊີເວີ້ທີ່ຟັງຢູ່ທີ່ port 80 (HTTP) ແລະ 443 (HTTPS) ໂດຍຄ່າເລີ່ມຕົ້ນ.

ຂ້າງລຸ່ມນີ້ແມ່ນບາງຕົວຢ່າງຂອງວິທີການອະນຸຍາດການເຊື່ອມຕໍ່ຂາເຂົ້າກັບການບໍລິການຂອງ Apache.

$ sudo ufw allow http     [By service name]
$ sudo ufw allow 80/tcp   [By port number]
$ sudo ufw allow 'Apache' [By application profile]
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

ສົມມຸດວ່າທ່ານມີບາງໂປແກຼມທີ່ທ່ານຕ້ອງການໃຊ້ໃນພອດຕ່າງໆ (5000-5003), ທ່ານສາມາດເພີ່ມພອດທັງ ໝົດ ເຫລົ່ານີ້ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

ຖ້າທ່ານຕ້ອງການທີ່ຈະອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ທຸກພອດຈາກທີ່ຢູ່ IP ສະເພາະ 192.168.56.1, ຫຼັງຈາກນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງລະບຸຈາກກ່ອນທີ່ຢູ່ IP.

$ sudo ufw allow from 192.168.56.1

ເພື່ອອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ກັບພອດສະເພາະ (ຕົວຢ່າງ port 22) ຈາກເຄື່ອງເຮືອນຂອງທ່ານກັບທີ່ຢູ່ IP ຂອງ 192.168.56.1, ຫຼັງຈາກນັ້ນທ່ານ ຈຳ ເປັນຕ້ອງເພີ່ມພອດໃດແລະ ໝາຍ ເລກພອດຫຼັງຈາກທີ່ຢູ່ IP ດັ່ງທີ່ສະແດງ.

$ sudo ufw allow from 192.168.56.1 to any port 22

ເພື່ອອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ ສຳ ລັບທີ່ຢູ່ IP ໂດຍສະເພາະຕັ້ງແຕ່ 192.168.1.1 ເຖິງ 192.168.1.254 ເຖິງ port 22 (SSH), ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw allow from 192.168.1.0/24 to any port 22

ເພື່ອອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ກັບ eth2 ໃນເຄືອຂ່າຍສະເພາະເຈາະຈົງ ສຳ ລັບພອດ 22 (SSH), ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw allow in on eth2 to any port 22

ໂດຍຄ່າເລີ່ມຕົ້ນ, ການເຊື່ອມຕໍ່ຂາເຂົ້າທັງ ໝົດ ຈະຖືກບລັອກ, ເວັ້ນເສຍແຕ່ວ່າທ່ານໄດ້ເປີດການເຊື່ອມຕໍ່ໂດຍສະເພາະໃນ UFW. ຕົວຢ່າງ, ທ່ານໄດ້ເປີດພອດ 80 ແລະ 443 ແລະເຄື່ອງແມ່ຂ່າຍເວັບຂອງທ່ານ ກຳ ລັງຖືກໂຈມຕີຈາກເຄືອຂ່າຍທີ່ບໍ່ຮູ້ຈັກ 11.12.13.0/24.

ເພື່ອສະກັດການເຊື່ອມຕໍ່ທັງ ໝົດ ຈາກລະດັບເຄືອຂ່າຍ 11.12.13.0/24 ນີ້, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw deny from 11.12.13.0/24

ຖ້າທ່ານຕ້ອງການສະກັດການເຊື່ອມຕໍ່ໃນພອດ 80 ແລະ 443, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

ມີ 2 ວິທີໃນການລຶບກົດລະບຽບຂອງ UFW, ໂດຍເລກລະບຽບແລະໂດຍກົດລະບຽບຕົວຈິງ.

ເພື່ອລຶບກົດລະບຽບຂອງ UFW ໂດຍການ ນຳ ໃຊ້ເລກລະບຽບ, ທຳ ອິດທ່ານ ຈຳ ເປັນຕ້ອງລົງບັນຊີກົດໂດຍ ຈຳ ນວນໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

ເພື່ອລຶບເລກທີ 1, ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo ufw delete 1

ວິທີທີສອງແມ່ນການລຶບກົດລະບຽບໂດຍການ ນຳ ໃຊ້ກົດລະບຽບຕົວຈິງ, ຍົກຕົວຢ່າງເພື່ອລຶບກົດລະບຽບ, ກຳ ນົດ ໝາຍ ເລກພອດພ້ອມດ້ວຍໂປໂຕຄອນດັ່ງທີ່ສະແດງ.

$ sudo ufw delete allow 22/tcp

ທ່ານສາມາດ ດຳ ເນີນການ ຄຳ ສັ່ງ ufw ໃດໆໂດຍບໍ່ຕ້ອງມີການປ່ຽນແປງໃດໆໃນລະບົບໄຟວໍຂອງລະບົບໂດຍ ນຳ ໃຊ້ທຸງ - ດຳ ເນີນການ , ນີ້ພຽງແຕ່ສະແດງການປ່ຽນແປງທີ່ສົມມຸດວ່າເກີດຂື້ນ.

$ sudo ufw --dry-run enable

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

$ sudo ufw reset
$ sudo ufw status

UFW firewall ສາມາດຈັດການເພື່ອເຮັດທຸກສິ່ງທີ່ iptables ເຮັດ. ນີ້ສາມາດເຮັດໄດ້ກັບຊຸດເອກະສານກົດລະບຽບທີ່ແຕກຕ່າງກັນ, ເຊິ່ງບໍ່ມີຫຍັງເລີຍ, ແຕ່ໄຟລ໌ຂໍ້ຄວາມ iptables-restore ງ່າຍດາຍ.

ການປັບລະຫັດໄຟ UFW ຫຼືເພີ່ມ ຄຳ ສັ່ງ iptables ເພີ່ມເຕີມແມ່ນບໍ່ໄດ້ຮັບອະນຸຍາດຜ່ານ ຄຳ ສັ່ງ ufw, ແມ່ນພຽງແຕ່ການປ່ຽນແປງເອກະສານຂໍ້ຄວາມຕໍ່ໄປນີ້

  • /etc/default/ufw: ເອກະສານການຕັ້ງຄ່າຕົ້ນຕໍທີ່ມີກົດລະບຽບທີ່ໄດ້ ກຳ ນົດໄວ້ກ່ອນ.
  • /etc/ufw/sysctl.conf: ເອກະສານນີ້ໃຊ້ເພື່ອປັບເຄືອຂ່າຍເຄນ.
  • /etc/ufw/ufw.conf: ເອກະສານນີ້ຊ່ວຍໃຫ້ ufw ເລີ່ມຕົ້ນໄດ້.

ນັ້ນແມ່ນມັນ! UFW ແມ່ນຈຸດຈົບທີ່ດີເລີດຕໍ່ ໜ້າ iptables ພ້ອມດ້ວຍອິນເຕີເຟດທີ່ເປັນມິດກັບຜູ້ໃຊ້ເພື່ອ ກຳ ນົດກົດລະບຽບທີ່ສັບສົນດ້ວຍ ຄຳ ສັ່ງ ufw ດຽວ.

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