Hostsallow-Linux Command-Unix Command

NAME

hosts_access - ຮູບແບບຂອງໄຟລ໌ຄວບຄຸມການເຂົ້າເຖິງຂອງເຈົ້າພາບ

DESCRIPTION

ຫນ້າຄູ່ມືນີ້ ອະທິບາຍ ພາສາຄວບຄຸມການເຂົ້າເຖິງແບບງ່າຍດາຍທີ່ອີງໃສ່ລູກຄ້າ (ຊື່ເຈົ້າ / ທີ່ຢູ່, ຊື່ຜູ້ໃຊ້) ແລະເຄື່ອງແມ່ຂ່າຍ (ຊື່ຂອງຂະບວນການ, ຊື່ເຈົ້າພາບ / ທີ່ຢູ່). ຕົວຢ່າງແມ່ນຢູ່ໃນຕອນທ້າຍ. ຜູ້ອ່ານທີ່ບໍ່ອຶດອັດໃຈໄດ້ຖືກແນະນໍາໃຫ້ຂ້າມໄປຫາພາກ EXAMPLES ສໍາລັບການ ແນະນໍາ ຢ່າງໄວວາ. ເວີຊັນຂອງພາສາຄວບຄຸມການເຂົ້າເຖິງໄດ້ຖືກອະທິບາຍໃນເອກະສານ host_options (5). ການຂະຫຍາຍໄດ້ຖືກເປີດໃນເວລາສ້າງໂຄງການໂດຍການກໍ່ສ້າງດ້ວຍ -DPROCESS_OPTIONS.

ໃນຂໍ້ຄວາມຕໍ່ໄປນີ້, daemon ແມ່ນຊື່ຂະບວນການຂອງ ຂະບວນການ daemon ເຄືອຂ່າຍ , ແລະ ລູກຄ້າ ແມ່ນຊື່ແລະ / ຫຼືທີ່ຢູ່ຂອງການຮ້ອງຂໍໃຫ້ບໍລິການເຈົ້າພາບ. ຊື່ຂອງ process daemon ເຄືອຂ່າຍແມ່ນລະບຸໄວ້ໃນແຟ້ມການຕັ້ງຄ່າ inetd.

ACCES CONTROL FILES

ຊອບແວຄວບຄຸມການເຂົ້າເຖິງປຶກສາຫາລືສອງ ໄຟລ໌ . ການຊອກຫາຈະຢຸດຢູ່ໃນການແຂ່ງຂັນຄັ້ງທໍາອິດ.

ການເຂົ້າເຖິງຈະໄດ້ຮັບເມື່ອມີຄູ່ (daemon, client) ທີ່ກົງກັບການເຂົ້າໃນໄຟ /etc/hosts.allow .

ຖ້າບໍ່ດັ່ງນັ້ນ, ການເຂົ້າເຖິງຈະຖືກປະຕິເສດເມື່ອຄູ່ (daemon, client) ກົງກັບການເຂົ້າໃນໄຟລ໌ /etc/hosts.deny .

ຖ້າບໍ່ດັ່ງນັ້ນ, ການເຂົ້າເຖິງຈະໄດ້ຮັບການອະນຸຍາດ.

ໄຟລ໌ຄວບຄຸມການເຂົ້າເຖິງທີ່ບໍ່ມີຢູ່ແມ່ນຖືກປະຕິບັດຕາມວ່າມັນເປັນໄຟລ໌ເປົ່າ. ດັ່ງນັ້ນ, ການຄວບຄຸມການເຂົ້າເຖິງສາມາດຖືກປິດໂດຍບໍ່ມີໄຟລ໌ຄວບຄຸມການເຂົ້າເຖິງ.

ກົດລະບຽບການຄວບຄຸມການເຂົ້າເຖິງ

ແຕ່ລະໄຟລ໌ຄວບຄຸມການເຂົ້າເຖິງປະກອບດ້ວຍເສັ້ນສູນຫຼືຫລາຍກວ່າຂໍ້ຄວາມ. ສາຍເຫຼົ່ານີ້ຖືກປຸງແຕ່ງຕາມລໍາດັບຂອງຮູບລັກສະນະ. ການຄົ້ນຫາສິ້ນສຸດເມື່ອພົບເຫັນ.

ຕົວອັກສອນໃຫມ່ແມ່ນຖືກລະເວັ້ນໃນເວລາທີ່ມັນຖືກນໍາຫນ້າໂດຍລັກສະນະຂອງ backslash. ນີ້ອະນຸຍາດໃຫ້ທ່ານທໍາລາຍເສັ້ນຍາວເພື່ອໃຫ້ພວກເຂົາງ່າຍຕໍ່ການແກ້ໄຂ.

ເສັ້ນສາຍຫຼືສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນ '#' ຖືກລະເວັ້ນ. ນີ້ອະນຸຍາດໃຫ້ທ່ານສະແດງຄວາມຄິດເຫັນແລະແຖບສີເພື່ອໃຫ້ຕາຕະລາງງ່າຍຕໍ່ການອ່ານ.

