Hvernig á að loka fyrir SSH og FTP aðgang að sérstöku IP og netsviði í Linux


Venjulega notum við öll SSH og FTP þjónustu oft til að fá aðgang að ytri netþjónum og sýndar einkaþjónum. Sem Linux stjórnandi verður þú að vera meðvitaður um hvernig á að loka fyrir SSH og FTP aðgang að tilteknu IP eða netsviði í Linux til að herða öryggið aðeins meira.

  1. 25 ráðleggingar um harðnandi öryggi fyrir Linux netþjóna
  2. 5 gagnleg ráð til að tryggja og vernda SSH netþjón

Þessi kennsla mun sýna þér hvernig á að loka fyrir SSH og FTP aðgang að tilteknu IP tölu og/eða netsviði á CentOS 6 og 7 netþjónum. Þessi handbók var prófuð á CentOS 6.x og 7.x útgáfum, en hún mun líklega virka á öðrum Linux dreifingum eins og Debian, Ubuntu og SUSE/openSUSE o.fl.

Við munum gera það með tveimur aðferðum. Fyrsta aðferðin er að nota IPTables/firewallD og önnur aðferðin er að nota TCP umbúðir með hjálp hosts.allow og hosts.deny skrá.

Skoðaðu eftirfarandi leiðbeiningar til að vita meira um IPTables og Firewalld.

  1. Grunnleiðbeiningar um IPTables (Linux Firewall) Ráð/skipanir
  2. Hvernig á að setja upp Iptables eldvegg til að virkja fjaraðgang að þjónustu í Linux
  3. Hvernig á að stilla 'FirewallD' í RHEL/CentOS 7 og Fedora 21
  4. Gagnlegar „FirewallD“ reglur til að stilla og stjórna eldvegg í Linux

Nú ertu meðvitaður um hvað er IPTables og FirewallD og það er grunnatriði.

Aðferð 1: Lokaðu fyrir SSH og FTP aðgang með því að nota IPTables/FirewallD

Nú skulum við sjá hvernig á að loka fyrir SSH og FTP aðgang að tilteknu IP (til dæmis 192.168.1.100) og/eða netsvið (til dæmis 192.168.1.0/24) með því að nota IPtables á RHEL/CentOS/Scientific Linux 6.x útgáfum og 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

Til að taka nýjar reglur í gildi þarftu að nota eftirfarandi skipun.

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

Reyndu nú að SSH þjóninn frá lokuðu gestgjafanum. Vinsamlegast hafðu í huga að hér er 192.168.1.150 lokaði gestgjafinn.

# ssh 192.168.1.150

Þú ættir að sjá eftirfarandi skilaboð.

ssh: connect to host 192.168.1.150 port 22: Connection refused

Til að opna fyrir eða virkja SSH aðgang skaltu fara á ytri netþjóninn og keyra eftirfarandi skipun:

--------------------- 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

Vistaðu breytingarnar með því að nota eftirfarandi til að fá aðgang að netþjóninum þínum í gegnum SSH.

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

Venjulega eru sjálfgefna tengi fyrir FTP 20 og 21. Svo, til að loka fyrir alla FTP umferð með því að nota IPTables skaltu keyra eftirfarandi skipun:

--------------------- 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

Til að taka nýjar reglur í gildi þarftu að nota eftirfarandi skipun.

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

Reyndu nú að fá aðgang að þjóninum frá lokuðu gestgjafanum (192.168.1.100), með skipuninni:

# ftp 192.168.1.150

Þú munt fá villuboð eitthvað eins og hér að neðan.

ftp: connect: Connection refused

Til að opna fyrir og virkja FTP aðgang aftur skaltu keyra:

--------------------- 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

Vistaðu breytingarnar með skipuninni:

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

Reyndu nú að fá aðgang að þjóninum í gegnum FTP:

# ftp 192.168.1.150

Sláðu inn ftp notendanafnið þitt og lykilorð.

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> 

Aðferð 2: Lokaðu fyrir SSH og FTP aðgang með því að nota TCP umbúðir

Ef þú vilt ekki skipta þér af IPTables eða FirewallD, þá eru TCP umbúðir betri leiðin til að loka fyrir SSH og FTP aðgang að tilteknu IP og/eða netkerfi.

OpenSSH og FTP eru unnin með stuðningi við TCP umbúðir, sem þýðir að þú getur tilgreint hvaða vélar mega tengjast án þess að snerta eldvegginn þinn í eftirfarandi tveimur mikilvægum skrám og eru:

  1. /etc/hosts.allow
  2. /etc/hosts.deny

Eins og nafnið gefur til kynna inniheldur fyrsta skráin færslur um leyfilega véla og sú seinni inniheldur heimilisföng lokaðra véla.

Til dæmis, við skulum loka fyrir SSH og FTP aðgang að hýsil sem hefur IP tölu 192.168.1.100 og netsvið 192.168.1.0. Þessi aðferð er sú sama fyrir CentOS 6.x og 7.x röð. Og auðvitað mun það virka á öðrum dreifingum eins og Debian, Ubuntu, SUSE, openSUSE o.s.frv.

Opnaðu /etc/hosts.deny skrána og bættu við eftirfarandi IP tölum eða netsviði sem þú vilt loka eins og sýnt er hér að neðan.

##### 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

Vistaðu og lokaðu skránni.

Nú skaltu endurræsa sshd og vsftpd þjónustu til að taka nýjar breytingar í gildi.

--------------- 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]

Reyndu nú að SSH þjóninn eða frá læstum gestgjafa.

# ssh 192.168.1.150

Þú munt sjá eftirfarandi úttak:

ssh_exchange_identification: read: Connection reset by peer

Reyndu nú að FTP netþjóninn eða frá læstum hýsil.

# ftp 192.168.1.150

Þú munt sjá eftirfarandi úttak:

Connected to 192.168.1.150.
421 Service not available.

Til að opna fyrir eða virkja SSH og FTP þjónustu aftur skaltu breyta hosts.deny skránni og gera athugasemdir við allar línur og að lokum endurræsa vsftpd og sshd þjónustu.

Niðurstaða

Það er allt í bili. Til að draga saman, í dag lærðum við hvernig á að loka á ákveðna IP tölu og netsvið með því að nota IPTables, FirewallD og TCP umbúðir. Þessar aðferðir eru frekar auðveldar og einfaldar.

Jafnvel, nýliði Linux stjórnandi getur gert þetta á nokkrum mínútum. Ef þú þekkir aðrar leiðir til að loka á SSH og FTP aðgang, ekki hika við að deila þeim í athugasemdahlutanum. Og ekki gleyma að deila greinum okkar á öllum félagslegum netum þínum.