Hosts.allow - Linux Command - Unix каманднага

NAME

hosts_access - фармат файлаў кантролю доступу хаста

АПІСАННЕ

Гэта кіраўніцтва апісвае просты мова кіравання доступам, заснаваны на кліенце (імя хаста / адрас, імя карыстальніка) і сервер (імя працэсу, імя хаста / адрас) патэрны. Прыклады прыведзены ў канцы. Нецярплівы чытачу прапануецца перайсці да падзелу Прыклады для хуткага ўвядзення .AN пашыранай версіі мовы кіравання доступам апісана ў hosts_options (5) дакумента. Пашырэння ўключаны падчас зборкі праграмы на будынак з -DPROCESS_OPTIONS.

У наступным тэксце, дэман імя працэсу з працэсу дэмана сеткі , а кліент назва і / або адрас паслугі хаста запыту. Імёны працэсу дэмана сетак пазначаны ў Inetd канфігурацыйнага файла.

КАНТРОЛЬ ДОСТУПУ ФАЙЛЫ

Праграмнае забеспячэнне кіравання доступам кансультуецца два файла . Пошук спыняецца на першым матчы.

Доступ будзе прадастаўлены , калі (дэман, кліент) пара адпавядае запісу ў файле /etc/hosts.allow.

У адваротным выпадку доступ будзе забаронены , калі (дэман, кліент) пара адпавядае запісу ў файле /etc/hosts.deny.

У адваротным выпадку доступ будзе прадастаўлены.

Неіснуючы файл кантролю доступу разглядаецца, як калі б гэта быў пусты файл. Такім чынам, сістэма кантролю доступу можа быць выключаны, ня падаючы файлаў кантролю доступу.

КАНТРОЛЬ ДОСТУПУ ПРАВІЛЫ

Кожны файл кантролю доступу складаецца з нуля ці больш радкоў тэксту. Гэтыя радкі апрацоўваюцца ў парадку іх з'яўлення. Пошук сканчаецца, калі выяўляецца супадзенне.

Сімвал новага радка ігнаруецца, калі яму папярэднічае ўжыць зваротны слэш. Гэта дазваляе вам разбіць доўгія радкі так, каб яны лягчэй рэдагаваць.

Пустыя радкі і радкі, якія пачынаюцца з `#» ігнаруюцца. Гэта дазваляе вам ўстаўляць каментары і прабелы так, што табліцы лягчэй чытаць.

Усе астатнія радкі павінны задавальняць наступны фармат, што паміж [] з'яўляецца неабавязковым:

daemon_list: client_list [: shell_command]

daemon_list ўяўляе сабой спіс з аднаго або некалькіх імёнаў працэсу дэмана (ARGV [0] значэнне) ці групавых сімвалаў (гл ніжэй).

client_list спіс імёнаў адзін або некалькі хастоў, адрасы хастоў, шаблоны або групавыя сімвалы (гл ніжэй) , які будзе параўноўвацца з імем хаста кліента або адрас.

Больш складаныя формы дэман @ хост і карыстальнік @ хост апісаны ў раздзелах на мадэлі канчатковых сервераў і кліент імя карыстальніка выбаркі, адпаведна.

Спіс элементы павінны быць падзеленыя прабеламі і / або коскамі.

За выключэннем NIS (YP) сеткавых групамі пошукаў, усе праверкі кантролю доступу адчувальны да рэгістра.

ШАБЛОНЫ

Мова кантролю доступу рэалізуе наступныя мадэлі:

Радок, якая пачынаецца з `«. характар. Імя хаста супастаўляецца калі апошнія кампаненты яго імя супадае з паказаным шаблонам. Напрыклад, шаблон `.tue.nl« супадае з імем хаста `wzv.win.tue.nl».

Радок, якая сканчаецца `«. характар. Адрас хаста супастаўляецца калі яго першыя лікавыя поля адпавядаюць зададзенай радку. Напрыклад, шаблон `131.155«. супадае з адрасам (амаль) кожны вузел сеткі універсітэта Эйндховена (131.155.xx).