ເສັ້ນອື່ນໆທັງຫມົດຄວນປະຕິບັດຕາມຮູບແບບດັ່ງຕໍ່ໄປນີ້, ສິ່ງທີ່ຢູ່ໃນລະຫວ່າງ [] ແມ່ນທາງເລືອກ:

daemon_list: client_list [: shell_command]

daemon_list ແມ່ນບັນຊີລາຍຊື່ຫນຶ່ງຫຼືຫຼາຍກວ່າຊື່ຂອງຂະບວນການ daemon (ຄ່າ argv [0]) ຫຼືຕົວອັກສອນ (ເບິ່ງຂ້າງລຸ່ມນີ້).

client_list ແມ່ນບັນຊີລາຍຊື່ຫນຶ່ງຫຼືຫຼາຍຊື່ເຈົ້າພາບ, ທີ່ຢູ່ host, ຮູບແບບຫຼື wildcards (ເບິ່ງຂ້າງລຸ່ມນີ້) ທີ່ຈະກົງກັນກັບຊື່ໂຮດຫຼືທີ່ຢູ່ຂອງເຈົ້າຂອງລູກຄ້າ.

ແບບຟອມສະລັບສັບຊ້ອນຫຼາຍກວ່າ daemon @ host ແລະ user @ host ແມ່ນອະທິບາຍໃນພາກສ່ວນກ່ຽວກັບຮູບແບບ endpoint server ແລະການຊອກຫາຊື່ຜູ້ໃຊ້ຂອງລູກຄ້າ.

ອົງປະກອບຂອງລາຍຊື່ຄວນຖືກແຍກອອກໂດຍຊ່ອງຫວ່າງແລະ / ຫຼືໂຄຣມ.

ຍົກເວັ້ນການຊອກຫາ netgroup NIS (YP), ການກວດສອບການຄວບຄຸມການເຂົ້າເຖິງແມ່ນມີຄວາມບໍ່ສະບາຍ.

PATTERNS

ພາສາຄວບຄຸມການເຂົ້າເຖິງປະຕິບັດຮູບແບບດັ່ງຕໍ່ໄປນີ້:

ສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍ ``. ຕົວອັກສອນ ຊື່ໂຮດຈະກົງກັນຖ້າສ່ວນປະກອບສຸດທ້າຍຂອງຊື່ກົງກັບຮູບແບບທີ່ລະບຸໄວ້. ຕົວຢ່າງ, ຮູບແບບ `.tue.nl 'ກົງກັບຊື່ໂຮດ` wzvwin.tue.nl'.

ສາຍທີ່ສິ້ນສຸດລົງດ້ວຍ ``. ຕົວອັກສອນ ທີ່ຢູ່ໂຮດເປັນທີ່ກົງກັນຖ້າທົ່ງຈໍານວນທໍາອິດຂອງມັນສອດຄ່ອງກັບສະຕິງທີ່ໄດ້ຮັບ. ຕົວຢ່າງ, ຮູບແບບ `131155. ' ກົງກັບທີ່ຢູ່ຂອງ (ເກືອບ) ທຸກໂຮດໃນເຄືອຂ່າຍມະຫາວິທະຍາໄລ Eindhoven (131155.xx).

ສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນ `@ 'ຖືກປະຕິບັດເປັນຊື່ netgroup NIS (ກ່ອນເອີ້ນວ່າ YP). ຊື່ໂຮດຖືກຈັບຄູ່ຖ້າມັນເປັນສະມາຊິກຂອງເຄືອຂ່າຍຂອງ netgroup ທີ່ກໍານົດໄວ້. ການແຂ່ງຂັນ Netgroup ບໍ່ໄດ້ຮັບການສະຫນັບສະຫນູນສໍາລັບຊື່ຂອງຂະບວນການ daemon ຫຼືສໍາລັບຊື່ຜູ້ໃຊ້ຂອງລູກຄ້າ.

ການສະແດງອອກຂອງແບບຟອມ `nnnn / mmmm 'ຖືກຕີເປັນຄູ່` net / mask'. IP address ຂອງ IPv4 ແມ່ນກົງກັນຖ້າ `net 'ແມ່ນເທົ່າກັບ AND bitwise ຂອງ address ແລະ` mask'. ສໍາລັບຕົວຢ່າງ, ຮູບແບບຕາຫນ່າງ / ຕາຫນ່າງ `131.155.720 / 25.5.25.225.0 'ກົງກັບທຸກໆທີ່ຢູ່ໃນລະດັບ` 13115552.0' ຜ່ານ `131.1557.3255 '.

ການສະແດງອອກຂອງຮູບແບບ `n: n: n: n: n] / m 'ແມ່ນແປເປັນຄູ່` [ເນັດ] / prefixen'. ທີ່ຢູ່ host IPv6 ແມ່ນກົງກັນຖ້າ bit `prefixlen 'ຂອງ` net' ແມ່ນເທົ່າກັບ bit `prefixlen 'ຂອງທີ່ຢູ່. ສໍາລັບຕົວຢ່າງ, ແບບຟອມ [net] / prefixlen `[3ffe: 505: 2: 1 ::] / 64 'ກົງກັນທຸກທີ່ຢູ່ໃນລະດັບ` 3ffe: 505: 2: 1:' ຜ່ານ `3ffe: 505: 2: 1: ffff: ffff: ffff: ffff '

