Hosts.deny - Linuksa Komando - Unikso Komando

NAME

hosts_access - formato de gastigaj alservaj dosieroj

PRISKRIBO

Ĉi tiu manlibro priskribas simplan kontrolon de aliro, kiu bazas en kliento (gastiganta nomo / adreso, uzulnomo) kaj servilo (procezo de nomo, gastiganto-nomo). Ekzemploj estas donitaj al la fino. La senpacienca leganto estas kuraĝigita salti al la EksEMPLI-sekcio por rapida enkonduko.

Versio etendita de la lingvo de kontrolo de aliro priskribas en la dokumentoj hosts_options (5). La etendoj estas ŝaltitaj ĉe programo konstrui tempon per konstruado kun -DPROCESS_OPTIONS.

En la sekva teksto, daemon estas la proceza nomo de reto- demokratia procezo, kaj kliento estas la nomo kaj / aŭ adreso de servanta peto-servo. La nomoj de procezoj de reto daemon estas specifitaj en la enmeta agorda dosiero.

Akcesi kontrolajn filtrilojn

La programaro pri kontrolo de aliro konsultas du dosierojn . La serĉo ĉesas ĉe la unua matĉo:

*

Aliro estos donita kiam (daemon, kliento) paro kunigas eniron en la /etc/hosts.allow-dosiero .

*

Alie, aliro estos malkonfirmita kiam ( daemon , kliento) paro kunigas eniron en la /etc/hosts.deny-dosiero .

*

Alie, aliro estos donita.

Ne ekzistanta alira alira dosiero estas traktita kvazaŭ ĝi estis malplena dosiero. Tiel, alirebla kontrolo povas esti malakceptita per provizanta neniujn alirenajn kontrolojn.

REDIĜOJ KONTROLOJ RULOJ

Ĉiu aldosiera dosiero konsistas el nulo aŭ pli da linioj de teksto. Ĉi tiuj linioj estas procesitaj laŭ aspekto. La serĉo finiĝas kiam trovita matĉo.

*

Nova linio karaktero estas ignorita kiam ĝi antaŭas per malantaŭa karaktero. Ĉi tio permesas vin rompi longajn liniojn por ke ili estas pli facilaj por redakti.

*

Blankaj linioj aŭ linioj, kiuj komenciĝas per karaktero '#' estas ignoritaj. Ĉi tio permesas al vi enmeti komentojn kaj spacon por ke la tabloj estas pli facilaj legi.

*

Ĉiuj aliaj linioj devus kontentigi la jenan formaton, aĵoj inter [] esti laŭvola:


daemon_list: client_list [: shell_command]

Daemon_list estas listo de unu aŭ pli da demokraj nomoj (argv [0] (valoroj, valoras)) aŭ bildkartoj (vidu sube).

client_list estas listo de unu aŭ pli gastigaj nomoj, gastigaj adresoj, ŝablonoj aŭ kartoj (vidu sube), kiuj kombinas kontraŭ la gastiganta nomo aŭ adreso.

La pli kompleksaj formoj daemon @ host kaj user @ host estas klarigitaj en la sekcioj de servilfontaj ŝablonoj kaj sur klientaj uzantnomo serĉoj, respektive.

Lertaj elementoj devas esti apartigitaj per lokoj kaj / aŭ komoj.

Krom esceptoj de NIS (YP) de netgroup, ĉiuj kontroloj de kontrolo de aliro estas kazoj senĉese.

PATROS

La lingva kontrolo de aliroj implementas la jenajn ŝablonojn:

*

Ĉeno kiu komencas per '.' karaktero. Gastiganta nomo estas egalita se la lastaj eroj de ĝia nomo kongruas kun la specifita ŝablono. Ekzemple, la ŝablono '.tue.nl' kongruas kun la gastiganta nomo 'wzv.win.tue.nl'.

*