Радок, якая пачынаецца з `@» сімвал трактуецца як NIS (раней YP) імя сеткавай групы. Імя хаста супастаўляецца калі ён з'яўляецца членам гаспадара названай сеткавай групы. Сеткавыя групы супадзенне не падтрымліваецца для імёнаў працэсаў дэмана або імёнаў карыстальнікаў кліента.

Выраз выгляду `NNNN / мммм« інтэрпрэтуецца як маска / `чыстай» пары. Адрас хаста IPv4 супастаўляецца калі `чысты« роўна пабітавае І адрасы і `маскай». Напрыклад, сетка / шаблон маскі `131.155.72.0/255.255.254.0 'адпавядае кожны адрас у диапазоне` 131.155.72.0' праз '131.155.73.255'.

Выраз выгляду `[п: п: п: п: п: п: п: п] / м« інтэрпрэтуецца як `[чыстая] /» пары доўгага прэфікса. Адрас хаста IPv6 супастаўляецца калі `« доўгага прэфікса біт `чысты» роўна да `« доўгага прэфікса бітам адрасы. Напрыклад, [нета] / шаблон `доўгай прэфікса [3ffe: 505: 2: 1 ::] / 64 'адпавядае кожны адрас у диапазоне` 3ffe: 505: 2: 1 ::» через` 3ffe: 505: 2: 1: FFFF: FFFF: FFFF: FFFF.

Радок , якая пачынаецца з `/» сімвал трактуецца як імя файла . Імя хаста або адрас адпавядае, калі ён адпавядае любому імя хаста або адрас шаблон, паказаны ў імя файла. Фармат файла нуль або больш радкоў з нуля ці больш імёнаў хастоў або адрасных шаблонаў, падзеленых прабеламі. Шаблон імя файла можна выкарыстоўваць у любым месцы імя хаста або адрас шаблон можа быць выкарыстаны.

Wildcards `* 'і'? ' можа выкарыстоўвацца для супастаўлення імёнаў хастоў або IP - адрасу . Гэты метад ўзгаднення не можа быць выкарыстаны ў спалучэнні з 'сетка / маска "адпаведнасьці, адпаведнасць імя хаста, якія пачынаюцца з'.» або IP - адрас адпаведнасці заканчваючы `. '.

падстаноўныя знакі

Мова кантролю доступу падтрымлівае відавочныя сімвалы:

УСЕ

Універсальны падстаноўныя, заўсёды супадае.

LOCAL

Адпавядае любы хост, чыё імя не ўтрымлівае кропкавы характар.

НЕВЯДОМЫ

Адпавядае любы карыстальнік , чыё імя невядома, і адпавядае любому хасту , чыё імя або адрас невядомыя. Гэты шаблон варта выкарыстоўваць з асцярожнасцю: імёны хастоў могуць быць недаступныя з-за часовыя праблемы сервера імёнаў. Сеткавы адрас будзе недаступны, калі праграма не можа вызначыць, які тып сеткі ён размаўляе.

Вядомага

Адпавядае любы карыстальнік , чыё імя вядома, і адпавядае любому хасту , чыё імя і адрас вядомыя. Гэты шаблон варта выкарыстоўваць з асцярожнасцю: імёны хастоў могуць быць недаступныя з-за часовыя праблемы сервера імёнаў. Сеткавы адрас будзе недаступны, калі праграма не можа вызначыць, які тып сеткі ён размаўляе.

PARANOID

Адпавядае любы хост, імя якога не адпавядае яго адрасе. Калі TCPD пабудаваны з -DPARANOID (рэжым па змаўчанні), ён падае запыты ад такіх кліентаў яшчэ да таго, гледзячы на ​​табліцах кіравання доступам. Зборка без -DPARANOID, калі вы хочаце атрымаць больш кантролю над такімі запытамі.

аператарамі

АКРАМЯ

Выкарыстанне па прызначэнні мае выгляд: `list_1 АКРАМЯ list_2 '; гэтая канструкцыя адпавядае нічога , што адпавядае list_1 , калі ён не адпавядае list_2. АКРАМЯ аператар можа быць выкарыстаны ў daemon_lists і ў client_lists. АКРАМЯ аператар можа быць укладзеным: калі мова кіравання будзе дазваляць выкарыстанне дужак, `А, за выключэннем б АКРАМЯ з 'будзе разабраць, как` (а АКРАМЯ (б АКРАМЯ с)).