ສາຍທີ່ເລີ່ມຕົ້ນດ້ວຍຕົວອັກສອນ `/ 'ຖືກຖືເປັນ ຊື່ແຟ້ມ . ຊື່ໂຮດຫລືທີ່ຢູ່ຈະຖືກຈັບຄູ່ຖ້າມັນກົງກັບຊື່ໂຮດຫລືຮູບແບບທີ່ຢູ່ໃນແຟ້ມທີ່ມີຊື່. ຮູບແບບໄຟລ໌ແມ່ນເສັ້ນສູນ 0 ຫຼືຫຼາຍກວ່າທີ່ມີຊື່ໂຮດຫຼືຮູບແບບທີ່ບໍ່ຖືກຕ້ອງແຍກໂດຍຊ່ອງຫວ່າງ. ຮູບແບບຊື່ໄຟລ໌ສາມາດນໍາໃຊ້ໄດ້ທຸກບ່ອນທີ່ຊື່ໂຮດຫລືຮູບແບບທີ່ສາມາດໃຊ້ໄດ້.

Wildcards `* 'ແລະ`?' ສາມາດຖືກນໍາໃຊ້ເພື່ອຫາຊື່ທີ່ຢູ່ຫຼື ທີ່ຢູ່ IP . ວິທີການໂຍກຍ້າຍນີ້ບໍ່ສາມາດຖືກນໍາໃຊ້ຮ່ວມກັນກັບການຈັບຄູ່ `net / mask ', ການເຊື່ອມໂຍງ hostname ເລີ່ມຕົ້ນດ້ວຍ`.' ຫຼືການເຊື່ອມໂຍງ ທີ່ຢູ່ IP ທີ່ ສິ້ນສຸດດ້ວຍ `. '.

WILDCARDS

ພາສາຄວບຄຸມການເຂົ້າເຖິງສະຫນັບສະຫນູນ wildcards explicit:

ALL

ຕົວແທນທົ່ວໄປ, ສະເຫມີກັນ.

LOCAL

ກົງກັນທຸກເຄື່ອງທີ່ມີຊື່ບໍ່ມີຕົວເລກຈຸດ.

UNKNOWN

ກົງກັບຜູ້ໃຊ້ທີ່ມີຊື່ທີ່ບໍ່ຮູ້ຈັກແລະກົງກັບເຄື່ອງແມ່ຂ່າຍໃດໆທີ່ບໍ່ມີຊື່ ຫຼື ທີ່ຢູ່. ຮູບແບບນີ້ຄວນຈະຖືກນໍາໃຊ້ດ້ວຍການດູແລ: ຊື່ເຈົ້າຂອງອາດບໍ່ສາມາດໃຊ້ໄດ້ເນື່ອງຈາກບັນຫາຂອງເຄື່ອງແມ່ຂ່າຍຊື່ຊົ່ວຄາວ. ທີ່ຢູ່ເຄືອຂ່າຍຈະບໍ່ມີເວລາໃນເວລາທີ່ຊອບແວບໍ່ສາມາດຫາປະເພດເຄືອຂ່າຍໃດທີ່ມັນເວົ້າກັບ.

KNOWN

ກົງກັບຜູ້ໃຊ້ທີ່ມີຊື່ທີ່ຮູ້ຈັກແລະກົງກັບເຄື່ອງທີ່ມີຊື່ ແລະ ທີ່ຢູ່ຂອງເຄື່ອງຄອມພິວເຕີ. ຮູບແບບນີ້ຄວນຈະຖືກນໍາໃຊ້ດ້ວຍການດູແລ: ຊື່ເຈົ້າຂອງອາດບໍ່ສາມາດໃຊ້ໄດ້ເນື່ອງຈາກບັນຫາຂອງເຄື່ອງແມ່ຂ່າຍຊື່ຊົ່ວຄາວ. ທີ່ຢູ່ເຄືອຂ່າຍຈະບໍ່ມີເວລາໃນເວລາທີ່ຊອບແວບໍ່ສາມາດຫາປະເພດເຄືອຂ່າຍໃດທີ່ມັນເວົ້າກັບ.

PARANOID

ກົງກັນກັບເຄື່ອງແມ່ຂ່າຍທີ່ມີຊື່ບໍ່ກົງກັບທີ່ຢູ່ຂອງມັນ. ເມື່ອ tcpd ຖືກສ້າງຂຶ້ນດ້ວຍ -DPARANOID (ໂຫມດມາດຕະຖານ), ມັນຫຼຸດລົງການຮ້ອງຂໍຈາກລູກຄ້າເຊັ່ນດຽວກັນກ່ອນທີ່ຈະຊອກຫາຕາຕະລາງຄວບຄຸມການເຂົ້າເຖິງ. ສ້າງໂດຍບໍ່ມີ - DPARANOID ເມື່ອທ່ານຕ້ອງການຄວບຄຸມການຮ້ອງຂໍດັ່ງກ່າວ.