Ĉeno kiu finiĝas per '.' karaktero. Gastiganta adreso estas egalita se ĝiaj unuaj nombraj kampoj kongruas kun la donita ĉeno. Ekzemple, la ŝablono '131.155.' kongruas kun la adreso de (preskaŭ) ĉiu gastiganto en la reto de Eindhoven University (131.155.xx).

*

Ĉeno kiu komencas per "@" karaktero estas traktita kiel NIS (iama YP) netgrupo nomo. Gastiganta nomo estas egalita se ĝi estas gastiganta membro de la specifita netgrupo. Netgroup-matĉoj ne estas subtenataj por demokraj procezoj aŭ por klientaj nomoj.

*

Esprimo de la formo 'nnnn / mmmm' estas interpretita kiel 'net / mask' paro. IPv4-gastiganta adreso estas egalita se 'reto' estas egala al la bitotaj AND de la adreso kaj la 'masko'. Ekzemple, la reto / maska ​​ŝablono '131.155.72.0/255.255.254.0' kongruas ĉiun adreson en la rango '131.155.72.0' per `131.155.73.255 '.

*

Esprimo de la formo '[n: n: n: n: n: n: n: n] / m' estas interpretita kiel '[net] / prefixlen' pair. IPv6-gastiganta adreso estas egalita se 'prefiksoj' bitoj de 'reto' estas egala al la 'prefiksoj' bitoj de la adreso. Ekzemple, la [net] / prefixlen pattern `[3ffe: 505: 2: 1 ::] / 64 'kongruas ĉiun adreson en la gamo' 3ffe: 505: 2: 1 :: 'through` 3ffe: 505: 2: 1: ffff: ffff: ffff: ffff '.

*

Ĉeno kiu komencas per "/" karaktero estas traktita kiel dosiernomo. Gastiganta nomo aŭ adreso estas egalita se ĝi kongruas kun iu ajn gastiganta nomo aŭ direkta ŝablono listigita en la nomata dosiero. La dosiero-formato estas nulo aŭ pli da linioj kun nulo aŭ pli gastigaj nomoj aŭ direktaj ŝablonoj apartigitaj per spaco-spaco. Dosiera nomo-ŝablono povas esti uzata en ajna loko, kie oni povas uzi gastigantan nomon aŭ adreson.

*

