Hosts.allow - Linux Command - Unix Command

NAMA

hosts_access - format file kontrol akses inang

DESCRIPTION

Kaca manual iki ngandhut basa kontrol akses prasaja sing adhedhasar klien (jeneng host / alamat, jeneng pangguna), lan server (jeneng proses, jeneng host / alamat) pola. Conto diwenehi ing pungkasan. Pembaca sabar ora dianjurake kanggo ngliwati bagean CONAMPLES kanggo introduksi cepet. Versi lengkap saka basa kontrol akses diterangake ing hosts_options (5) document. Ekstensi diuripake ing wektu mbangun program kanthi mbangun karo -DPROCESS_OPTIONS.

Ing teks kasebut, daemon iku jeneng proses saka proses daemon jaringan , lan klien yaiku jeneng lan / utawa alamat layanan panyuwun host. Jeneng proses daemon jaringan kasebut kasebut ing file konfigurasi inetd.

ACCESS CONTROL FILES

Perangkat lunak kontrol akses nyuwun rong file . Panelusuran mandheg ing pertandhingan pisanan.

Akses bakal diwenehake nalika pasangan (daemon, klien) cocog karo entri ing file /etc/hosts.allow .

Yen ora, akses bakal ditolak nalika pasangan (daemon, klien) cocog karo entri ing file /etc/hosts.deny .

Yen ora, akses bakal diwenehake.

File kontrol akses sing ora ana lagi dianggep minangka file kosong. Mangkono, kontrol akses bisa dipateni dening ora nyedhiyakake file kontrol akses.

ACCESS CONTROL RULES

Saben file kontrol akses kasusun saka nol utawa luwih garis teks. Garis-garis kasebut diproses kanthi urut. Panelusuran mandeg nalika match ditemokake.

A karakter newline diabaikan nalika didhisikake karo karakter backslash. Iki ngidini sampeyan ngilangi garis sing dawa supaya luwih gampang diowahi.

Garis kosong utawa baris sing diwiwiti kanthi karakter `# 'ora dianggep. Iki ngidini sampeyan masang komentar lan papan putih supaya tabel luwih gampang diwaca.

Kabeh baris liyane kudu ngilangake format ing ngisor iki, antarane [] sing opsional:

daemon_list: client_list [: shell_command]

daemon_list minangka dhaptar jeneng proses daemon siji utawa luwih (argv [0]) utawa wildcard (ndeleng ngisor).

client_list yaiku daftar siji utawa luwih jeneng host, alamat host, pola utawa wildcard (ndeleng ngisor) sing bakal dicocogake karo jeneng utawa alamat host klien.

Wangun liyane Komplek daemon @ host lan user @ host diterangake ing bagean ing pola endpoint server lan ing jeneng panganggo jeneng klien, mungguh.

Unsur dhaptar kudu dipisahake dening kosong lan / utawa koma.

Saliyane NIS (YP) lookup jaringan, kabeh kontrol kontrol akses ora sensitif.

PATTERNS

Basa kontrol akses nglindhungi pola kasebut:

Senar sing diawali karo `. ' karakter. Jeneng host cocog yen komponen pungkasan jenenge cocok karo pola kasebut. Contone, pola `.tue.nl 'cocog jeneng host` wzv.win.tue.nl'.

Senar sing ditemtokake karo `. ' karakter. Alamat host cocog yen kolom pertama sing cocog karo senar sing diwenehi. Contone, pola `131.155. ' cocog alamat (meh) saben inang ing jaringan Eindhoven University (131.155.xx).

Senar sing diwiwiti karo aksara `@ 'dianggep minangka jeneng netgroup NIS (sadurunge YP). Jeneng host cocog yen iku anggota host saka netgroup kasebut. Pertandingan netgroup ora didhukung kanggo jeneng proses daemon utawa jeneng klien klien.

Ekspresi wangun `nnnn / mmmm 'diinterpretasikake minangka pasangan' net / mask '. Alamat host IPv4 dicocogake yen `net 'padha karo bitwise lan alamat lan topeng`. Contone, pola net / mask `131.155.72.0/255.255.254.0 'cocog saben alamat ing kisaran` 131.155.72.0' liwat `131.155.73.255 '.

Ekspresi saka wangun `[n: n: n: n: n: n: n: n] / m 'diinterpretasikake minangka pasangan` [net] / prefixlen'. Alamat host IPv6 cocok yen bit `prefixlen 'net jitu karo bit` prefixlen' alamat. Contone, pola [net] / prefixlen `[3ffe: 505: 2: 1 ::] / 64 'cocog karo kabeh alamat ing kisaran` 3ffe: 505: 2: 1 ::' liwat `3ffe: 505: 1: ffff: ffff: ffff: ffff '.

