ວິທີການບລັອກການເຂົ້າໃຊ້ SSH ແລະ FTP ສຳ ລັບ IP ແລະລະດັບເຄືອຂ່າຍສະເພາະໃນ Linux


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

<

  • 25 ເຄັດລັບໃນການຮັກສາຄວາມປອດໄພ ສຳ ລັບເຄື່ອງແມ່ຂ່າຍ Linux
  • 5 ຄຳ ແນະ ນຳ ທີ່ເປັນປະໂຫຍດເພື່ອຮັບປະກັນແລະປົກປ້ອງ SSH Server
  • ບົດແນະ ນຳ ນີ້ຈະສະແດງວິທີການສະກັດການເຂົ້າໃຊ້ SSH ແລະ FTP ໃນທີ່ຢູ່ IP ໂດຍສະເພາະແລະ/ຫຼືຊ່ວງເຄືອຂ່າຍໃນ CentOS 6 ແລະ 7 server. ຄູ່ມືນີ້ໄດ້ຖືກທົດສອບໃນລຸ້ນ CentOS 6.x ແລະ 7.x, ແຕ່ມັນອາດຈະໃຊ້ໄດ້ກັບການແຈກຈ່າຍ Linux ອື່ນໆເຊັ່ນ Debian, Ubuntu, ແລະ SUSE/openSUSE ແລະອື່ນໆ.

    ພວກເຮົາຈະເຮັດມັນດ້ວຍສອງທາງ. ວິທີການ ທຳ ອິດແມ່ນການໃຊ້ IPTables/firewallD ແລະວິທີທີສອງແມ່ນການໃຊ້ TCP ຫໍ່ດ້ວຍການຊ່ວຍເຫຼືອຂອງເອກະສານ hosts.allow ແລະ hosts.deny.

    ອ້າງອີງຄູ່ມືແນະ ນຳ ຕໍ່ໄປນີ້ເພື່ອຮູ້ເພີ່ມເຕີມກ່ຽວກັບ IPTables ແລະ Firewalld.

    <

  • ຄູ່ມືພື້ນຖານກ່ຽວກັບ IPTables (Linux Firewall) ຄຳ ແນະ ນຳ/ຄຳ ສັ່ງ
  • ວິທີການຕັ້ງ Firewall Iptables ເພື່ອໃຫ້ສາມາດເຂົ້າເຖິງການບໍລິການໃນໄລຍະໄກໃນ Linux
  • ວິທີການຕັ້ງຄ່າ ‘FirewallD’ ໃນ RHEL/CentOS 7 ແລະ Fedora 21
  • ກົດລະບຽບທີ່ເປັນປະໂຫຍດ 'FirewallD' ໃນການຕັ້ງຄ່າແລະຈັດການ Firewall ໃນ Linux
  • ຕອນນີ້ທ່ານຮູ້ກ່ຽວກັບສິ່ງທີ່ເປັນ IPTables ແລະ FirewallD ແລະມັນແມ່ນພື້ນຖານ.

    ວິທີທີ່ 1: Block SSH ແລະ FTP Access ໂດຍໃຊ້ IPTables/FirewallD

    ຕອນນີ້ໃຫ້ພວກເຮົາເບິ່ງວິທີການສະກັດການເຂົ້າໃຊ້ SSH ແລະ FTP ໃນ IP ສະເພາະ (ຕົວຢ່າງ 192.168.1.100) ແລະ/ຫຼືຊ່ວງເຄືອຂ່າຍ (ຕົວຢ່າງ 192.168.1.0/24) ໂດຍໃຊ້ IPtables ໃນລຸ້ນ RHEL/CentOS/Scientific Linux 6.x ແລະ FirewallD ເທິງ CentOS 7.x.

    --------------------- On IPtables Firewall ---------------------
    # iptables -I INPUT -s 192.168.1.100 -p tcp --dport ssh -j REJECT
    # iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport ssh -j REJECT
    
    --------------------- On FirewallD ---------------------
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 22 -j REJECT
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 22 -j REJECT
    

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

    # service iptables save         [On IPtables Firewall]
    # firewall-cmd --reload         [On FirewallD]
    

    ຕອນນີ້, ລອງໃຊ້ SSH server ຈາກໂຮດທີ່ຖືກບລັອກ. ກະລຸນາໃສ່ໃຈວ່າທີ່ນີ້ 192.168.1.150 ແມ່ນເຈົ້າພາບທີ່ຖືກບລັອກ.

    # ssh 192.168.1.150
    

    ທ່ານຄວນຈະເຫັນຂໍ້ຄວາມຕໍ່ໄປນີ້.

    ssh: connect to host 192.168.1.150 port 22: Connection refused
    

    ເພື່ອປົດລorອກຫລືເປີດໃຊ້ SSH, ເຂົ້າໄປທີ່ server ຫ່າງໄກສອກຫຼີກແລະ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

    --------------------- On IPtables Firewall ---------------------
    # iptables -I INPUT -s 192.168.1.100 -p tcp --dport ssh -j ACCEPT
    # iptables -I INPUT -s 192.168.1.100/24 -p tcp --dport ssh -j ACCEPT
    
    --------------------- On FirewallD ---------------------
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 22 -j ACCEPT
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 22 -j ACCEPT
    

    ບັນທຶກການປ່ຽນແປງໂດຍໃຊ້ຕໍ່ໄປນີ້ເພື່ອເຂົ້າເຖິງເຊີບເວີຂອງທ່ານຜ່ານ SSH.

    # service iptables save         [On IPtables Firewall]
    # firewall-cmd --reload         [On FirewallD]
    

    ໂດຍປົກກະຕິ, ບັນດາພອດເລີ່ມຕົ້ນ ສຳ ລັບ FTP ແມ່ນ 20 ແລະ 21. ດັ່ງນັ້ນ, ເພື່ອສະກັດການຈາລະຈອນຂອງ FTP ທັງ ໝົດ ໂດຍໃຊ້ IPTables ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້:

    --------------------- On IPtables Firewall ---------------------
    # iptables -I INPUT -s 192.168.1.100 -p tcp --dport 20,21 -j REJECT
    # iptables -I INPUT -s 192.168.1.100/24 -p tcp --dport 20,21 -j REJECT
    
    --------------------- On FirewallD ---------------------
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 20,21 -j REJECT
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 20,21 -j REJECT
    

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

    # service iptables save         [On IPtables Firewall]
    # firewall-cmd --reload         [On FirewallD]
    

    ຕອນນີ້, ພະຍາຍາມເຂົ້າເຖິງເຊີບເວີຈາກເຈົ້າພາບທີ່ຖືກບລັອກ (192.168.1.100), ໂດຍມີ ຄຳ ສັ່ງ:

    # ftp 192.168.1.150
    

    ທ່ານຈະໄດ້ຮັບຂໍ້ຄວາມຜິດພາດເຊັ່ນບາງຢ່າງຂ້າງລຸ່ມນີ້.

    ftp: connect: Connection refused
    

    ເພື່ອປົດລandອກແລະເປີດໃຊ້ FTP ກັບຄືນ, ດຳ ເນີນການ:

    --------------------- On IPtables Firewall ---------------------
    # iptables -I INPUT -s 192.168.1.100 -p tcp --dport 20,21 -j ACCEPT
    # iptables -I INPUT -s 192.168.1.100/24 -p tcp --dport 20,21 -j ACCEPT
    
    --------------------- On FirewallD ---------------------
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100 -p tcp --dport 20,21 -j ACCEPT
    # firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -m tcp --source 192.168.1.100/24 -p tcp --dport 20,21 -j ACCEPT
    

    ບັນທຶກການປ່ຽນແປງດ້ວຍ ຄຳ ສັ່ງ:

    # service iptables save         [On IPtables Firewall]
    # firewall-cmd --reload         [On FirewallD]
    

    ຕອນນີ້, ພະຍາຍາມເຂົ້າເຖິງເຊີບເວີຜ່ານ FTP:

    # ftp 192.168.1.150
    

    ໃສ່ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານຂອງທ່ານ ftp.

    Connected to 192.168.1.150.
    220 Welcome to TecMint FTP service.
    Name (192.168.1.150:sk): tecmint
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> 
    

    ວິທີທີ່ 2: Block SSH ແລະ FTP Access ໂດຍໃຊ້ TCP Wrappers

    ຖ້າທ່ານບໍ່ຕ້ອງການທີ່ຈະລັງກິນອາຫານກັບ IPTables ຫຼື FirewallD, ຫຼັງຈາກນັ້ນ TCP ຫໍ່ແມ່ນວິທີທີ່ດີກວ່າທີ່ຈະສະກັດການເຂົ້າເຖິງ SSH ແລະ FTP ໃນ IP ແລະ/ຫຼືຊ່ວງເຄືອຂ່າຍ.

    OpenSSH ແລະ FTP ຖືກລວບລວມດ້ວຍການສະ ໜັບ ສະ ໜູນ ການຫໍ່ຂອງ TCP, ນັ້ນ ໝາຍ ຄວາມວ່າທ່ານສາມາດລະບຸວ່າມີໂຮດໃດທີ່ຖືກອະນຸຍາດໃຫ້ເຊື່ອມຕໍ່ໂດຍບໍ່ຕ້ອງ ສຳ ຜັດກັບໄຟວໍຂອງທ່ານໃນສອງເອກະສານ ສຳ ຄັນດັ່ງຕໍ່ໄປນີ້ແລະມີດັ່ງນີ້:

    <

  • /etc/hosts.allow
  • /etc/hosts.deny
  • ໃນຖານະເປັນຊື່ຊີ້ໃຫ້ເຫັນ, ເອກະສານທໍາອິດປະກອບມີການເຂົ້າຂອງເຈົ້າພາບທີ່ຖືກອະນຸຍາດ, ແລະທີສອງມີທີ່ຢູ່ຂອງເຈົ້າພາບທີ່ຖືກບລັອກ.

    ຍົກຕົວຢ່າງ, ໃຫ້ພວກເຮົາສະກັດການເຂົ້າເຖິງ SSH ແລະ FTP ເພື່ອໂຮດທີ່ມີທີ່ຢູ່ IP 192.168.1.100 ແລະລະດັບເຄືອຂ່າຍ 192.168.1.0. ວິທີການນີ້ແມ່ນຄືກັນກັບຊຸດ CentOS 6.x ແລະ 7.x. ແລະແນ່ນອນມັນຈະເຮັດວຽກກ່ຽວກັບການແຈກຢາຍອື່ນໆເຊັ່ນ Debian, Ubuntu, SUSE, openSUSE ແລະອື່ນໆ.

    ເປີດເອກະສານ /etc/hosts.deny ແລະເພີ່ມທີ່ຢູ່ IP ຕໍ່ໄປນີ້ຫຼືລະດັບເຄືອຂ່າຍທີ່ທ່ານຕ້ອງການຈະບລັອກດັ່ງຮູບຂ້າງລຸ່ມນີ້.

    ##### To block SSH Access #####
    sshd: 192.168.1.100
    sshd: 192.168.1.0/255.255.255.0
    
    ##### To block FTP Access #####
    vsftpd: 192.168.1.100
    vsftpd: 192.168.1.0/255.255.255.0
    

    ບັນທຶກແລະອອກຈາກແຟ້ມ.

    ໃນປັດຈຸບັນ, ໃຫ້ບໍລິການ sshd ແລະ vsftpd ເລີ່ມ ໃໝ່ ເພື່ອຈະມີການປ່ຽນແປງ ໃໝ່ ໃຫ້ມີຜົນ.

    --------------- For SSH Service ---------------
    # service sshd restart        [On SysVinit]
    # systemctl restart sshd      [On SystemD]
    
    --------------- For FTP Service ---------------
    # service vsftpd restart        [On SysVinit]
    # systemctl restart vsftpd      [On SystemD]
    

    ຕອນນີ້, ລອງໃຊ້ SSH server ຫຼືຈາກ host ທີ່ຖືກບລັອກ.

    # ssh 192.168.1.150
    

    ທ່ານຈະເຫັນຜົນຜະລິດຕໍ່ໄປນີ້:

    ssh_exchange_identification: read: Connection reset by peer
    

    ຕອນນີ້, ລອງ FTP server ຫຼືຈາກ host ທີ່ຖືກບລັອກ.

    # ftp 192.168.1.150
    

    ທ່ານຈະເຫັນຜົນຜະລິດຕໍ່ໄປນີ້:

    Connected to 192.168.1.150.
    421 Service not available.
    

    ເພື່ອປົດລັອກຫລືເປີດໃຊ້ບໍລິການ SSH ແລະ FTP ອີກຄັ້ງ, ແກ້ໄຂເອກະສານ hosts.deny ແລະອອກ ຄຳ ເຫັນທຸກສາຍແລະສຸດທ້າຍກໍ່ເລີ່ມການບໍລິການ vsftpd ແລະ sshd.

    ສະຫຼຸບ

    ດຽວນີ້ ໝົດ ແລ້ວ. ເພື່ອສະຫຼຸບ, ມື້ນີ້ພວກເຮົາໄດ້ຮຽນຮູ້ວິທີການບລັອກທີ່ຢູ່ IP ແລະຊ່ວງເຄືອຂ່າຍໂດຍໃຊ້ IPTables, FirewallD, ແລະ TCP. ວິທີການເຫລົ່ານີ້ແມ່ນງ່າຍແລະງ່າຍດາຍ.

    ເຖິງແມ່ນວ່າ, ຜູ້ບໍລິຫານ Linux ຈົວສາມາດເຮັດສິ່ງນີ້ໄດ້ໃນສອງສາມນາທີ. ຖ້າທ່ານຮູ້ບາງວິທີອື່ນທີ່ຈະສະກັດການເຂົ້າເຖິງ SSH ແລະ FTP, ຮູ້ສຶກບໍ່ເສຍຄ່າທີ່ຈະແບ່ງປັນໃຫ້ເຂົາເຈົ້າໃນສ່ວນ ຄຳ ເຫັນ. ແລະຢ່າລືມແບ່ງປັນບົດຄວາມຂອງພວກເຮົາໃນທຸກເຄືອຂ່າຍສັງຄົມຂອງທ່ານ.