Kartoj '*' kaj `? ' povas esti uzata por kunigi gastignomojn aŭ IP-adresojn. Ĉi tiu metodo de kongruo ne povas esti uzata kune kun 'net / mask' matching, hostname matching beginning with '.' aŭ IP-adreso kun finaĵo kun '.'.

WILDCARDS

La lingvo de kontrolo de aliroj subtenas eksplicitajn kartojn:

ĈIUJ

La universala ŝarko, ĉiam matĉoj.

LOCAL

Matĉas ajnan gastiganton, kies nomo ne enhavas punktan karakteron.

UNKNOWN

Matĉas iun uzanton, kies nomo estas nekonata, kaj kongruas kun iu ajn gastiganto, kies nomo adreso estas nekonata. Ĉi tiu mastro devas esti uzata kun zorgoj: gastigaj nomoj ne povas esti trovitaj pro provizoraj nomoj de la servilo. Reta adreso ne estos disponebla kiam la programaro ne povas eltrovi, kian specon de reto ĝi parolas.

Konata

Matĉas iun uzanton, kies nomo estas konata, kaj kongruas kun iu ajn gastiganto, kies nomo kaj adreso estas konataj. Ĉi tiu mastro devas esti uzata kun zorgoj: gastigaj nomoj ne povas esti trovitaj pro provizoraj nomoj de la servilo. Reta adreso ne estos disponebla kiam la programaro ne povas eltrovi, kian specon de reto ĝi parolas.

PARANOJ

Matĉas ajnan gastiganton, kies nomo ne kongruas kun ĝia adreso. Kiam tcpd estas konstruita per -DPARANOID (defaŭlta reĝimo), ĝi falas petojn de tiaj klientoj eĉ antaŭ rigardi la tabulojn pri kontrolo de aliro. Konstruu sen -PARKOJ kiam vi volas pli da kontrolo pri tiaj petoj.

OPERATOROJ

Ekspicio

Intencita uzo estas de la formo: 'list_1 EXCEPT list_2'; Ĉi tiu konstruaĵo kongruas ĉion, kio kongruas list_1 krom se ĝi kongruas kun listo_2 . La EXCEPT-operatoro povas esti uzata en daemon_lists kaj en client_lists. La operaciulo EKSPO povas nestumi: se la kontrolo de lingvo permesus la uzon de paréntesis, 'EXCEPT b EXCEPT c' parolus kiel '(EXCEPT (b EXCEPT c))'.

SHELLaj Komandoj

Se la unua regulo de regularo de aliro enhavas konatan komandon, tiu komando estas submetita al% anstataŭigoj (vidu sekvan sekcion). La rezulto estas ekzekutita per / bin / sh infana procezo kun norma enigo, eligo kaj eraro konektita al / dev / null . Specifu '&' ĉe la fino de la komando se vi ne volas atendi ĝis ĝi finos.

Ŝildaj komandoj ne dependas de la PATH-aranĝo de la inetd. Anstataŭe, ili devus uzi absolutajn vojajn nomojn, aŭ ili devus komenci per eksplicita PATH = kia ajn deklaro.

La dokumentoj hosts_options (5) priskribas alternativan lingvon, kiu uzas la kampon-komandon en malsama kaj nekongrua maniero.

% EXPANSIOJ

La sekvaj ekspansioj estas haveblaj ene de konkoj:

% a (% A)

La kliento (servilo) gastiganta adreso.

% c

Kliento-informoj: uzanto @ host, uzanto-adreso, gastiganta nomo, aŭ nur adreson, depende de kiom da informo estas disponebla.

% d

La nomo de la demona procezo (argv [0] valoro).

% h (% H)

La kliento (servilo) gastiganta nomo aŭ adreso, se la gastiganta nomo ne estas disponebla.

% n (% N)

La kliento (servilo) gastiganta nomo (aŭ "nekonata" aŭ "paranoida").

% p

La demokrata procezo.

% s

Servila informo: daemon @ host, demokrato, aŭ nur demono, laŭ kiom da informoj estas disponeblaj.

% u

La uzanto de la kliento (aŭ "nekonata").

%%

Ekspansiiĝas al sola '%' karaktero.

Karakteroj en%-ekspansioj, kiuj povas konfuzi la ŝelon, estas anstataŭigitaj de subdiskoj.

SERVEROJ POSTOJ POSTOJ

Por distingi klientojn per la reto-adreso, kiun ili kunligas, uzu ŝablonojn de la formo:


process_name @ host_pattern: client_list ...

Ŝablonoj kiel ĉi tiuj povas esti uzataj kiam la maŝino havas malsamajn retadresojn kun malsamaj interretaj gastignomoj. Provizantoj de servoj povas uzi ĉi tiun facilecon por oferti FTP, GOPHER aŭ WWW-arkivojn kun interretaj nomoj, kiuj eble apartenas al malsamaj organizoj. Vidu ankaŭ la ' tordan ' opcion en la dokumentoj hosts_options (5). Iuj sistemoj (Solaris, FreeBSD) povas havi pli ol unu interretan adreson sur unu fizika interfaco; kun aliaj sistemoj vi eble devos recurri al SLIP aŭ PPP pseŭdaj interfacoj, kiuj vivas en dediĉita reto-adresa spaco.

La host_pattern obeas la samajn sintaksajn regulojn kiel gastigaj nomoj kaj adresoj en klienta listo. Kutime, servilo-punkto-informo estas disponebla nur kun rilatoj orientitaj al rilatoj.

KIENTO USERNAME LOOKUP

Kiam la kliento-gastiganto subtenas la protokolon RFC 931 aŭ unu el ĝiaj posteuloj (TAP, IDENT, RFC 1413), la envolvitaj programoj povas rekuperi pliajn informojn pri la posedanto de konekto. Klienta uzantnomo, kiam ĝi estas disponebla, estas ensalutinta kune kun la kliento gastigna nomo, kaj povas esti uzata por egali ŝablonojn kiel:


daemon_list: ... user_pattern @ host_pattern ...

La demokratoj povas esti agorditaj dum tempo de kompilaĵo por realigi serĉojn de uzantnomo (reguligi) de reguloj aŭ ĉiam pridemandi la klienton. En la kazo de reguligataj uzantnomo serĉoj, la supre regulo kaŭzus uzantnomon serĉi nur kiam ambaŭ la demon-liston kaj la host_pattern- matĉon.

Uzanto-ŝablono havas la saman sintakson kiel demono-procezo, do la samaj apartaĵoj aplikiĝas (netgrupo membreco ne estas subtenata). Oni ne devas forpreni serĉojn de uzantnomo, tamen.

*

La klientnomo-informa informo ne povas esti fidinda kiam ĝi bezonas la plej grandan parton, tio estas, kiam la kliento-sistemo kompromitis. Ĝenerale, ĈIUJ kaj (UN) KNOWN estas la solaj uzotaj ŝablonoj, kiuj havas senson.

*

Uzulnistutiloj estas eblaj nur kun TCP-bazitaj servoj, kaj nur kiam la kliento-gastiganto kuras taŭgan demonon; en ĉiuj aliaj kazoj la rezulto estas "nekonata".

*

Konata kerno de UNIKSO-kerno povas kaŭzi perdon de servado, kiam la serĉo de uzantnomo estas blokita de fajroŝirmilo. La envolvaĵo README-dokumento priskribas proceduron por ekscii, ĉu via kerno havas ĉi tiun eraron.

*

Uzantnomo serĉoj povas kaŭzi markindajn malfruojn por ne-UNIX-uzantoj. La eraro defaŭlta por serĉo de uzantnomo estas 10 sekundoj: tro mallongaj por trakti malrapidajn retojn, sed sufiĉe longe por iriti uzantojn de PC.

Elektitaj uzantnomo serĉoj povas malpezigi la lastan problemon. Ekzemple regulo kiel:


daemon_list: @pcnetgroup ĈIUJ @ TIU

kongruus kun membroj de la pc-reto sen realigi serĉojn de uzantnomo, sed plenumos serĉojn de uzantnomo kun ĉiuj aliaj sistemoj.

DETEKTAJ ADDRESS SPOOFING ATTACKS

Malsukceso en la sekvenca nombro-generatoro de multaj TCP / IP-efektivigoj permesas al la entruduloj facile prezenti fidindajn gastigantojn kaj rompi la vojon, ekzemple, la malproksima ŝelo-servo. La servo IDENT (RFC931 ktp) povas esti uzata por detekti tiajn kaj aliajn gastigadajn atakojn.

Antaŭ ol akcepti klientan peton, la envolviloj povas uzi la IDENT-servon por ekscii, ke la kliento tute ne sendis la peton. Kiam la kliento-gastiganto havigas IDENT-servon, negativa serĉo de rezulto (la kliento kongruas 'UNKNOWN @ host') estas forta evidenteco de gastiganta atako.

Pozitiva serĉa rezulto (la kliento matiĝas 'KNOWN @ host') estas malpli fidinda. Eblas entrudulo por defendi la klientan rilaton kaj la IDENT-serĉon, kvankam tiel fariĝante multe pli malfacilas ol nur konekti klienton. Eble ankaŭ estas, ke la IDENT-servilo de la kliento mensogas.

Noto: IDENT-serĉoj ne funkcias kun UDP-servoj.

Ekzemploj

La lingvo estas sufiĉe fleksebla, ke malsamaj tipoj de aliro-politika politiko povas esti esprimitaj kun minimuma krimo. Kvankam la lingvo uzas du tabulojn pri kontrolo de aliro, la plej komunaj politikoj povas esti efektivigitaj per unu el la tabloj estas bagatelaj aŭ eĉ malplenaj.

Al la legi la ekzemplojn sube, gravas rimarki, ke la tablo de permesilo estas scannita antaŭ la nekonata tablo, ke la serĉo finiĝas kiam trovita matĉo troviĝas, kaj tiu aliro estas donita kiam nenia matĉo troviĝas.

La ekzemploj uzas gastigajn kaj domajnajn nomojn. Ili povas esti plibonigitaj per inkluzivanta adreson kaj / aŭ reton / netmask-informon, por redukti la efikon de tempoj de tempoj-servilo-serĉo-malsukcesoj.

POST KLUZITA

En ĉi tiu kazo, aliro estas malkonfirmita defaŭlte. Nur eksplicite rajtigitaj gastigantoj rajtas aliri.

La defaŭlta politiko (neniu aliro) estas efektivigita per banala nea dosiero:

/etc/hosts.deny: ĈIUJ: ĈIUJ

Ĉi tio malkonfirmas ĉiujn servojn al ĉiuj gastigantoj, krom se ili rajtas aliri per eniroj en la permesilo.

La eksplicite rajtigitaj gastigantoj estas listigitaj en la permesilo. Ekzemple:

/etc/hosts.allow: ĈIU: LOCAL @some_netgroup
ĈIU: .foobar.edu EXCEPT terminalserver.foobar.edu

La unua regulo permesas aliron de gastigantoj en la loka regado (ne '.' En la gastiganta nomo) kaj de membroj de la grupo de some_netgroup. La dua regulo permesas aliron de ĉiuj gastigantoj en la foobar.edu- domajno (rimarki la eminentan punkton), krom la fina stacioj.verobar.edu .

POSTUA OPEN

Ĉi tie, aliro estas donita defaŭlte; nur eksplicite specifitaj gastigantoj rifuzas servon.

La defaŭlta politiko (alirita donita) faras la permesilon de redundo tiel ke ĝi povas esti preterlasita. La eksplicite ne-rajtigitaj gastigantoj estas listigitaj en la nekonata dosiero. Ekzemple:

/etc/hosts.deny: ĈIU: some.host.name, .some.domain
ĈIUJ EksKRIBO en.fingerd: other.host.name, .other.domain

La unua regulo neas iujn gastigantojn kaj domajnojn ĉiujn servojn; la dua regulo ankoraŭ permesas fingrajn petojn de aliaj gastigantoj kaj domajnoj.

BOOBJAJ TRAĜOJ

La sekva ekzemplo permesas tftp-petojn de gastigantoj en la loka regado (rimarki la eminentan punkton). Petoj de iu ajn alia gastiganto estas malkonfirmitaj. Anstataŭ la petita dosiero, fingroketo estas sendita al la ofendanta gastiganto. La rezulto estas sendita al la superusisto.

/etc/hosts.allow:

in.tftpd: LOCAL, .my.domain /etc/hosts.deny: in.tftpd: ĈIU: spawn (/ some / where / safe_finger -l @% h | \ / usr / ucb / mail -s% d-% h radiko) &

La komando safe_finger venas kun la tcpd envolvaĵo kaj devus esti instalita en taŭga loko. Ĝi limigas ebla damaĝo de datumoj senditaj de la remota fingro-servilo. Ĝi donas pli bonan protekton ol la norma fingra komando.

La ekspansio de la% h (kliento gastiganto) kaj% d (servaj nomoj) sekvencoj estas priskribita en la sekcio sur konkoj.

Averto: ne boobi-kaptu vian fingron-demonon, krom se vi estas preta por senfinaj fingraj maŝoj.

En sistemoj de fajrujo de reto ĉi tiu lertaĵo povas esti portita eĉ pli. La tipa reto firewall nur provizas limigitan aron da servoj al la ekstera mondo. Ĉiuj aliaj servoj povas esti "bugged", kiel la supra tftp-ekzemplo. La rezulto estas bonega frua averta sistemo.

Grava: Uzu la komandon ( % viro ) por vidi kiel komando estas uzata en via komputilo.

Rilataj artikoloj