Kā nodrošināt tīkla pakalpojumus, izmantojot Linux TCP iesaiņotājus
Šajā rakstā mēs izskaidrosim, kas ir TCP iesaiņotāji un kā tos konfigurēt konfigurētam ugunsmūrim.
Šajā sakarā jūs varat domāt par šo rīku kā galveno savas sistēmas drošības līdzekli. Izmantojot ugunsmūri un TCP ietinējus, tā vietā, lai dotu priekšroku viens otram, jūs pārliecināsieties, ka jūsu serverim nav atstāts viens kļūmes punkts.
Izpratne hosts.allow un hosts.deny
Kad tīkla pieprasījums sasniedz jūsu serveri, TCP iesaiņotāji izmanto hosts.allow
un hosts.deny
(šādā secībā), lai noteiktu, vai klientam jāļauj izmantot doto pakalpojumu .
Pēc noklusējuma šie faili ir tukši, visi ir komentēti vai to nav. Tādējādi viss ir atļauts, izmantojot TCP iesaiņotāju slāni, un jūsu sistēma tiek pilnībā paļauties uz ugunsmūri. Tā kā tas nav vēlams ievadā norādītā iemesla dēļ, pārliecinieties, vai pastāv abi faili:
# ls -l /etc/hosts.allow /etc/hosts.deny
Abu failu sintakse ir vienāda:
<services> : <clients> [: <option1> : <option2> : ...]
kur,
- pakalpojumi ir komatu atdalīts to pakalpojumu saraksts, kuriem jāpiemēro pašreizējais noteikums.
- klienti pārstāv to komatu atdalīto saimniekdatoru vai IP adrešu sarakstu, uz kuriem attiecas kārtula. Tiek pieņemtas šādas aizstājējzīmes:
- VISI atbilst visam. Attiecas gan uz klientiem, gan pakalpojumiem.
- LOCAL atbilst saimniekiem bez perioda savā FQDN, piemēram, localhost.
- ZINĀTS norāda situāciju, kad ir zināms resursdatora nosaukums, resursdatora adrese vai lietotājs.
- Nezināms ir pretējs ZINĀTAM.
- PARANOID dēļ savienojums tiek pārtraukts, ja reversā DNS meklēšana (vispirms IP adresē, lai noteiktu resursdatora nosaukumu, pēc tam resursdatora nosaukumā, lai iegūtu IP adreses) katrā gadījumā atgriež citu adresi.
Varat paturēt prātā, ka kārtulai, kas atļauj piekļuvi noteiktam pakalpojumam sadaļā
/etc/hosts.allow
, ir prioritāte pār/etc/hosts.deny
kārtulu, kas aizliedz to. Turklāt, ja uz vienu un to pašu pakalpojumu attiecas divi noteikumi, tiks ņemts vērā tikai pirmais.Diemžēl ne visi tīkla pakalpojumi atbalsta TCP iesaiņotāju izmantošanu. Lai noteiktu, vai konkrētais pakalpojums tos atbalsta, rīkojieties šādi:
# ldd /path/to/binary | grep libwrap
Ja iepriekš minētā komanda atgriež izvadi, to var ietīt TCP. Piemērs tam ir sshd un vsftpd, kā parādīts šeit:
Kā izmantot TCP iesaiņotājus, lai ierobežotu piekļuvi pakalpojumiem
Rediģējot
/etc/hosts.allow
un/etc/hosts.deny
, pārliecinieties, vai esat pievienojis jaunu rindiņu, nospiežot Enter pēc pēdējās neiztukšotās rindas.Lai atļautu SSH un FTP piekļuvi tikai vietnei 192.168.0.102 un localhost un noraidītu visus pārējos, pievienojiet šīs divas rindas mapē
/etc/hosts.deny
:sshd,vsftpd : ALL ALL : ALL
un šāda rindiņa
/etc/hosts.allow
:sshd,vsftpd : 192.168.0.102,LOCAL
# # hosts.deny This file contains access rules which are used to # deny connections to network services that either use # the tcp_wrappers library or that have been # started through a tcp_wrappers-enabled xinetd. # # The rules in this file can also be set up in # /etc/hosts.allow with a 'deny' option instead. # # See 'man 5 hosts_options' and 'man 5 hosts_access' # for information on rule syntax. # See 'man tcpd' for information on tcp_wrappers # sshd,vsftpd : ALL ALL : ALL
# # hosts.allow This file contains access rules which are used to # allow or deny connections to network services that # either use the tcp_wrappers library or that have been # started through a tcp_wrappers-enabled xinetd. # # See 'man 5 hosts_options' and 'man 5 hosts_access' # for information on rule syntax. # See 'man tcpd' for information on tcp_wrappers # sshd,vsftpd : 192.168.0.102,LOCAL
Šīs izmaiņas notiek nekavējoties bez restartēšanas.
Šajā attēlā var redzēt vārda
LOCAL
noņemšanas sekas no pēdējās rindas: FTP serveris kļūs nepieejams localhost. Pēc tam, kad aizstājam aizstājējzīmi, pakalpojums atkal ir pieejams.Lai ļautu visiem pakalpojumiem uzturēt resursdatorus, kuru nosaukumā ir
example.com
, pievienojiet šo rinduhosts.allow
:ALL : .example.com
un, lai liegtu piekļuvi vsftpd mašīnām 10.0.1.0/24 versijā, pievienojiet šo rindu mapē
hosts.deny
:vsftpd : 10.0.1.
Pēdējos divos piemēros ievērojiet punktu klientu saraksta sākumā un beigās. To lieto, lai norādītu “VISUS resursdatorus un/vai klientus, ja nosaukumā vai IP ir šī virkne”.
Vai šis raksts jums bija noderīgs? Vai jums ir kādi jautājumi vai komentāri? Jūtieties brīvi nomest mums piezīmi, izmantojot zemāk esošo komentāru veidlapu.