ນີ້ແມ່ນຄໍາສັ່ງທີ່ຖືກເຄາະຮ້າຍທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
knockd - port-knock server
ສະຫຼຸບສັງລວມ
ເຄາະ [ທາງເລືອກ]
ລາຍລະອຽດ
ເຄາະ ເປັນ ພອດ-ເຄາະ ເຊີບເວີ. ມັນຟັງການຈາລະຈອນທັງໝົດຢູ່ໃນອີເທີເນັດ (ຫຼື PPP)
ການໂຕ້ຕອບ, ຊອກຫາລໍາດັບພິເສດ "knock" ຂອງ port hits. ລູກຄ້າເຮັດໃຫ້ພອດເຫຼົ່ານີ້,
hits ໂດຍການສົ່ງຊຸດ TCP (ຫຼື UDP) ໄປຫາພອດຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ. ພອດນີ້ບໍ່ຈໍາເປັນຕ້ອງເປີດ
-- ນັບຕັ້ງແຕ່ knockd listens ໃນລະດັບ link-layer, ມັນເຫັນການຈະລາຈອນທັງຫມົດເຖິງແມ່ນວ່າມັນຈະ destined
ສໍາລັບພອດປິດ. ເມື່ອເຊີບເວີກວດພົບລໍາດັບສະເພາະຂອງ port-hits, ມັນແລ່ນ a
ຄໍາສັ່ງທີ່ກໍານົດໄວ້ໃນໄຟລ໌ການຕັ້ງຄ່າຂອງມັນ. ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອເປີດຮູໃນ a
Firewall ສໍາລັບການເຂົ້າເຖິງໄວ.
ຄໍາສັ່ງ OPTIONS
-i, -- ການໂຕ້ຕອບ
ລະບຸສ່ວນຕິດຕໍ່ເພື່ອຟັງ. ຄ່າເລີ່ມຕົ້ນແມ່ນ eth0.
-d, --daemon
ກາຍເປັນ daemon. ປົກກະຕິແລ້ວນີ້ແມ່ນຕ້ອງການສໍາລັບການດໍາເນີນການປົກກະຕິຄ້າຍຄືເຄື່ອງແມ່ຂ່າຍ.
-c, --config
ລະບຸສະຖານທີ່ສຳຮອງສໍາລັບໄຟລ໌ config. ຄ່າເລີ່ມຕົ້ນແມ່ນ /etc/knockd.conf.
-D, --debug
ອອກຂໍ້ຄວາມແກ້ໄຂບັນຫາ.
-l, --ຊອກຫາ
ຊອກຫາຊື່ DNS ສໍາລັບລາຍການບັນທຶກ. ນີ້ອາດຈະເປັນຄວາມສ່ຽງດ້ານຄວາມປອດໄພ! ເບິ່ງພາກ ຄວາມປອດໄພ
ຫມາຍເຫດ.
- ໃນ, -- verbose
ສົ່ງຂໍ້ຄວາມສະຖານະ verbose.
-V, - ການປ່ຽນແປງ
ສະແດງສະບັບ.
-ຊ, - ຊ່ວຍ
ການຊ່ວຍເຫຼືອ syntax.
CONFIGURATION
knockd ອ່ານຊຸດນັດໝາຍທັງໝົດຈາກໄຟລ໌ການຕັ້ງຄ່າ. ແຕ່ລະຄັ້ງເຄາະ/ເຫດການເລີ່ມຕົ້ນດ້ວຍ
ເຄື່ອງໝາຍຫົວຂໍ້, ໃນຮູບແບບ [ຊື່], ບ່ອນທີ່ ຊື່ ແມ່ນຊື່ຂອງເຫດການທີ່ຈະປາກົດ
ໃນບັນທຶກ. ເຄື່ອງຫມາຍພິເສດ, [ທາງເລືອກ], ຖືກນໍາໃຊ້ເພື່ອກໍານົດທາງເລືອກທົ່ວໂລກ.
ຍົກຕົວຢ່າງ #1:
ຕົວຢ່າງນີ້ໃຊ້ສອງເຄາະ. ທໍາອິດຈະອະນຸຍາດໃຫ້ knocker ເຂົ້າເຖິງພອດ 22
(SSH), ແລະອັນທີສອງຈະປິດພອດໃນເວລາທີ່ knocker ສໍາເລັດ. ຕາມທີ່ທ່ານສາມາດເຮັດໄດ້
ເບິ່ງ, ນີ້ອາດຈະເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານດໍາເນີນການຈໍາກັດຫຼາຍ (ນະໂຍບາຍ DENY) firewall ແລະ
ຕ້ອງການທີ່ຈະເຂົ້າເຖິງມັນ discreetly.
[ທາງເລືອກ]
logfile = /var/log/knockd.log
[openSSH]
ລໍາດັບ = 7000,8000,9000
seq_ outົດເວລາ = 10
tcpflags = syn
ຄຳສັ່ງ = /sbin/iptables -A input -s %IP% -j ຍອມຮັບ
[ປິດ SSH]
ລໍາດັບ = 9000,8000,7000
seq_ outົດເວລາ = 10
tcpflags = syn
ຄຳສັ່ງ = /sbin/iptables -D INPUT -s %IP% -j ຍອມຮັບ
ຍົກຕົວຢ່າງ #2:
ຕົວຢ່າງນີ້ໃຊ້ການເຄາະດຽວເພື່ອຄວບຄຸມການເຂົ້າເຖິງພອດ 22 (SSH). ຫຼັງຈາກ
ໄດ້ຮັບການເຄາະຢ່າງສໍາເລັດຜົນ, daemon ຈະດໍາເນີນການໄດ້ start_command, ລໍຖ້າ
ເວລາທີ່ກໍານົດໄວ້ໃນ cmd_ໝົດເວລາ, ຫຼັງຈາກນັ້ນປະຕິບັດ stop_command. ນີ້ແມ່ນເປັນປະໂຫຍດກັບ
ປິດປະຕູອັດຕະໂນມັດຢູ່ຫລັງຜູ້ເຄາະ. ລໍາດັບເຄາະໃຊ້ທັງສອງ UDP
ແລະພອດ TCP.
[ທາງເລືອກ]
logfile = /var/log/knockd.log
[opencloseSSH]
ລໍາດັບ = 2222:udp,3333:tcp,4444:udp
seq_ outົດເວລາ = 15
tcpflags = syn,ack
start_command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --syn -j ຍອມຮັບ
cmd_timeout = 5
stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --syn -j ຍອມຮັບ
ຍົກຕົວຢ່າງ #3:
ຕົວຢ່າງນີ້ບໍ່ໄດ້ໃຊ້ລຳດັບການເຄາະອັນດຽວທີ່ຄົງທີ່ເພື່ອກະຕຸ້ນເຫດການ, ແຕ່ a
ຊຸດຂອງລໍາດັບທີ່ເອົາມາຈາກໄຟລ໌ລໍາດັບ (ລໍາດັບຄັ້ງດຽວ), ກໍານົດໂດຍ
one_time_sequences ຄໍາສັ່ງ. ຫຼັງຈາກການລົບສົບຜົນສໍາເລັດແຕ່ລະຄົນ, ລໍາດັບການນໍາໃຊ້ຈະ
ບໍ່ຖືກຕ້ອງແລະລໍາດັບຕໍ່ໄປຈາກໄຟລ໌ລໍາດັບຕ້ອງຖືກນໍາໃຊ້ສໍາລັບ a
ເຄາະສົບຜົນສໍາເລັດ. ນີ້ປ້ອງກັນບໍ່ໃຫ້ຜູ້ໂຈມຕີຈາກການໂຈມຕີ replay ຫຼັງຈາກ
ໄດ້ຄົ້ນພົບລໍາດັບ (ຕົວຢ່າງ, ໃນຂະນະທີ່ sniffing ເຄືອຂ່າຍ).
[ທາງເລືອກ]
logfile = /var/log/knockd.log
[opencloseSMTP]
one_time_sequences = /etc/knockd/smtp_sequences
seq_ outົດເວລາ = 15
tcpflags = fin,!ack
start_command = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 25 -j ຍອມຮັບ
cmd_timeout = 5
stop_command = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 25 -j ຍອມຮັບ
ການສົນທະນາ: GLOBAL ທິດທາງ
ໃຊ້ Syslog
ບັນທຶກຂໍ້ຄວາມປະຕິບັດຜ່ານ syslog(). ນີ້ຈະໃສ່ຂໍ້ມູນບັນທຶກເຂົ້າໄປໃນຂອງທ່ານ
/var/log/messages ຫຼືທຽບເທົ່າ.
LogFile = /path/to/file
ບັນທຶກການປະຕິບັດໂດຍກົງໃສ່ໄຟລ໌, ປົກກະຕິແລ້ວ /var/log/knockd.log.
PidFile = /path/to/file
Pidfile ທີ່ຈະໃຊ້ເມື່ອຢູ່ໃນໂໝດ daemon, ຄ່າເລີ່ມຕົ້ນ: /var/run/knockd.pid.
ການໂຕ້ຕອບ =
ການໂຕ້ຕອບເຄືອຂ່າຍເພື່ອຟັງ. ພຽງແຕ່ຊື່ຂອງມັນຕ້ອງໄດ້ຮັບການໃຫ້, ບໍ່ແມ່ນເສັ້ນທາງໄປສູ່
ອຸປະກອນ (ເຊັ່ນ, "eth0" ແລະບໍ່ແມ່ນ "/dev/eth0"). ຄ່າເລີ່ມຕົ້ນ: eth0.
ການສົນທະນາ: KNOCK/Event ທິດທາງ
ລໍາດັບ = [: ][, [: ] ... ]
ລະບຸລໍາດັບຂອງພອດໃນການເຄາະພິເສດ. ຖ້າພອດຜິດພາດກັບອັນດຽວກັນ
ທຸງຖືກຮັບ, ເຄາະຖືກຍົກເລີກ. ທາງເລືອກອື່ນ, ທ່ານສາມາດກໍານົດໂປໂຕຄອນ
ເພື່ອໃຊ້ບົນພື້ນຖານຕໍ່ພອດ (ຄ່າເລີ່ມຕົ້ນແມ່ນ TCP).
One_Time_Sequences = /path/to/one_time_sequences_file
ໄຟລ໌ທີ່ມີລໍາດັບຄັ້ງດຽວທີ່ຈະຖືກນໍາໃຊ້. ແທນທີ່ຈະໃຊ້ແບບຄົງທີ່
sequence, knockd ຈະອ່ານລໍາດັບທີ່ຈະໃຊ້ຈາກໄຟລ໌ນັ້ນ. ຫຼັງຈາກແຕ່ລະຄົນ
ການພະຍາຍາມເຄາະຢ່າງສຳເລັດຜົນ ລຳດັບນີ້ຈະຖືກປິດການນຳໃຊ້ໂດຍການຂຽນຕົວອັກສອນ '#'
ຢູ່ທີ່ຕໍາແຫນ່ງທໍາອິດຂອງເສັ້ນທີ່ມີລໍາດັບທີ່ໃຊ້. ລໍາດັບທີ່ນໍາໃຊ້
ຫຼັງຈາກນັ້ນຈະຖືກແທນທີ່ດ້ວຍລໍາດັບທີ່ຖືກຕ້ອງຕໍ່ໄປຈາກໄຟລ໌.
ເນື່ອງຈາກວ່າຕົວອັກສອນທໍາອິດຖືກແທນທີ່ດ້ວຍ '#', ມັນແນະນໍາໃຫ້ທ່ານອອກຈາກ
ຊ່ອງຢູ່ໃນຕອນຕົ້ນຂອງແຕ່ລະແຖວ. ຖ້າບໍ່ດັ່ງນັ້ນຕົວເລກທໍາອິດຢູ່ໃນການເຄາະຂອງທ່ານ
ລໍາດັບຈະຖືກຂຽນທັບດ້ວຍ '#' ຫຼັງຈາກທີ່ມັນຖືກນໍາໃຊ້ແລ້ວ.
ແຕ່ລະແຖວໃນໄຟລ໌ລໍາດັບຄັ້ງດຽວປະກອບດ້ວຍລໍາດັບຫນຶ່ງທີ່ແນ່ນອນແລະມີ
ຮູບແບບດຽວກັນກັບຫນຶ່ງສໍາລັບການ ລໍາດັບ ຄໍາສັ່ງ. ແຖວເລີ່ມຕົ້ນດ້ວຍ '#'
ລັກສະນະຈະຖືກລະເລີຍ.
ຫມາຍເຫດ: ຢ່າແກ້ໄຂໄຟລ໌ໃນຂະນະທີ່ການ knockd ແມ່ນແລ່ນ!
Seq_ໝົດເວລາ =
ເວລາລໍຖ້າໃຫ້ລຳດັບສຳເລັດພາຍໃນວິນາທີ. ຖ້າເວລາຜ່ານໄປກ່ອນ
ເຄາະແມ່ນສໍາເລັດ, ມັນໄດ້ຖືກຍົກເລີກ.
TCPFlags = fin|syn|rst|psh|ack|urg
ພຽງແຕ່ເອົາໃຈໃສ່ກັບຊຸດທີ່ມີຊຸດທຸງນີ້. ເມື່ອໃຊ້ທຸງ TCP,
knockd ຈະບໍ່ສົນໃຈແພັກເກັດ tcp ທີ່ບໍ່ກົງກັບທຸງ. ນີ້ແມ່ນແຕກຕ່າງກັນຫຼາຍກ່ວາ
ພຶດຕິກໍາປົກກະຕິ, ບ່ອນທີ່ແພັກເກັດທີ່ບໍ່ຖືກຕ້ອງຈະເຮັດໃຫ້ການເຄາະທັງຫມົດບໍ່ຖືກຕ້ອງ,
ບັງຄັບໃຫ້ລູກຄ້າເລີ່ມຕົ້ນໃໝ່. ການນໍາໃຊ້ "TCPFlags = syn" ແມ່ນເປັນປະໂຫຍດຖ້າຫາກວ່າທ່ານ
ການທົດສອບການເຊື່ອມຕໍ່ SSH, ຍ້ອນວ່າການຈະລາຈອນ SSH ມັກຈະແຊກແຊງ (ແລະ
ດັ່ງນັ້ນ invalidate) ເຄາະ.
ແຍກທຸງຫຼາຍອັນດ້ວຍເຄື່ອງໝາຍຈຸດ (ເຊັ່ນ: TCPFlags = syn,ack,urg). ທຸງສາມາດເປັນ
ຖືກຍົກເວັ້ນຢ່າງຈະແຈ້ງໂດຍ "!" (ເຊັ່ນ: TCPFlags = syn,!ack).
Start_Command =
ລະບຸຄໍາສັ່ງທີ່ຈະດໍາເນີນການໃນເວລາທີ່ລູກຄ້າເຮັດໃຫ້ພອດ-knock ທີ່ຖືກຕ້ອງ. ທັງໝົດ
ຕົວຢ່າງຂອງ %IP% ຈະຖືກແທນທີ່ດ້ວຍທີ່ຢູ່ IP ຂອງຜູ້ເຄາະ. ໄດ້ ຄໍາສັ່ງ
ຄໍາສັ່ງແມ່ນນາມແຝງສໍາລັບ Start_Command.
Cmd_ໝົດເວລາ =
ເວລາລໍຖ້າລະຫວ່າງ Start_Command ແລະ Stop_Command ໃນວິນາທີ. ຄໍາສັ່ງນີ້ແມ່ນ
ທາງເລືອກ, ພຽງແຕ່ຕ້ອງການຖ້າຫາກວ່າ Stop_Command ຖືກນໍາໃຊ້.
Stop_Command =
ລະບຸຄໍາສັ່ງທີ່ຈະດໍາເນີນການໃນເວລາທີ່ Cmd_ໝົດເວລາ ວິນາທີໄດ້ຜ່ານໄປແລ້ວ
Start_Command ໄດ້ຖືກປະຕິບັດ. ຕົວຢ່າງທັງຫມົດຂອງ %IP% ຈະຖືກແທນທີ່ດ້ວຍ
ທີ່ຢູ່ IP ຂອງ knocker. ຄໍາສັ່ງນີ້ແມ່ນທາງເລືອກ.
ຄວາມປອດໄພ ຫມາຍເຫດ
ການນໍາໃຊ້ -l or --ຊອກຫາ ທາງເລືອກ commandline ເພື່ອແກ້ໄຂຊື່ DNS ສໍາລັບການເຂົ້າບັນທຶກອາດຈະເປັນ a
ຄວາມສ່ຽງດ້ານຄວາມປອດໄພ! ຜູ້ໂຈມຕີອາດຈະຊອກຫາພອດທໍາອິດຂອງລໍາດັບຖ້າລາວສາມາດຕິດຕາມໄດ້
ການຈາລະຈອນ DNS ຂອງເຈົ້າພາບທີ່ເຮັດວຽກຖືກເຄາະຮ້າຍ. ນອກຈາກນີ້ຍັງເປັນເຈົ້າພາບທີ່ຄວນຈະເປັນ stealth (ເຊັ່ນ:
ການຖິ້ມແພັກເກັດໄປປິດພອດ TCP ແທນການຕອບກັບດ້ວຍແພັກເກັດ ACK+RST) ອາດຈະໃຫ້
ຕົວຂອງມັນເອງອອກໄປໂດຍການແກ້ໄຂຊື່ DNS ຖ້າຜູ້ໂຈມຕີສາມາດຕີພອດທໍາອິດ (ບໍ່ຮູ້ຈັກ).
ຂອງລໍາດັບຫນຶ່ງ.
ໃຊ້ knocked ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net