SHELL КАМАНДЫ

Калі першае адпаведнасцю правіла кіравання доступам ўтрымлівае каманды абалонкі, што каманда падвяргаюцца% Замену (глядзіце наступны раздзел). Выніку выконваюцца даччыны працэс / бен / ш са стандартным уваходам, выхадам і памылкамі , падлучаны да / DEV / нуля. Пакажыце `&» у канцы каманды, калі вы не жадаеце чакаць, пакуль ён не скончыць.

Каманды абалонкі не павінны спадзявацца на налады PATH ў INETD. Замест гэтага яны павінны выкарыстоўваць абсалютныя імёны, або яны павінны пачынацца з відавочным PATH = усе, што заява.

У hosts_options (5) дакумент апісвае альтэрнатыўны мова , які выкарыстоўвае поле каманды абалонкі ў іншы і несумяшчальным спосабам.

% пашыраную

Наступныя раскладання даступныя ў камандах абалонкі:

% А (% А)

Кліент (сервер) хост - адрас.

% з

Інфармацыя пра кліента: карыстальнік @ хост, карыстальнік @ адрас, імя хаста, ці проста адрас, у залежнасці ад таго, колькі інфармацыі даступна.

% d

Імя працэсу дэмана (ARGV [0] значэнне).

% Ч (% Н)

Кліент (сервер) імя хаста або адрас, калі імя хаста недаступна.

% N (% N),

Кліент (сервер) імя хаста (ці «невядома» або «паранаідальны»).

% р

Ідэнтыфікатар працэсу дэмана.

% s

Інфармацыя аб серверы: дэман @ хост, дэман @ адрас, ці проста імя дэмана, у залежнасці ад таго, колькі інфармацыі даступна.

% U

Імя карыстальніка кліента (ці «невядома»).

%%

Раскрываецца ў адным сімвала `%».

Сімвалы ў% пашырэньні, якія могуць заблытаць абалонкі замяняюцца сімваламі падкрэслення.

SERVER ENDPOINT СХЕМЫ

Для таго, каб адрозніць кліентаў па сеткаваму адрасе, што яны падключаюцца да, выкарыстанне шаблонаў выгляду:

process_name @ host_pattern: client_list ...