Senar sing diwiwiti karo karakter `/ 'dianggep minangka jeneng berkas . Jeneng utawa alamat host dicocogake menawa cocok karo jeneng host utawa pola alamat sing didaftarake ing file sing dijenengi. Format file iku nol utawa luwih akeh baris karo nol utawa luwih jeneng host utawa pola alamat sing dipisahake karo spasi. Pola jeneng file bisa digunakake ing ngendi wae jeneng host utawa pola alamat bisa digunakake.

Wildcards `* 'and`?' bisa digunakake kanggo cocog jeneng host utawa alamat IP . Cara pencocokan iki ora bisa digunakake sajroning cocog karo 'net / mask', matchname sing diwiwiti karo `. ' utawa cocog alamat IP pungkasan kanthi `. '.

WILDCARDS

Basa kontrol akses ndhukung wildcard nyata:

ALL

Cacah universal universal, tansah cocog.

LOKAL

Cocog sembarang host sing jenenge ora kagungan karakter titik.

UNKNOWN

Cocog sembarang pangguna sing jeneng ora dingerteni, lan cocog karo sembarang host sing jeneng utawa alamat ora dingerteni. Pola iki kudu digunakake kanthi peduli: jeneng host bisa uga ora ana amarga masalah server jeneng sementara. Alamat jaringan bakal ora kasedhiya nalika perangkat lunak ora bisa nemtokake jinis jaringan sing diucapake.

Dieneni

Cocog sembarang jeneng sing asale, lan cocog karo sembarang host sing jeneng lan alamat dikenal. Pola iki kudu digunakake kanthi peduli: jeneng host bisa uga ora ana amarga masalah server jeneng sementara. Alamat jaringan bakal ora kasedhiya nalika perangkat lunak ora bisa nemtokake jinis jaringan sing diucapake.

PARANOID

Cocog sembarang host sing jeneng ora cocog alamate. Nalika tcpd dibangun kanthi -DPARANOID (mode default), kasebut bakal nolak panjaluk saka klien kasebut sanajan katon ing tabel kontrol akses. Mbangun tanpa -DPARANOID nalika sampeyan pengin ngontrol luwih saka panjaluk kasebut.

OPERATORS

Cepet

Panggunaan sing dituju yaiku ing wangun: list_list_1 EXCEPT '; mbangun iki cocog apa sing cocog karo list_1 kajaba cocog karo list_2 . Operator EXCEPT bisa digunakake ing daemon_lists lan client_lists. Operator EXCEPT bisa dicithak: yen basa kontrol bakal ngidini nggunakake tanda kurung, `a KECIL b EXCEPT c 'bakal ngisi minangka` (EXCEPT (b EXCEPT c))'.

SHELL COMMANDS

Yen aturan kontrol akses ditemtokake pisanan ngemot printah cangkang, printah iki kudu diganti karo% substitutions (ndeleng bagean sabanjure). Asilé dileksanakaké kanthi proses / bin / sh anak karo input standar, output lan kesalahan sing disambungake menyang / dev / null . Nemtokake `& 'ing mburi printah yen sampeyan ora pengin ngenteni nganti wis rampung.

Perintah shell ora kudu gumantung ing setelan PATH saka inetd. Nanging, padha nggunakake jeneng path Absolute, utawa kudu diwiwiti kanthi tegese PATH = apa wae statement.

Dokumen host_options (5) nggambarake sawijining basa alternatif sing nggunakake kolom printah cangkang kanthi cara sing beda lan ora kompatibel.

% EXPANSIONS

Ekspansi ing ngisor iki kasedhiya ing printah shell:

% a (% A)

Alamat host klien (server).

% c

Informasi klien: user @ host, user @ address, jeneng host, utawa mung alamat, gumantung carane akeh informasi sing kasedhiya.

% d

Jeneng proses daemon (argv [0] nilai).

% h (% H)

Jeneng utawa alamat host klien (server), yen jeneng host ora kasedhiya.

% n (% N)

Jeneng host (server) (utawa "ora dingerteni" utawa "paranoid").

% p

Proses daemon id.

% s

Informasi server: daemon @ inang, daemon @ alamat, utawa mung jeneng daemon, gumantung yen jumlah informasi sing kasedhiya.

% u

Jeneng klien (utawa "dingerteni").