OPERATORS

ຍົກເວັ້ນ

ການນໍາໃຊ້ທີ່ຖືກຕ້ອງແມ່ນຮູບແບບ: `list_1 EXCEPT list_2 '; ການກໍ່ສ້າງນີ້ກົງກັບສິ່ງໃດທີ່ກົງກັບ list_1 ເວັ້ນເສຍແຕ່ວ່າມັນກົງກັບ list_2 . ຕົວປະຕິເສດ EXCEPT ສາມາດໃຊ້ໃນ daemon_lists ແລະໃນ client_lists. ຕົວຄວບຄຸມ EXCEPT ສາມາດຖືກຮັງ: ຖ້າພາສາຄວບຄຸມຈະອະນຸຍາດໃຫ້ໃຊ້ວົງເລັບ, `EXCEPT b EXCEPT c 'ຈະແຍກເປັນ` (EXCEPT (b EXCEPT c))'.

SHELL COMMANDS

ຖ້າກົດລະບຽບການຄວບຄຸມການເຂົ້າເຖິງຄັ້ງທໍາອິດປະກອບດ້ວຍຄໍາສັ່ງຂອງ shell, ຄໍາສັ່ງນັ້ນຕ້ອງມີ% substitutions (ເບິ່ງພາກຕໍ່ໄປ). ຜົນໄດ້ຮັບຖືກດໍາເນີນການໂດຍຂະບວນການຂອງລູກ / bin / sh ທີ່ມີມາດຕະຖານ input, output ແລະ error ເຊື່ອມຕໍ່ກັບ / dev / null . ກໍານົດເປັນ `& 'ຢູ່ໃນຕອນທ້າຍຂອງຄໍາສັ່ງຖ້າຫາກວ່າທ່ານບໍ່ຕ້ອງການລໍຖ້າຈົນກ່ວາມັນໄດ້ສໍາເລັດ.

ຄໍາສັ່ງ Shell ບໍ່ຄວນອີງໃສ່ການຕັ້ງຄ່າ PATH ຂອງ inetd. ແທນທີ່ຈະ, ພວກເຂົາຄວນນໍາໃຊ້ຊື່ທາງຢ່າງແທ້ຈິງ, ຫຼືພວກເຂົາຄວນຈະເລີ່ມຕົ້ນດ້ວຍ PATH explicit = ຄໍາເວົ້າໃດກໍ່ຕາມ.

ເອກະສານ host_options (5) ອະທິບາຍພາສາອື່ນທີ່ໃຊ້ສະຫນາມຄໍາສັ່ງຫອຍທີ່ແຕກຕ່າງກັນແລະບໍ່ເຂົ້າກັນ.

% EXPANSIONS

ການຂະຫຍາຍຕົວດັ່ງຕໍ່ໄປນີ້ມີຢູ່ໃນຄໍາສັ່ງຂອງ shell:

% a (% A)

ທີ່ຢູ່ຂອງເຈົ້າຂອງໄຄເອັນ (ເຊີຟເວີ)

% c

ຂໍ້ມູນລູກຄ້າ: ຜູ້ໃຊ້ @ ໂຮດ, ຜູ້ໃຊ້ @ ທີ່ຢູ່, ຊື່ໂຮດ, ຫຼືພຽງແຕ່ເປັນທີ່ຢູ່, ອີງຕາມຈໍານວນຂໍ້ມູນທີ່ມີຢູ່.

% d

ຊື່ຂອງ daemon (ຄ່າ argv [0]).

% h (% H)

ຊື່ລູກຄ້າຫຼືທີ່ຢູ່ຂອງລູກຄ້າ (ຊື່ເຊີຟເວີ) ຖ້າຊື່ໂຮດບໍ່ສາມາດໃຊ້ໄດ້.

% n (% N)

ຊື່ເຄື່ອງແມ່ຂ່າຍຂອງລູກຄ້າ (server) (ຫຼື "ບໍ່ຮູ້ຈັກ" ຫຼື "ຮ້າຍແຮງ").

% p

id process daemon

% s

ຂໍ້ມູນເຊີຟເວີ: daemon @ host, daemon @ address, ຫລືຊື່ daemon, ຂຶ້ນຢູ່ກັບຈໍານວນຂໍ້ມູນທີ່ມີຢູ່.

% u

ຊື່ຜູ້ໃຊ້ລູກຄ້າ (ຫຼື "ບໍ່ຮູ້ຈັກ").

%%

ຂະຫຍາຍຕົວຕົວອັກສອນດຽວ `% '.

ຕົວອັກສອນໃນການຂະຫຍາຍຕົວ% ທີ່ອາດສັບສົນກັບແກະໄດ້ຖືກແທນທີ່ດ້ວຍລັກສະນະທີ່ເຄັ່ງຄັດ.

SERVER ENDPOINT PATTERNS