Ўзоры, як яны могуць быць выкарыстаны, калі машына мае розныя інтэрнэт-адрасы з рознымі інтэрнэт-хастоў. Пастаўшчыкі паслуг могуць выкарыстоўваць гэтую магчымасць, каб прапанаваць FTP, Gopher або WWW архівы з інтэрнэт-імёнаў, якія могуць нават належаць да розных арганізацыям. Глядзіце таксама опцыю `твіст» у hosts_options (5) дакумента. Некаторыя сістэмы (Solaris, FreeBSD) можа мець больш аднаго інтэрнэт-адрасы на адным фізічным інтэрфейсе; з іншымі сістэмамі, магчыма, прыйдзецца звярнуцца да SLIP або псеўда-інтэрфейсы PPP, якія жывуць у выдзеленай сеткі адраснай прасторы.

Host_pattern падпарадкоўваецца тым жа правілах сінтаксісу, як імёны хастоў і адрасоў у client_list кантэксце. Як правіла, сервер канчатковых кропак інфармацыі даступная толькі арыентаваныя на злучэнне паслуг.

КЛІЕНТ USERNAME LOOKUP

Калі кліент хост падтрымлівае пратакол RFC 931 або адзін з яго нашчадкаў (TAP, IDENT, RFC 1413) праграмы-абалонкі могуць атрымаць дадатковую інфармацыю пра ўладальніка злучэння. Інфармацыя імя карыстальніка кліента, калі такі маецца, рэгіструецца разам з імем хаста кліента, і можа быць выкарыстаны, каб адпавядаць мадэлі, як:

daemon_list: ... user_pattern @ host_pattern ...

Абгорткі дэмана можа быць сканфігураваны падчас кампіляцыі для выканання правілаў кіраванага імя карыстальніка праглядаў (па змаўчанні) або заўсёды апытваць хост кліента. У выпадку правілы кіраванага імя карыстальніка выбарак, азначанае правіла будзе выклікаць імя карыстальніка пошук толькі тады , калі абодва daemon_list і матч host_pattern.

Шаблон карыстальніка мае адзін і той жа сінтаксіс, што шаблон працэсу дэмана, так што адны і тыя ж знакі падстаноўка ўжываецца (сяброўства сетевая_группы не падтрымліваецца). Не варта захапляцца імя карыстальніка пошукаў, хоць.

Інфармацыя пра кліента імя карыстальніка нельга давяраць, калі гэта найбольш неабходна, то бок, калі кліенцкая сістэма была скампраметаваная. Увогуле, усё і (ААН) вядомыя адзіныя шаблоны імя карыстальніка, якія маюць сэнс.

Імя карыстальніка пошукі магчымыя толькі з TCP-сэрвісаў, і толькі тады, калі кліенцкі хост працуе прыдатны дэман; ва ўсіх астатніх выпадках вынік «невядома».

Добра вядома, ядро ​​UNIX памылка можа прывесці да страты абслугоўвання, калі імя карыстальніка пошукі блакуецца брандмаўарам. Дакумент абгорткі README апісвае працэдуру, каб высветліць, калі ваша ядро ​​мае гэтую памылку.

Імя карыстальніка пошукі можа выклікаць прыкметныя затрымкі для карыстальнікаў, якія не UNIX. Тайм-аўт па змаўчанні для імя карыстальніка пошуку ў 10 секунд: занадта кароткія, каб справіцца з павольнымі сеткамі, але досыць доўга, каб раздражняць карыстальнікаў ПК.

Выбарчыя імя карыстальніка можа палегчыць пошукі апошняй задачы. Напрыклад, правіла, як:


daemon_list: @pcnetgroup ALL @ ALL

будзе адпавядаць членам ПК сеткавай групы, не робячы імя карыстальніка Lookups, але будзе выконваць імя карыстальніка Lookups з усімі іншымі сістэмамі.

Выяўлення АДРАС спуфинга

Дэфект у парадкавы нумар генератары многіх рэалізацый TCP / IP дазваляе зламыснікам лёгка выдаваць сябе за давераныя хасты і ўварвацца праз, напрыклад, службы выдаленай абалонкі. IDENT (RFC931 і г.д.) сэрвіс можа быць выкарыстаны для выяўлення такіх і іншых нападаў падмены адрасы хаста.

Перад тым як прыняць запыт кліента, абгорткі могуць скарыстаць паслугу IDENT, каб даведацца, што кліент не паслаў запыт на ўсіх. Калі кліент хостынгу падае паслугу IDENT, адмоўны вынік IDENT падстановак (кліент адпавядае `НЕВЯДОМЫ @ хост«) з'яўляецца моцным сведчаннем гаспадара атакі з падменай.