%%

Ngembang menyang karakter `% 'siji.

Karakter ing% ekspansi sing bisa nglewati cangkang diganti kanthi garis ngisor.

PURWAKAN ENDPOINT SERVER

Kanggo mbedakake klien kanthi alamat jaringan sing disambungake, gunakake pola saka formulir:

process_name @ host_pattern: client_list ...

Pola kaya iki bisa digunakake nalika mesin nduweni alamat internet sing beda karo hostname internet sing beda-beda. Penyedia layanan bisa nggunakake fasilitas iki kanggo menehi arsip FTP, GOPHER utawa WWW kanthi jeneng internet sing uga dadi milik organisasi sing beda. Deleng uga opsi `twist 'ing hosts_options (5) document. Sawetara sistem (Solaris, FreeBSD) bisa duwe luwih saka siji alamat internet ing siji antarmuka fisik; karo sistem liyane sampeyan kudu nggunakake SLIP utawa ppi antar muka PPP sing manggon ing papan alamat jaringan sing darmabakti.

Host_pattern netepake aturan sintaksis sing padha minangka jeneng host lan alamat ing client_list konteks. Biasane, informasi endpoint server mung kasedhiya karo layanan berorientasi koneksi.

CLIENT USERNAME LOOKUP

Nalika host klien ndhukung protokol RFC 931 utawa salah sawijining keturunan (TAP, IDENT, RFC 1413) program pambungkus bisa njupuk informasi tambahan babagan pemilik sambungan. Informasi jeneng panganggo, nalika kasedhiya, wis mlebu bebarengan karo jeneng host klien, lan bisa digunakake kanggo cocog pola kaya:

daemon_list: ... user_pattern @ host_pattern ...

Wrap daemon bisa diatur ing wektu kompilasi kanggo nggoleki jeneng panganggo sing didhuwur aturan (standar) utawa kanggo tansah nginterogasi host klien. Ing kasus pangguna jeneng panganggo sing diarahake aturan, aturan ing ndhuwur bakal nimbulake jeneng panganggo jenenge mung nalika loro daemon_list lan match host_pattern .

Pola panganggo nduweni sintaksis sing padha minangka pola proses daemon, saéngga pekebun-pekebun sing padha dilindhungi (kaanggotan netgroup ora didukung). Siji ngirim ora bakal digawa menyang jeneng pangguna jeneng panganggo, sanadyan.

Informasi jeneng panganggo klien ora bisa dipercaya nalika paling dibutuhake, yaiku yen sistem klien wis dikompromi. Umumé, ALL lan (UN) sing disenengi namung siji-sijine pola jeneng panganggo sing bisa dipahami.

Jeneng pangguna jeneng mung bisa mung nganggo layanan basis TCP, lan mung nalika host klien nganggo daemon sing cocok; ing kabeh kasus liyane asil "ora dingerteni".

Sawijining bug kernel UNIX sing kondhang bisa nyebabake mundhut layanan nalika pangguna jeneng panganggo diblokir dening firewall. Dokumen README pambungkus describes prosedur kanggo mangerteni yen kernel sampeyan nduwe bug iki.

Jeneng panelusur pangguna bisa nyebabake keterlambatan sing ketara kanggo pangguna non-UNIX. Waktu tunda standar kanggo pemanggangan nama pengguna adalah 10 detik: terlalu pendek untuk mengatasi jaringan lambat, tapi cukup lama untuk menjengkelkan pengguna PC.

Jeneng panganggo sing selektif bisa ngatasi masalah pungkasan. Contone, aturan kaya:


daemon_list: @pcnetgroup ALL @ ALL

bakal cocog karo anggota netgroup ing pc tanpa nggawe jeneng panganggo jeneng panganggo, nanging bakal nggoleki jeneng panganggo kanthi kabeh sistem liyane.

MENGEKALKAN ATURAN SPOOFING ADDRESS

A cacat ing urutan nomer generator saka akeh implementasine TCP / IP ngijini intruders gampang impersonate host sing dipercaya lan break liwat, contone, layanan cangkang remot. Layanan IDENT (RFC931 etc.) bisa digunakake kanggo ndeteksi serangan spoofing alamat host kasebut lan host liyane.

