Nosaukums
hosts_access - uzņēmējas piekļuves formāts Linux vadības failus.
Apraksts
Šī rokasgrāmata raksturo Linux kā vienkāršu piekļuves kontroles valodu, kuras pamatā ir klienta (resursdatora nosaukums / adrese, lietotājvārds) un servera (procesa nosaukums, resursdatora nosaukums / adrese) modeļi. Piemēri ir doti beigās. Neapmierinātam lasītājam ir ieteicams ātri pāriet pie sadaļas "Piemēri", lai to ātri iepazītos. Piekļuves kontroles valodas paplašināta versija ir aprakstīta hosts_options (5) dokuments. Paplašinājumi tiek ieslēgti programmu veidošanas laikā, veidojot -DPROCESS_OPTIONS.
Turpmākajā tekstā dēmons ir tīkla dēmonu procesa nosaukums, un klients ir pieprasījuma saņēmēja pakalpojuma nosaukums un / vai adrese. Tīkla deemonu procesa nosaukumi ir norādīti inetd konfigurācijas failā.
Piekļuves kontroles faili
Piekļuves kontroles programmatūra konsultē divus failus. Meklēšana apstājas pirmajā spēlē.
Piekļuve tiks piešķirta, ja (dēmons, klients) pāra sakritīs ar ierakstu /etc/hosts.allow fails
Pretējā gadījumā piekļuve tiks liegta, ja (dēmons, klients) pāra sakritīs ar ierakstu /etc/hosts.deny fails
Pretējā gadījumā piekļuve tiks piešķirta.
Neeksistējošs piekļuves kontroles fails tiek uzskatīts par tukšu failu. Tādējādi piekļuves kontroli var izslēgt, nodrošinot piekļuves kontroles failus.
Piekļuves kontroles noteikumi
Katrs piekļuves kontroles fails sastāv no nulles vai vairākām teksta rindām. Šīs līnijas tiek apstrādātas pēc izskata. Meklēšana tiek pārtraukta, kad tiek atrasta atbilstība.
Jauna līnijas rakstzīme tiek ignorēta, kad tai priekšā ir atpakaļzīmju zīme. Tas ļauj jums sadalīt garās līnijas, lai tās būtu vieglāk rediģēt.
Tukšas līnijas vai līnijas, kas sākas ar rakstzīmi "#", tiek ignorētas. Tas ļauj ievietot komentārus un atstarpes, lai tabulas būtu vieglāk lasāmas.
Visām pārējām līnijām jāatbilst šādam formātam, lietas starp ir neobligātas:
daemon_list: client_list : shell_command
daemon_list ir vienas vai vairāku dēmonu procesa nosaukumu (argv 0 vērtības) vai aizstājējzīmju saraksts (skatiet zemāk).
client_list ir viens vai vairāki saimniekdatoru nosaukumi, uzņēmēja adreses, modeļi vai aizstājējzīmes (sk. turpmāk), kas tiks salīdzināti ar klienta saimniekdatora nosaukumu vai adresi.
Sarežģītākās formas daemon @ host un lietotājs @ saimnieks ir izskaidrotas sadaļās par servera parametru modeļiem un klienta lietotājvārdu meklēšanu attiecīgi.
Sarakstu elementi jāatdala ar rindām un / vai komatiem.
Izņemot NIS (YP) tīkla grupas meklēšanu, visas piekļuves kontroles pārbaudes nav reģistrētas.
Modeļi
Piekļuves kontroles valoda īsteno šādus modeļus:
Virkne, kas sākas ar `. ' raksturs. Mītnes nosaukums tiek saskaņots, ja tā nosaukuma pēdējie komponenti atbilst norādītajam paraugam. Piemēram, modelis `.tue.nl 'atbilst resursdatora nosaukumam` wzv.win.tue.nl'.
Virkne, kas beidzas ar `. ' raksturs. Mītnes adrese ir saskaņota, ja tā pirmie ciparu lauki atbilst dotajai virknei. Piemēram, modelis `131.155. ' atbilst (gandrīz) katra uzņēmēja adresei Eindhovenas Universitātes tīklā (131.155.x.x).
Virkne, kas sākas ar `@ 'rakstzīmi, tiek uzskatīta par NIS (agrāk YP) tīkla grupas nosaukumu. Mītnes nosaukums tiek saskaņots, ja tas ir norādītās neto grupas uzņēmēja loceklis. Tīkla grupas spēles neatbalsta dēmonu procesu nosaukumus vai klienta lietotāju vārdus.
Formas "n.n.n.n / m.m.m" izteiksme tiek interpretēta kā "net / maska" pāra. IPv4 uzņēmējas adrese ir saskaņota, ja "net" ir vienāda ar bitwise AND adresi un masku. Piemēram, tīkla / maska modelis `131.155.72.0/255.255.254.0 'atbilst katrai adresei diapazonā' 131.155.72.0 ', izmantojot' 131.155.73.255 '.
Formas "n: n: n: n: n: n: n: n / m" izteiksme tiek interpretēta kā "net / prefixlen" pāra poga. IPv6 uzņēmējas adrese tiek saskaņota, ja "prefixlen" biti no "net" ir vienādi ar adreses "prefixlen" bitiem. Piemēram, net / prefixlen raksts `3ffe: 505: 2: 1 :: / 64 'atbilst visām adresēm diapazonā' 3ffe: 505: 2: 1 :: ', izmantojot" 3ffe: 505: 2: 1: ffff: ffff: ffff: ffff '.
Virkne, kas sākas ar `/ 'rakstzīmi, tiek uzskatīta par faila nosaukumu. Mītnes nosaukums vai adrese ir saskaņota, ja tas atbilst jebkuram resursdatora nosaukumam vai adreses veidam, kas norādīts nosauktajā failā. Faila formāts ir nulle vai vairāk līniju ar nulli vai vairāk resursdatora nosaukumu vai adreses modeļus, kurus atdala atstarpes. Faila nosaukuma modeli var izmantot jebkurā vietā, kur var izmantot resursdatora nosaukumu vai adreses modeli.
Aizstājējzīmes * un `? ' var izmantot, lai saskaņotu resursdatora nosaukumus vai IP adreses. Šo saskaņošanas metodi nevar izmantot kopā ar "neto / maska" saskaņošanu, hostname atbilstību sākas ar "." vai IP adreses atbilstība beidzas ar `. '.
Aizstājējzīmes
Piekļuves kontroles valoda atbalsta precīzus aizstājējzīmes, tostarp:
"VISI"
Universālā aizstājējzīme vienmēr atbilst.
"LOCAL"
Atbilst jebkuram uzņēmējam, kura vārds nesatur punktzīmi.
"NEZINĀMS"
Atbilst jebkuram lietotājam, kura vārds nav zināms, un atbilst jebkurai uzņēmējai, kuras vārds ir vai adrese nav zināma. Šis modelis jālieto uzmanīgi: pagaidu vārda servera problēmu dēļ mītnes vārdi var nebūt pieejami. Tīkla adrese nebūs pieejama, ja programmatūra nevar noskaidrot, ar kāda veida tīklu tā runā.
"ZINĀT"
Atbilst jebkuram lietotājam, kura vārds ir zināms, un atbilst jebkurai uzņēmējai, kuras vārds ir un adrese ir zināma.Šis modelis jālieto uzmanīgi: pagaidu vārda servera problēmu dēļ mītnes vārdi var nebūt pieejami. Tīkla adrese nebūs pieejama, ja programmatūra nevar noskaidrot, ar kāda veida tīklu tā runā.
"PARANOID"
Atbilst jebkurai uzņēmējai, kuras nosaukums neatbilst tās adresei. Kad tcpd ir veidots ar -DPARANOID (noklusējuma režīms), tas liek pieprasījumus no šiem klientiem, pat pirms piekļūšanas kontroles tabulām. Veidojiet bez -DPARANOID, ja vēlaties vairāk kontrolēt šādus pieprasījumus.
"OPERATORI"
"IZŅEMOT"
Paredzētais lietojums ir šāda: `list_1 EXCEPT list_2 '; šis konstrukts atbilst jebko, kas atbilst saraksts_1 ja vien tas neatbilst saraksts_2 . EXCEPT operatoru var izmantot daemon_lists un client_lists. EXCEPT operators var būt ligzdots: ja kontroles valoda ļautu izmantot iekavās, "izņemot B EXCEPT c" varētu parsēt kā "(EXCEPT (b EXCEPt c))".
Shell komandas
Ja pirmajam saskaņotajam piekļuves kontroles noteikumam ir apvalka komanda, šī komanda tiek pakļauta% aizstāšanai (skatiet nākamo sadaļu). Rezultātu izpilda a / bin / sh bērna process ar standarta ievadi, izvadi un kļūdu, kas saistīta ar / dev / null . Termināļa komandas beigās norādiet `& ', ja nevēlaties gaidīt, līdz tas ir pabeigts.
Shell komandām nevajadzētu paļauties uz inetd iestatījumu PATH. Tā vietā viņiem jāizmanto absolūti ceļu nosaukumi, vai arī tiem vajadzētu sākt ar skaidru PATH = jebkura veida paziņojumu.
The hosts_options (5) dokumentā ir aprakstīta alternatīva valoda, kas izmanto čaulas komandu lauku citā un nesavienojamā veidā.
Izplešanās%
Pamata komandās ir pieejamas šādas paplašinājumi:
% a (% A) - klienta (servera) resursdatora adrese.
% c - Klienta informācija: lietotājs @ uzņēmēja, lietotāja @ adrese, resursdatora nosaukums vai tikai adrese, atkarībā no tā, cik daudz informācijas ir pieejama.
% d - Dēmona procesa nosaukums (argv 0 vērtība).
% h (% H) - klienta (servera) resursdatora nosaukums vai adrese, ja resursdatora nosaukums nav pieejams.
% n (% N) - klienta (servera) resursdatora nosaukums (vai "nezināms" vai "paranoid").
% p - dēmonu procesa id.
% s - Informācija par serveri: daemon @ host, daemon @ adrese vai tikai dēmonu nosaukums, atkarībā no tā, cik daudz informācijas ir pieejama.
% u - Klienta lietotāja vārds (vai "nezināms").
%% - Izvērš vienu rakstzīmi `% '.
Simboli% paplašinājumos, kas var sajaukt apvalku, tiek aizstāti ar pasvītrojumiem.
Servera parametru modeļi
Lai atšķirtu klientus pēc tīkla adreses, ar kuru viņi izveidojuši savienojumu, izmantojiet veidlapas modeļus:
process_name @ host_pattern: client_list …
Šos modeļus var izmantot, ja iekārtai ir atšķirīgas interneta adreses ar dažādiem interneta resursiem. Pakalpojumu sniedzēji var izmantot šo iespēju, lai piedāvātu FTP, GOPHER vai WWW arhīvus ar interneta nosaukumiem, kas var pat piederēt dažādām organizācijām. Skatiet arī variantu "vērpjot" hosts_options (5) dokumentā. Dažās sistēmās (Solaris, FreeBSD) vienā fiziskajā saskarnē var būt vairāk nekā viena interneta adrese; ar citām sistēmām jums var nākties izmantot SLIP vai PPP pseido saskarnes, kas dzīvo īpašā tīkla adreses telpā.
Host_pattern izpilda tādus pašus sintakses noteikumus kā resursdatoru nosaukumi un adreses klientu_list kontekstā. Parasti servera parametru informācija ir pieejama tikai ar pieslēgumu orientētiem pakalpojumiem.
Klienta lietotājvārdu meklēšana
Ja klienta mītne atbalsta RFC 931 protokolu vai vienu no tā pēcnācējiem (TAP, IDENT, RFC 1413), iesaiņojuma programmas var iegūt papildu informāciju par savienojuma īpašnieku. Klienta lietotājvārdu informācija, ja tā ir pieejama, tiek reģistrēta kopā ar klienta resursdatora nosaukumu, un to var izmantot, lai saskaņotu tādus modeļus kā:
daemon_list: … user_pattern @ host_pattern …
Dellen apvalkus var konfigurēt sastādīšanas laikā, lai veiktu ar noteikumiem saistītu lietotājvārdu meklēšanu (pēc noklusējuma) vai vienmēr uzzinātu klienta saimniekdatoru. Gadījumā, ja uz noteikumiem balstīti lietotājvārdu meklēšanu, iepriekšminētais noteikums var izraisīt lietotājvārdu meklēšanu tikai tad, ja abas daemon_list un host_pattern spēles
Lietotāja modelim ir tāds pats sinhronais kā dēmona procesa modelis, tādēļ tiek izmantoti tie paši aizstājējzīmes (dalība grupās netiek atbalstīta). Neskatoties uz lietotājvārdu meklēšanu, to nevajadzētu uztvert.
Klienta lietotājvārdu informāciju nevar uzticēt, kad tas visvairāk nepieciešams, t.i., ja klienta sistēma ir apdraudēta. Parasti ALL un (UN) KNOWN ir vienīgais lietotājvārdu modelis, kas ir jēga.
Lietotājvārdu meklējumi ir iespējami tikai ar TCP balstītiem pakalpojumiem un tikai tad, ja klienta uzņēmējai ir piemērots dēmons; visos pārējos gadījumos rezultāts ir "nezināms".
Labi pazīstama UNIX kodola kļūda var izraisīt pakalpojuma zaudēšanu, ja ugunsmūri bloķē lietotājvārdu meklēšanu. Iesaiņojuma README dokuments raksturo procedūru, lai noskaidrotu, vai jūsu kodolam ir šī kļūda.
Lietotāja vārdu meklēšana var radīt ievērojamu kavēšanos lietotājiem, kas nav UNIX lietotāji. Noklusējuma lietotājvārdu meklēšanas ilgums ir 10 sekundes: pārāk īss, lai tiktu galā ar lēniem tīkliem, bet pietiekami ilgi, lai kairinātu datoru lietotājus.
Izvēles lietotājvārdu meklēšana var mazināt pēdējo problēmu. Piemēram, šāds noteikums:daemon_list: @ pcnetgroup ALL @ ALL
varētu saskaņot pc netgroup dalībniekus, neveicot lietotājvārdu meklēšanu, bet veicot lietotājvārdu meklēšanu ar visām citām sistēmām. Daudzu TCP / IP implementāciju kārtas numuru ģeneratora trūkums ļauj iebrucējiem viegli uzdāvināt uzticamos saimniekus un izlauzties, izmantojot, piemēram, attālināto apvalku pakalpojumu.Pakalpojumu IDENT (RFC931 utt.) Pakalpojumu var izmantot, lai noteiktu šādu un citu uzņēmēja adreses spoofing uzbrukumus. Pirms klienta pieprasījuma pieņemšanas pakas var izmantot IDENT pakalpojumu, lai noskaidrotu, ka klients vispār nav nosūtījis pieprasījumu. Ja klienta uzņēmēja nodrošina IDENT pakalpojumu, negatīvais IDENT meklēšanas rezultāts (klients atbilst `UNKNOWN @ host ') ir spēcīgs pierādījums tam, ka uzņēmējs spoofing uzbrukums. Pozitīvs IDENT meklēšanas rezultāts (klients atbilst "KNOWN @ host") ir mazāk uzticams. Ieslodzītais var sabojāt gan klienta savienojumu, gan IDENT uzmeklēšanu, lai gan tas ir daudz sarežģītāks nekā spoofing tikai klienta savienojums. Iespējams, ka atrodas arī klienta IDENT serveris. Piezīme. IDENT meklēšana nedarbojas ar UDP pakalpojumiem. Valoda ir pietiekami elastīga, lai dažāda veida piekļuves kontroles politiku varētu izteikt ar minimālu satraukumu. Lai gan valoda izmanto divas piekļuves kontroles tabulas, visbiežāk sastopamās politikas var īstenot, ja viena no tabulām ir niecīga vai pat tukša. Lasot tālāk minētos piemērus, ir svarīgi apzināties, ka atļautā tabula tiek skenēta pirms nolieguma tabulas, ka meklēšana tiek pārtraukta, kad tiek atrasta atbilstība, un šī piekļuve tiek piešķirta, ja vispār netiek atrasta atbilstība. Piemēri izmanto saimniekdatora un domēna vārdus. Tos var uzlabot, iekļaujot adreses un / vai tīkla / tīkla mask informāciju, lai samazinātu pagaidu vārda servera meklēšanas kļūmju ietekmi. Šajā gadījumā pēc noklusējuma piekļuve tiek liegta. Ir atļauta piekļuve tikai skaidri atļautiem saimniekiem. Noklusējuma politika (nav piekļuves) tiek ieviesta ar trivial deny failu: /etc/hosts.deny: ALL: ALL Tas liedz visiem pakalpojumiem visiem saimniekiem, ja vien tiem nav atļauta piekļuve ierakstiem atļautajā failā. Skaidri autorizētie saimnieki ir uzskaitīti atļaušanas failā. Piemēram: /etc/hosts.allow: ALL: LOCAL @ some_netgroupALL: .foobar.edu IZŅEMOT terminalserver.foobar.edu Pirmais noteikums ļauj piekļūt no saimniekiem vietējā domēnā (nē `. 'Resursdatora nosaukumā) un no some_netgroup netgroup. Otrais noteikums ļauj piekļūt no visiem saimniekiem foobar.edu domēns (pamanīt vadošo punktu), izņemot terminalserver.foobar.edu . Šeit piekļuve tiek piešķirta pēc noklusējuma; tikai skaidri norādītie saimnieki tiek noraidīti pakalpojumā. Noklusējuma politika (piešķirta piekļuve) padara atļauto failu lieku, lai to varētu izlaist. Neapstiprinātos saimniekdatoros ir norādīti noliedzošajā failā. Piemēram: /etc/hosts.deny: ALL: some.host.name, .some.domainVISI, IZŅEMOT in.fingerd: other.host.name, .other.domain Pirmais noteikums noraida dažus saimniekus un domēnus visiem pakalpojumiem; otrais noteikums joprojām atļauj pirkstu pieprasījumus no citiem saimniekiem un domēniem. Nākamais piemērs ļauj tftp pieprasījumus no saimniekiem vietējā domēnā (pamanīt galveno punktu). Lūgumi no jebkura cita saimnieka tiek liegti. Pieprasītā faila vietā pirkstu zonde tiek nosūtīta uz pārkāpušo uzņēmēju. Rezultāts tiek nosūtīts administratoram. /etc/hosts.allow: in.tftpd: LOCAL, .my.domain/etc/hosts.deny:in.tftpd: ALL: nerunāt (/ some / where / safe_finger -l @% h | / usr / ucb / mail -s% d-% h root) &
Safe_finger komandai ir tcpd iesaiņojums, un tā jāuzstāda piemērotā vietā. Tas ierobežo iespējamo bojājumu no attālināta pirksta servera nosūtītajiem datiem. Tas nodrošina labāku aizsardzību nekā standarta pirksta komanda. % H (klienta saimniekdatora) un% d (pakalpojuma nosaukums) secību paplašināšana ir aprakstīta čaulas komandu sadaļā. Brīdinājums: Neizmantojiet pirkstu dēmonu, ja vien neesat gatavs bezgalīgu pirkstu cilpām. Uz tīkla ugunsmūra sistēmām šo triku var pārnest vēl tālāk. Tipiskais tīkla ugunsmūris nodrošina ierobežotu pakalpojumu klāstu ārējai pasaulei. Visi pārējie pakalpojumi var tikt bugged tāpat kā iepriekš tftp piemērs. Rezultāts ir lieliska agrīnās brīdināšanas sistēma. tcpd (8) tcp / ip daemon iesaiņojuma programma.tcpdchk (8), tcpdmatch (8), testa programmas.
Svarīgs: Izmantojiet cilvēks komanda ( % cilvēks ), lai redzētu, kā komanda tiek izmantota jūsu konkrētajā datorā. Atklāšanas uzbrukumi uz adresi
Piemēri
Galvenokārt slēgts
Pārsvarā atvērts
Bobu slazdi
Skatīt arī