Станоўчы вынік пошуку IDENT (кліент адпавядае `Вядомага @ хост«) з'яўляецца менш надзейным. Ці можна зламыснік падмяніць абодва злучэння кліента і пошук IDENT, хоць зрабіць гэта значна складаней, чым падмену толькі злучэнне кліента. Ён таксама можа быць, што IDENT сервер кліента ляжыць.

Заўвага: IDENT пошукі не працуюць з сэрвісамі UDP.

прыклады

Мова з'яўляецца дастаткова гнуткім, што розныя тыпы палітыкі кантролю доступу можа быць выказана з мінімумам мітусні. Хоць мова выкарыстоўвае дзве табліцы кіравання доступам, найбольш распаўсюджаныя метады могуць быць рэалізаваны з дапамогай адной з табліц з'яўляецца трывіяльным ці нават пусты.

Пры чытанні прыкладаў ніжэй, важна разумець, што табліца дазваляе скануецца да адмаўляць сталом, пошук сканчаецца, калі супадзенне знойдзена, і што доступ прадастаўляецца пры адсутнасці супадзенняў не знойдзена наогул.

Прыклады выкарыстання хаста і даменныя імёны. Яны могуць быць палепшаны шляхам ўключэння адрасы і / або сетак / інфармацыі, каб маска сеткі паменшыць уплыў часовых імёнаў збояў сервера падстаноўкі.

Найбольш ЗАКРЫТО

У гэтым выпадку доступ будзе забаронены па змаўчанні. Толькі відавочна ўпаўнаважаных хастоў дазволены доступ.

Палітыка па змаўчанні (няма доступу) ажыццяўляецца з трывіяльным адмаўляць файл:

/etc/hosts.deny: ALL: ALL

Гэта адмаўляе ўсе паслугі для ўсіх хастоў, калі яны не будуць дазволеныя доступ запісы ў файл дазваляе.

Відавочна ўпаўнаважаных хасты пералічаны ў файле дазваляюць. Напрыклад:

/etc/hosts.allow: ALL: LOCAL @some_netgroup
ALL: .foobar.edu АКРАМЯ terminalserver.foobar.edu

Першае правіла не дазваляе доступ з хастоў ў лакальным дамене (не `.» У імя хаста) і ад членаў some_netgroup сеткавай групы. Другое правіла дазваляе доступ з усіх хастоў у дамене foobar.edu (звярніце ўвагу на кропку ў пачатку ), за выключэннем terminalserver.foobar.edu.

Найбольш АДКРЫТЫ

Тут доступ прадастаўляецца па змаўчанні; толькі відавочна названыя гаспадары адмовіліся абслужыць.

Палітыка па змаўчанні (доступ прадастаўляецца) робіць дазваляюць файл залішнім, так што яго можна апусціць. Відавочна, ня дазволеныя хасты пералічаны ў файле адмаўляць. Напрыклад:

/etc/hosts.deny: ALL: some.host.name, .some.domain
УСЕ АКРАМЯ in.fingerd: other.host.name, .other.domain

Першае правіла забараняе некаторыя хасты і дамены ўсе паслугі; другое правіла па-ранейшаму дазваляе запыты пальцаў ад іншых хастоў і даменаў.

пасткамі

Наступны прыклад дазваляе запыты Tftp ад хастоў ў лакальным дамене (звярніце ўвагу на кропку ў пачатку). Запыты ад іншых хастоў адмоўлена. Замест запытанага файла, палец зонд накіроўваецца крыўдзячы гаспадара. Вынік па пошце суперпользователя.

/etc/hosts.allow:

in.tftpd: LOCAL, .my.domain /etc/hosts.deny: in.tftpd: ALL: міцэліем (/ некаторыя /, дзе / safe_finger -l @% г | \ / USR / UCB / пошта -s% d-% ч корань) &

Каманда safe_finger пастаўляецца з Tcpd абгорткай і павінна быць ўстаноўлена ў падыходным месцы. Гэта абмяжоўвае магчымы шкоду ад дадзеных, якія вы дасылаеце серверам аддаленага пальца. Гэта дае лепшую абарону, чым стандартныя каманды пальца.

Пашырэнне% г (кліенцкі хост) і% D (імя службы) паслядоўнасцяў апісана ў раздзеле каманд абалонкі.

Увага: ня Міны-пасткі пальца дэмана, калі вы не гатовыя да зацыклення пальцаў.

У сістэмах сеткавых брандмаўэраў гэты трук можа ажыццяўляцца і далей. Тыповы сеткавай брандмаўэр забяспечвае толькі абмежаваны набор паслуг для знешняга свету. Усе астатнія паслугі могуць быць «жучкі» гэтак жа, як вышэй Tftp напрыклад. Вынік з'яўляецца найвышэйшай сістэмай ранняга папярэджання.

ГЛЯДЗІЦЕ ТАКСАМА

TCPD (8) праграма TCP / IP дэман абгортка. tcpdchk (8), tcpdmatch (8), тэставыя праграмы.

Важна: Выкарыстоўвайце каманду чалавека (%) чалавек , каб паглядзець , як каманда выкарыстоўваецца на вашым канкрэтным кампутары.