Sadurunge nampa request klien, wrappers bisa nggunakake layanan IDENT kanggo mangerteni yen klien ora ngirim request ing kabeh. Nalika pidhuan klien menehi layanan IDENT, asil panemu IDENT negatif (klien cocog karo `UNKNOWN @ host ') minangka bukti sing kuwat saka serangan spoofing inang.

Hasil négatif IDENT positif (klien cocog `KONTAK @ inang ') kurang dipercaya. Sampeyan bisa nyebabake penyusup spoof loro sambungan klien lan IDENT Lookup, senadyan mengkono iku luwih harder tinimbang spoofing mung sambungan klien. Bisa uga server server IDENT dumunung.

Cathetan: Nggoleki IDENT ora bisa digunakake karo layanan UDP.

EXAMPLES

Basa iku cukup fleksibel manawa jinis kontrol kawicaksanan jinis sing beda bisa diungkap kanthi minimal rame. Senajan basa nggunakake rong tabel kontrol akses, kawicaksanan sing paling umum bisa dileksanakake kanthi salah siji tabel sing ora pati penting utawa malah kosong.

Nalika maca conto ing ngisor iki, penting kanggo mangerteni yen tabel ngidini dipindai sadurunge tabel panyangkalan, sing ditemtokake nalika nemokake match, lan akses kasebut diwenehake nalika ora cocog ditemokake ing kabeh.

Conto kasebut nganggo jeneng domain lan jeneng domain. Padha bisa ditambahake kanthi kalebu alamat lan / utawa informasi jaringan / netmask, kanggo ngurangi akibat saka kasil panelusuran server jeneng sak wentoro.

Ditambah cepet

Ing kasus iki, akses ditolak kanthi standar. Mung sarwa dumadi sing disetujoni kanthi tegas sing diijini akses.

Kebijakan default (ora ana akses) diimplementasikake karo file dudu sepele:

/etc/hosts.deny: ALL: ALL

Iki nolak kabeh layanan kanggo kabeh sarwa dumadi, kajaba sing diwenehake akses dening entri ing file ngidini.

Iki minangka hierarki sing disetujoni kanthi resmi ing daftar berkas. Tuladhane:

/etc/hosts.allow: ALL: LOCAL @ somome_netgroup
ALL: .foobar.edu EXCEPT terminalserver.foobar.edu

Aturan pisanan ngidini akses saka host ing domain lokal (ora `. 'Ing jeneng inang) lan saka anggota netgroup sawetara_netgroup. Aturan liya ngidini akses saka kabeh sarwa dumadi ing domain foobar.edu (sok dong mirsani titik datane) , kajaba terminalserver.foobar.edu .

MUSLIM PALING

Kene, akses diwenehake kanthi gawan; mung sing kasebut kanthi jelas minangka sarwa dumadi sing ditolak layanan.

Kawicaksanan standar (akses sing diwenehake) ndadekake file sing ora diijini supaya bisa dilirwakaké. Iki minangka hierarki sing ora sah sacara otomatis didaftar ing sawijining denyut. Tuladhane:

/etc/hosts.deny: ALL: some.host.name, .some.domain
ALL KECIL in.fingerd: other.host.name, .other.domain

Aturan pisanan nolak sawetara sarwa dumadi lan domain kabeh layanan; aturan kapindho isih ngidini panyuwunan driji saka sarwa lan domain liyane.

BOOT TRAP

Conto sabanjure ngidini panjaluk tftp saka sarwa dumadi ing domain lokal (perhatikan dot leading). Panyuwunan saka sarwa tinamtu ora ditampik. Tinimbang file sing dijaluk, probe driji dikirim menyang host offending. Asil dikirim menyang superuser.

/etc/hosts.allow:

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

Printah safe_finger teka karo tcpd wrapper lan kudu diinstal ing panggonan sing cocok. Sampeyan mbatesi karusakan saka data sing dikirim dening server driji jarak jauh. Iki menehi pangayoman sing luwih apik tinimbang printah driji standar.

Ekspansi saka% h (host klien) lan% d (jeneng layanan) urutan diterangake ing bagean ing print shell.

PÈNGET: Aja ngrusak driji driji, kajaba sing disiapake kanggo puteran driji tanpa wates.

Ing sistem firewall jaringan trik iki bisa digawa luwih lanjut. Firewall jaringan khas mung nyedhiyakake layanan sing winates ing donya njaba. Kabeh layanan liyane bisa "diserang" kaya conto ing ndhuwur tftp. Asil kasebut minangka sistem peringatan dini banget.

DELOKEN SISAN

tcpd (8) tcp / ip program wrapper daemon. tcpdchk (8), tcpdmatch (8), program uji.

Penting: Gunakake perintah wong ( % man ) kanggo ndeleng carane printah sing digunakake ing komputer sampeyan.