ເພື່ອແນໃສ່ການຈໍາແນກລູກຄ້າໂດຍທີ່ຢູ່ເຄືອຂ່າຍທີ່ພວກເຂົາເຊື່ອມຕໍ່ກັບ, ໃຫ້ໃຊ້ຮູບແບບຂອງແບບຟອມ:

process_name @ host_pattern: client_list

ຮູບແບບຕ່າງໆເຫຼົ່ານີ້ສາມາດໃຊ້ໄດ້ເມື່ອເຄື່ອງມີທີ່ຢູ່ອິນເຕີເນັດທີ່ແຕກຕ່າງກັນກັບຊື່ອິນເຕີເນັດທີ່ແຕກຕ່າງກັນ. ຜູ້ໃຫ້ບໍລິການສາມາດໃຊ້ສະຖານທີ່ນີ້ເພື່ອສະຫນອງໄຟລ໌ FTP, GOPHER ຫຼື WWW ພ້ອມຊື່ອິນເຕີເນັດທີ່ອາດເປັນຂອງອົງກອນຕ່າງໆ. ເບິ່ງອີກທາງເລືອກ 'ບິດ' ໃນເອກສານ host_options (5). ລະບົບບາງຢ່າງ (Solaris, FreeBSD) ສາມາດມີຫຼາຍກ່ວາຫນຶ່ງທີ່ຢູ່ອິນເຕີເນັດໃນການໂຕ້ຕອບທາງດ້ານຮ່າງກາຍ; ກັບລະບົບອື່ນ ໆ ທ່ານອາດຈະຕ້ອງໃຊ້ SLIP ຫຼື PPP pseudo interfaces ທີ່ອາໄສຢູ່ໃນພື້ນທີ່ທີ່ຢູ່ໃນເຄືອຂ່າຍທີ່ອຸທິດຕົນ.

host_pattern obeys ລະບຽບການ syntax ດຽວກັນເປັນຊື່ເຈົ້າພາບແລະທີ່ຢູ່ໃນສະຖານທີ່ client_list. ໂດຍປົກກະຕິ, ຂໍ້ມູນຂ່າວສານ endpoint ຂອງເຄື່ອງແມ່ຂ່າຍແມ່ນມີພຽງແຕ່ມີການບໍລິການທີ່ກ່ຽວກັບການເຊື່ອມຕໍ່.

CLIENT USERNAME LOOKUP

ໃນເວລາທີ່ລູກຄ້າສະຫນັບສະຫນູນໂປຣແກຣມ RFC 931 ຫຼືລູກຫລານຂອງມັນ (TAP, IDENT, RFC 1413), ໂປແກຼມ wrapper ສາມາດເອົາຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບເຈົ້າຂອງການເຊື່ອມຕໍ່. ຂໍ້ມູນຜູ້ໃຊ້ຊື່ຜູ້ໃຊ້, ເມື່ອມີ, ຖືກເຂົ້າລະຫັດກັບຊື່ໂຮດຂອງລູກຄ້າແລະສາມາດຖືກນໍາໃຊ້ເພື່ອໃຫ້ກົງກັບຮູບແບບເຊັ່ນ:

daemon_list: user_pattern @ host_pattern

ການຫຸ້ມຫໍ່ daemon ສາມາດຖືກກໍານົດໃນເວລາທີ່ລວບລວມເພື່ອສະແດງການຊອກຫາຊື່ຜູ້ໃຊ້ທີ່ກໍານົດໄວ້ຕາມກົດລະບຽບ (ແບບມາດຕະຖານ) ຫຼືເພື່ອສອບຖາມຕົວລູກຄ້າສະເຫມີ. ໃນກໍລະນີຂອງການຄົ້ນຫາຊື່ຜູ້ໃຊ້ທີ່ກໍານົດຕາມກົດລະບຽບ, ກົດລະບຽບຂ້າງຕົ້ນຈະເຮັດໃຫ້ການຄົ້ນຫາຊື່ຜູ້ໃຊ້ເທົ່ານັ້ນເມື່ອມີຂໍ້ມູນ daemon_list ແລະ host_pattern .

ຮູບແບບຂອງຜູ້ໃຊ້ມີໄວຣັສດຽວກັນກັບຮູບແບບຂະບວນການ daemon, ສະນັ້ນ wildcards ດຽວກັນນໍາໃຊ້ (ສະມາຊິກ netgroup ບໍ່ສະຫນັບສະຫນູນ). ຢ່າງໃດກໍ່ຕາມ, ພວກເຮົາຄວນຈະບໍ່ໄດ້ຮັບການນໍາໃຊ້ກັບການຄົ້ນຫາຊື່ຜູ້ໃຊ້.

ຂໍ້ມູນຜູ້ໃຊ້ຂອງລູກຄ້າບໍ່ສາມາດໄວ້ໃຈໃນເວລາທີ່ຕ້ອງການຫຼາຍທີ່ສຸດ, ເຊັ່ນວ່າລະບົບລູກຄ້າໄດ້ຮັບການສໍ້ລາດບັງຫຼວງ. ໂດຍທົ່ວໄປແລ້ວ, ALL ແລະ (UN) KNOWN ແມ່ນຮູບແບບຊື່ຜູ້ໃຊ້ທີ່ມີຄວາມຫມາຍເທົ່ານັ້ນ.

ການຄົ້ນຫາຊື່ຜູ້ໃຊ້ແມ່ນມີຄວາມເປັນໄປໄດ້ເທົ່ານັ້ນທີ່ມີການບໍລິການທີ່ TCP, ແລະພຽງແຕ່ໃນເວລາທີ່ເຈົ້າພາບຂອງເຄື່ອງແມ່ຂ່າຍທີ່ເຮັດວຽກກັບ daemon ທີ່ເຫມາະສົມ; ໃນກໍລະນີອື່ນໆທັງຫມົດ, ຜົນໄດ້ຮັບແມ່ນ "ບໍ່ຮູ້".

ຂໍ້ຜິດພາດ kernel UNIX ທີ່ຮູ້ຈັກກັນດີອາດເຮັດໃຫ້ສູນເສຍການບໍລິການເມື່ອການຄົ້ນຫາຊື່ຜູ້ໃຊ້ຖືກສະກັດໂດຍ firewall. ເອກະສານແບບ README wrapper ອະທິບາຍຂັ້ນຕອນເພື່ອຊອກຫາວ່າແກ່ນຂອງທ່ານມີຂໍ້ຜິດພາດນີ້.

ການຄົ້ນຫາຊື່ຜູ້ໃຊ້ອາດຈະເຮັດໃຫ້ມີການຊັກຊ້າແຈ້ງສໍາລັບຜູ້ໃຊ້ທີ່ບໍ່ແມ່ນ UNIX. ເວລາຫມົດເວລາຕົ້ນຕໍສໍາລັບການຄົ້ນຫາຊື່ຜູ້ໃຊ້ແມ່ນ 10 ວິນາທີ: ເກີນໄປເພື່ອຮັບມືກັບເຄືອຂ່າຍທີ່ຊ້າ, ແຕ່ຍາວດົນເພື່ອເຮັດໃຫ້ຜູ້ຊົມໃຊ້ຄອມພິວເຕີ້ກັງວົນ.

ການຄົ້ນຫາຊື່ຜູ້ໃຊ້ທີ່ຄັດເລືອກສາມາດບັນເທົາບັນຫາສຸດທ້າຍ. ຕົວຢ່າງເຊັ່ນກົດລະບຽບເຊັ່ນ:


daemon_list: @pcnetgroup ALL @ ALL

ຈະກົງກັບສະມາຊິກຂອງ netgroup ຄອມພິວເຕີ້ໂດຍບໍ່ມີການຄົ້ນຫາຊື່ຜູ້ໃຊ້ແຕ່ຈະປະຕິບັດການຄົ້ນຫາຊື່ຜູ້ໃຊ້ກັບລະບົບອື່ນໆທັງຫມົດ.

ການກໍານົດຈຸດປະສົງການສະກັດກັ້ນອາກາດ

ຂໍ້ບົກພ່ອງໃນການສ້າງຈໍານວນລໍາດັບຂອງການປະຕິບັດ TCP / IP ຫຼາຍຄົນອະນຸຍາດໃຫ້ຜູ້ບຸກລຸກເຂົ້າໃຈງ່າຍທີ່ຈະເປັນເຈົ້າພາບທີ່ເຊື່ອຖືໄດ້ແລະທໍາລາຍໃນຕົວຢ່າງເຊັ່ນການບໍລິການແກະຫ່າງໄກສອກຫຼີກ. ການບໍລິການ IDENT (RFC931 ແລະອື່ນໆ) ສາມາດຖືກນໍາໃຊ້ເພື່ອກວດສອບການໂຈມຕີ spoofing ທີ່ຢູ່ແລະອື່ນໆ.

ກ່ອນທີ່ຈະຮັບເອົາຄໍາຮ້ອງຂໍຂອງລູກຄ້າ, ເຄື່ອງຫຸ້ມຫໍ່ສາມາດໃຊ້ບໍລິການ IDENT ເພື່ອຊອກຫາວ່າລູກຄ້າບໍ່ໄດ້ສົ່ງຄໍາຮ້ອງທຸກ. ເມື່ອໂຮດລູກຄ້າສະຫນອງການບໍລິການ IDENT, ຜົນລັບການຄົ້ນຫາແບບ IDENT ທີ່ບໍ່ຖືກຕ້ອງ (ລູກຄ້າທີ່ກົງກັບ "UNKNOWN @ host") ແມ່ນຫຼັກຖານທີ່ເຂັ້ມແຂງຂອງການໂຈມຕີຂອງຕົວທ່ອງເວັບ.

ຜົນການຄົ້ນຫາທີ່ມີຜົນບວກ IDENT (ລູກຄ້າກົງກັບ `KNOWN @ host ') ແມ່ນຫນ້ອຍທີ່ເຊື່ອຖືໄດ້. ມັນເປັນໄປໄດ້ສໍາລັບຜູ້ບຸກລຸກທີ່ຈະຫຼອກລວງການເຊື່ອມຕໍ່ຂອງລູກຄ້າແລະການຊອກຫາ IDENT, ເຖິງແມ່ນວ່າການເຮັດດັ່ງນັ້ນມີຄວາມຫຍຸ້ງຍາກຫຼາຍກ່ວາ spoofing ພຽງແຕ່ການເຊື່ອມຕໍ່ຂອງລູກຄ້າເທົ່ານັ້ນ. ມັນອາດຈະເປັນວ່າເຄື່ອງແມ່ຂ່າຍຂອງ IDENT ຂອງລູກຄ້າແມ່ນຖືກກ່າວຫາ.

ຫມາຍເຫດ: ຄົ້ນຫາ IDENT ບໍ່ເຮັດວຽກກັບບໍລິການ UDP.

ຕົວຢ່າງ

ພາສາທີ່ມີຄວາມຍືດຢຸ່ນພຽງພໍທີ່ວ່າປະເພດຕ່າງໆຂອງນະໂຍບາຍການຄວບຄຸມການເຂົ້າເຖິງສາມາດສະແດງອອກໄດ້ດ້ວຍຄວາມຕ່ໍາຕ້ອຍນ້ອຍໆ. ເຖິງແມ່ນວ່າພາສາໃຊ້ຕາຕະລາງຄວບຄຸມການເຂົ້າເຖິງສອງ, ນະໂຍບາຍທົ່ວໄປທີ່ສຸດສາມາດຈັດຕັ້ງປະຕິບັດໄດ້ໂດຍຫນຶ່ງໃນຕາຕະລາງທີ່ບໍ່ຖືກຕ້ອງຫຼືເປົ່າຫວ່າງ.

ໃນເວລາທີ່ອ່ານຕົວຢ່າງຂ້າງລຸ່ມນີ້ມັນສໍາຄັນທີ່ຈະຮັບຮູ້ວ່າຕາຕະລາງອະນຸຍາດແມ່ນຖືກສະແກນກ່ອນຕາຕະລາງປະຕິເສດ, ວ່າການຄົ້ນຫາຈະສິ້ນສຸດເມື່ອພົບເຫັນແລະການເຂົ້າເຖິງຈະຖືກອະນຸມັດເມື່ອພົບບໍ່ພົບ.

ຕົວຢ່າງໃຊ້ໂຮດແລະຊື່ໂດເມນ. ພວກເຂົາສາມາດໄດ້ຮັບການປັບປຸງໂດຍລວມຂໍ້ມູນທີ່ຢູ່ແລະ / ຫຼືຂໍ້ມູນເຄືອຂ່າຍ / ເຄືອຂ່າຍ, ເພື່ອຫຼຸດຜ່ອນຜົນກະທົບຂອງການລົ້ມເຫລວຂອງການຊອກຫາເຄື່ອງແມ່ຂ່າຍຊົ່ວຄາວ.

ຢ່າງຫນ້ອຍປິດ

ໃນກໍລະນີນີ້, ການເຂົ້າເຖິງຈະຖືກປະຕິເສດໂດຍຄ່າເລີ່ມຕົ້ນ. ພຽງແຕ່ຜູ້ທີ່ອະນຸຍາດຢ່າງຊັດເຈນອະນຸຍາດໃຫ້ເຂົ້າເຖິງ.

ນະໂຍບາຍເລີ່ມຕົ້ນ (ບໍ່ມີການເຂົ້າເຖິງ) ຖືກປະຕິບັດດ້ວຍໄຟລ໌ປະຕິເສດທີ່ບໍ່ຖືກຕ້ອງ:

/etc/hosts.deny: ALL: ALL

ນີ້ປະຕິເສດການບໍລິການທັງຫມົດໃຫ້ກັບເຄື່ອງແມ່ຂ່າຍທັງຫມົດ, ເວັ້ນເສຍແຕ່ວ່າພວກເຂົາຖືກອະນຸຍາດໃຫ້ເຂົ້າໂດຍການເຂົ້າໃນເອກະສານອະນຸຍາດ.

ເຈົ້າຫນ້າທີ່ອະນຸຍາດຢ່າງຊັດເຈນແມ່ນຢູ່ໃນເອກະສານອະນຸຍາດ. ຍົກ​ຕົວ​ຢ່າງ:

/etc/hostsallow: ALL: LOCAL @some_netgroup
ALL: .foobar.edu EXCEPT terminalserverfoobar.edu

ກົດລະບຽບທໍາອິດໃຫ້ການເຂົ້າເຖິງຈາກໂຮດໃນໂດເມນທ້ອງຖິ່ນ (ບໍ່ມີ `` ໃນຊື່ໂຮດ) ແລະຈາກສະມາຊິກຂອງ netgroup some_netgroup. ກົດລະບຽບທີສອງອະນຸຍາດໃຫ້ເຂົ້າເຖິງຈາກເຄື່ອງແມ່ຂ່າຍທັງຫມົດໃນໂດເມນ foobar.edu (ສັງເກດເຫັນຈຸດນໍາ), ຍົກເວັ້ນ terminalserver.foobar.edu .

ໄດ້ຢ່າງງ່າຍດາຍເປີດ

ທີ່ນີ້, ການເຂົ້າເຖິງແມ່ນໄດ້ຮັບການກໍານົດໄວ້ຕາມຄວາມເຫມາະສົມ; ມີພຽງຜູ້ທີ່ຖືກກໍານົດຢ່າງຊັດເຈນຖືກປະຕິເສດການບໍລິການ.

ນະໂຍບາຍການເລີ່ມຕົ້ນ (ການເຂົ້າເຖິງ) ອະນຸຍາດໃຫ້ເອກະສານອະນຸຍາດໃຫ້ມີໄຟຟ້ອມເພື່ອໃຫ້ມັນສາມາດຖືກຍົກເລີກ. ເຄື່ອງແມ່ຂ່າຍທີ່ບໍ່ຖືກອະນຸຍາດຢ່າງຊັດເຈນແມ່ນຢູ່ໃນໄຟລ໌ປະຕິເສດ. ຍົກ​ຕົວ​ຢ່າງ:

/etc/hosts.deny: ALL: somehostname, somedomain
ALL EXCEPT in.fingerd: other.hostname, otherdomain

ກົດລະບຽບທໍາອິດປະຕິເສດບາງໂຮດແລະໂດເມນການບໍລິການທັງຫມົດ; ກົດລະບຽບທີສອງຍັງອະນຸຍາດໃຫ້ຄໍາຮ້ອງຂໍນິ້ວມືຈາກເຈົ້າພາບແລະໂດເມນອື່ນໆ.

BOOBY TRAPS

ຕົວຢ່າງຕໍ່ໄປນີ້ອະນຸຍາດໃຫ້ການຮ້ອງຂໍ tftp ຈາກໂຮດໃນໂດເມນທ້ອງຖິ່ນ (ສັງເກດເຫັນຈຸດນໍາທາງ). ຄໍາຮ້ອງຂໍຈາກເຈົ້າພາບອື່ນໆແມ່ນຖືກປະຕິເສດ. ແທນທີ່ຈະໄຟລ໌ທີ່ຖືກຮ້ອງຂໍ, ການກວດສອບນິ້ວມືຖືກສົ່ງໄປຫາເຈົ້າພາບທີ່ຜິດກົດຫມາຍ. ຜົນໄດ້ຮັບແມ່ນສົ່ງໄປຫາຜູ້ superuser.

/etc/hostsallow:

intftpd: LOCAL, mydomain /etc/hostsdeny: intftpd: ALL: spawn (/ some / where / safe_finger -l @% h | \ / usr / ucb / mail -s% d-% h root) &

ຄໍາສັ່ງ safe_finger ມາພ້ອມກັບ wrapper tcpd ແລະຄວນຕິດຕັ້ງໃນບ່ອນທີ່ເຫມາະສົມ. ມັນຈໍາກັດຄວາມເສຍຫາຍຈາກຂໍ້ມູນທີ່ສົ່ງໂດຍເຄື່ອງແມ່ຂ່າຍນິ້ວມືຫ່າງໄກສອກຫຼີກ. ມັນໃຫ້ການປົກປ້ອງທີ່ດີກວ່າຄໍາສັ່ງຂອງນິ້ວມືມາດຕະຖານ.

ການຂະຫຍາຍຕົວຂອງລະບົບ% h (client host) ແລະ% d (service name) sequences ແມ່ນອະທິບາຍໃນສ່ວນຄໍາສັ່ງ shell.

ຄໍາເຕືອນ: ຫ້າມຈັບຕົວນິ້ວມືຂອງທ່ານ, ຖ້າທ່ານບໍ່ໄດ້ກຽມພ້ອມສໍາລັບວົງເລັບທີ່ບໍ່ຈໍາກັດ.

ໃນລະບົບ firewall ເຄືອຂ່າຍເຄັດລັບນີ້ສາມາດດໍາເນີນການຕໍ່ໄປອີກແລ້ວ. firewall ເຄືອຂ່າຍປົກກະຕິພຽງແຕ່ສະຫນອງການບໍລິການທີ່ຈໍາກັດໃຫ້ໂລກພາຍນອກ. ບໍລິການອື່ນໆທັງຫມົດສາມາດ "bugged" ຄືກັບຕົວຢ່າງ tftp ຂ້າງເທິງ. ຜົນໄດ້ຮັບແມ່ນລະບົບເຕືອນໄພທີ່ດີເລີດ.

ເບິ່ງຍັງ

tcpd (8) tcp / ip daemon wrapper program tcpdchk (8), tcpdmatch (8), ໂປລແກລມທົດສອບ

ສິ່ງສໍາຄັນ: ໃຊ້ຄໍາສັ່ງ man ( % man ) ເພື່ອເບິ່ງວິທີການໃຊ້ຄໍາສັ່ງໃນຄອມພິວເຕີຂອງທ່ານ.