โฮมเพจ » ทำอย่างไร » วิธีการเคาะเข้าสู่เครือข่ายของคุณ (DD-WRT)

    วิธีการเคาะเข้าสู่เครือข่ายของคุณ (DD-WRT)

    คุณเคยต้องการที่จะให้ "เราเตอร์เคาะประตู" พิเศษกับเราเตอร์ของคุณหรือไม่เพื่อที่จะ "เปิดประตู" เท่านั้นเมื่อมีการจดจำการลับได้หรือไม่? วิธีการ Geek อธิบายวิธีการติดตั้ง Knock daemon บน DD-WRT.

    ภาพโดย Bfick และ Aviad Raviv

    หากคุณยังไม่ได้ดำเนินการให้ตรวจสอบและชำระเงินบทความก่อนหน้าในซีรี่ส์:

    • เปลี่ยนเราท์เตอร์ภายในบ้านของคุณให้เป็นเราเตอร์ที่ทรงพลังด้วย DD-WRT
    • วิธีการติดตั้งซอฟต์แวร์เพิ่มเติมบนเราเตอร์ที่บ้านของคุณ (DD-WRT)
    • วิธีลบโฆษณาด้วย Pixelserv บน DD-WRT

    สมมติว่าคุณคุ้นเคยกับหัวข้อเหล่านั้นอ่านต่อไป โปรดทราบว่าคู่มือนี้เป็นเทคนิคเล็กน้อยและผู้เริ่มต้นควรระวังเมื่อทำการปรับเปลี่ยนเราเตอร์.

    ภาพรวม

    ตามเนื้อผ้าเพื่อให้สามารถสื่อสารกับอุปกรณ์ / บริการหนึ่งจะต้องเริ่มต้น เต็ม เชื่อมต่อเครือข่ายกับมัน อย่างไรก็ตามการทำเช่นนั้นเปิดเผยสิ่งที่เรียกว่าในยุคความปลอดภัยพื้นผิวการโจมตี Knock daemon เป็นเน็ตเวิร์ก sniffer ชนิดหนึ่งที่สามารถตอบสนองเมื่อสังเกตเห็นลำดับที่กำหนดค่าไว้ล่วงหน้า เนื่องจากไม่จำเป็นต้องสร้างการเชื่อมต่อเพื่อให้ดีมอนภูตจดจำลำดับการกำหนดค่าพื้นผิวการโจมตีจะลดลงในขณะที่ยังคงใช้งานได้ตามที่ต้องการ เรียกอีกอย่างว่าเราจะกำหนดเงื่อนไขให้เราเตอร์ด้วย ต้องการ การตอบสนอง“ สองบิต” (ต่างจาก Roger ที่ไม่ดี…).

    ในบทความนี้เราจะ:

    • แสดงวิธีใช้ Knockd เพื่อให้เราเตอร์ Wake-On-Lan คอมพิวเตอร์ในเครือข่ายท้องถิ่นของคุณ.
    • แสดงวิธีเรียกใช้ลำดับ Knock จากแอปพลิเคชัน Android รวมถึงคอมพิวเตอร์.

    หมายเหตุ: แม้ว่าคำแนะนำในการติดตั้งจะไม่เกี่ยวข้องกันอีกต่อไปคุณสามารถดูซีรีส์ภาพยนตร์ที่ฉันสร้างขึ้น "ย้อนกลับไปเมื่อไหร่" เพื่อดูบทสรุปทั้งหมดของการกำหนดค่าที่จะทำให้เกิดการเคาะ (แก้ตัวการนำเสนอที่หยาบ).

    ผลกระทบการรักษาความปลอดภัย

    การอภิปรายเกี่ยวกับ“ Knockd มีความปลอดภัยแค่ไหน” มีความยาวและย้อนหลังไปหลายพันปี (ในอินเทอร์เน็ตปี) แต่บรรทัดล่างคือ:

    น็อคเป็นเลเยอร์ของความปลอดภัยโดยความสับสนซึ่งควรใช้เท่านั้น เสริม วิธีการอื่น ๆ เช่นการเข้ารหัสและไม่ควรใช้ด้วยตัวเองในตอนท้ายทั้งหมดเป็นมาตรการรักษาความปลอดภัยทั้งหมด.

    ข้อกำหนดเบื้องต้นข้อสันนิษฐาน & คำแนะนำ

    • สมมติว่าคุณมีเราเตอร์ DD-WRT ที่เปิดใช้งาน Opkg.
    • ความอดทนเช่นนี้อาจใช้เวลาสักครู่ในการตั้งค่า.
    • ขอแนะนำอย่างยิ่งให้คุณได้รับบัญชี DDNS สำหรับ IP ภายนอกของคุณ (ปกติจะเป็นแบบไดนามิก).

    ช่วยให้ได้รับการแตกร้าว

    การติดตั้งและการกำหนดค่าพื้นฐาน

    ติดตั้ง Knock daemon โดยเปิดเทอร์มินัลกับเราเตอร์และออก:

    อัพเดต opkg; opkg ติดตั้ง knockd

    ตอนนี้มีการติดตั้ง Knockd แล้วเราจำเป็นต้องกำหนดค่าลำดับการเรียกและคำสั่งที่จะถูกดำเนินการเมื่อถูกทริกเกอร์ ในการทำเช่นนี้ให้เปิดไฟล์“ knockd.conf” ในโปรแกรมแก้ไขข้อความ บนเราเตอร์นี่จะเป็น:

    vi /opt/etc/knockd.conf

    ทำให้เนื้อหาดูเหมือนว่า:

    [ตัวเลือก]
    logfile = /var/log/knockd.log
    UseSyslog

    [wakelaptop]
    ลำดับ = 56,56,56,43,43,43,1443,1443,1443
    seq_timeout = 30
    คำสั่ง = / usr / sbin / wol aa: bb: cc: dd: ee: 22 -i $ (nvram รับ lan_ipaddr | cut -d. -f 1,2,3) .255
    tcpflags = sync

    ให้อธิบายข้างต้น:

    • ส่วน "ตัวเลือก" อนุญาตให้หนึ่งเพื่อกำหนดค่าพารามิเตอร์ส่วนกลางสำหรับภูต ในตัวอย่างนี้เราได้สั่งให้ daemon เก็บบันทึกไว้ทั้งใน syslog และในไฟล์ แม้ว่าจะไม่เป็นอันตรายต่อการใช้ตัวเลือกทั้งสองอย่างร่วมกัน แต่คุณควรพิจารณาเลือกเพียงตัวเลือกเดียว.
    • เซ็กเมนต์ "wakelaptop" เป็นตัวอย่างของลำดับที่จะเรียกคำสั่ง WOL ไปยัง LAN ของคุณสำหรับคอมพิวเตอร์ที่มีที่อยู่ MAC ของ aa: bb: cc: dd: ee: 22.
      หมายเหตุ: คำสั่งดังกล่าวจะถือว่าพฤติกรรมเริ่มต้นของการมีเครือข่ายย่อยคลาส C. 

    ในการเพิ่มซีเควนซ์เพิ่มเติมเพียงแค่คัดลอกและวางเซ็กเมนต์“ wakelaptop” และปรับด้วยพารามิเตอร์ใหม่และ / หรือคำสั่งที่จะดำเนินการโดยเราเตอร์.

    การเริ่มต้น

    หากต้องการให้เราเตอร์ใช้ daemon เมื่อเริ่มต้นให้ผนวกด้านล่างเข้ากับสคริปต์“ geek-init” จากคู่มือ OPKG:

    knockd -d -c /opt/etc/knockd.conf -i "$ (nvram รับ wan_ifname)"

    สิ่งนี้จะเริ่มต้น Knock daemon บนอินเทอร์เฟซ“ WAN” ของเราเตอร์ของคุณเพื่อที่จะฟังแพ็กเก็ตจากอินเทอร์เน็ต.

    เคาะจาก Android

    ในยุคของการพกพามันจำเป็นอย่างยิ่งที่จะ "มีแอพสำหรับสิ่งนั้น" ... ดังนั้น StavFX จึงสร้างแอปสำหรับงานนี้ :)
    แอพนี้ใช้ลำดับการเคาะที่ถูกต้องจากอุปกรณ์ Android ของคุณและรองรับการสร้างวิดเจ็ตบนหน้าจอหลักของคุณ.

    • ติดตั้งแอปพลิเคชัน Knocker จากตลาด Android (โปรดใช้ความกรุณาและให้คะแนนที่ดีด้วย).
    • เมื่อติดตั้งบนอุปกรณ์ของคุณแล้วให้เปิดใช้งาน คุณควรได้รับการต้อนรับจากสิ่งที่ชอบ:
    • คุณอาจกดไอคอนตัวอย่างเพื่อแก้ไขหรือกด“ เมนู” เพื่อเพิ่มรายการใหม่ รายการใหม่จะมีลักษณะ:
    • เพิ่มบรรทัดและกรอกข้อมูลที่จำเป็นสำหรับการเคาะของคุณ สำหรับตัวอย่างการกำหนดค่า WOL จากด้านบนนี่จะเป็น:
    • เลือกที่จะเปลี่ยนไอคอนโดยกดที่ไอคอนถัดจากชื่อ Knock.
    • บันทึกการเคาะ.
    • แตะเคาะใหม่ในหน้าจอหลักเพื่อเปิดใช้งาน.
    • เลือกสร้างวิดเจ็ตสำหรับมันบนหน้าจอหลัก.

    โปรดทราบว่าในขณะที่เราได้กำหนดค่าไฟล์ตัวอย่างการกำหนดค่าด้วยกลุ่ม 3 สำหรับแต่ละพอร์ต (เนื่องจากส่วน Telnet ด้านล่าง) ด้วยแอปพลิเคชันนี้ไม่มีข้อ จำกัด เกี่ยวกับจำนวนการทำซ้ำ (ถ้าทั้งหมด) สำหรับพอร์ต.
    สนุกกับการใช้แอพที่ StavFX บริจาค :-)

    เคาะจาก Windows / Linux

    ในขณะที่เป็นไปได้ที่จะทำการ Knocking ด้วยยูทิลิตี้เครือข่ายที่ง่ายที่สุด a.k.a“ Telnet”, Microsoft ได้ตัดสินใจว่า Telnet เป็น“ ความเสี่ยงด้านความปลอดภัย” และต่อมาจะไม่ติดตั้งบน Windows สมัยใหม่อีกต่อไป หากคุณถามฉันว่า“ พวกเขาที่สามารถละทิ้งเสรีภาพที่สำคัญในการได้รับความปลอดภัยชั่วคราวเพียงเล็กน้อยควรได้รับอิสรภาพหรือความปลอดภัย ~ Benjamin Franklin” แต่ฉันเชือนแช.

    เหตุผลที่เราตั้งค่าลำดับตัวอย่างเป็นกลุ่มที่ 3 สำหรับแต่ละพอร์ตคือเมื่อ telnet ไม่สามารถเชื่อมต่อกับพอร์ตที่ต้องการได้มันจะลองอีกครั้งโดยอัตโนมัติอีก 2 ครั้ง นี่หมายความว่า telnet จะล้มลง 3 ครั้งก่อนจะยอมแพ้ ดังนั้นสิ่งที่เราต้องทำคือรันคำสั่ง telnet หนึ่งครั้งสำหรับแต่ละพอร์ตในกลุ่มพอร์ต เป็นเหตุผลที่เลือกช่วงเวลาหมดเวลา 30 วินาทีเนื่องจากเราต้องรอการหมดเวลาของ telnet สำหรับแต่ละพอร์ตจนกว่าเราจะดำเนินการกับกลุ่มพอร์ตถัดไป ขอแนะนำให้เมื่อคุณเสร็จสิ้นขั้นตอนการทดสอบแล้วให้คุณทำขั้นตอนนี้โดยอัตโนมัติด้วยสคริปต์ Batch / Bash ที่เรียบง่าย.

    ใช้ลำดับตัวอย่างของเรานี้จะมีลักษณะ:

    • หากหน้าต่างของคุณทำตามคำสั่ง MS เพื่อติดตั้ง Telnet.
    • ดร็อปไปที่บรรทัดรับคำสั่งและปัญหา:
      telnet geek.dyndns-at-home.com 56
      telnet geek.dyndns-at-home.com 43
      telnet geek.dyndns-at-home.com 1443

    หากทุกอย่างไปได้ด้วยดี.

    การแก้ไขปัญหา

    หากเราเตอร์ของคุณไม่ตอบสนองต่อลำดับต่อไปนี้เป็นขั้นตอนการแก้ไขปัญหาที่คุณอาจต้องดำเนินการ:

    • ดูบันทึก - Knockd จะเก็บบันทึกคุณสามารถดูในเวลาจริงเพื่อดูว่าลำดับการเคาะได้มาถึง daemon หรือไม่และหากคำสั่งนั้นดำเนินการอย่างถูกต้อง.
      สมมติว่าคุณใช้ไฟล์ล็อกอย่างน้อยในตัวอย่างด้านบนเพื่อดูไฟล์แบบเรียลไทม์ในเทอร์มินัล:

      tail -f /var/log/knockd.log

    • ระวังไฟร์วอลล์ - บางครั้ง ISP ของคุณที่ทำงานหรืออินเทอร์เน็ตคาเฟ่ให้เสรีภาพในการบล็อกการสื่อสารสำหรับคุณ ในกรณีเช่นนี้ในขณะที่เราเตอร์ของคุณกำลังฟังอยู่การเคาะที่พอร์ตที่ถูกบล็อกโดยส่วนใดส่วนหนึ่งของโซ่จะไม่ถึงเราเตอร์และมันจะมีความยากลำบากในการตอบสนองต่อพวกเขา นั่นคือสาเหตุที่แนะนำให้ลองชุดที่ใช้พอร์ตที่รู้จักกันดีเช่น 80, 443, 3389 และอื่น ๆ ก่อนที่จะลองสุ่มเพิ่ม อีกครั้งคุณสามารถดูบันทึกเพื่อดูว่าพอร์ตใดบ้างที่สามารถเข้าถึงส่วนต่อประสาน WAN ของเราเตอร์ได้.
    • ลองลำดับภายใน - ก่อนที่จะเกี่ยวข้องกับความซับซ้อนข้างต้นที่ส่วนอื่น ๆ ของห่วงโซ่อาจแนะนำก็ขอแนะนำให้คุณลองดำเนินการลำดับภายในเพื่อดูว่าพวกเขา A. ตีเราเตอร์เช่นคุณคิดว่าพวกเขาควร B. รันคำสั่ง / ตามที่คาดไว้ ในการทำสิ่งนี้ให้สำเร็จคุณอาจเริ่ม Knockd ในขณะที่เชื่อมต่อกับส่วนต่อประสาน LAN ของคุณด้วย:

      knockd -d -i "$ (nvram รับ lan_ifnameq)" -c /opt/etc/knockd.conf

      เมื่อดำเนินการข้างต้นแล้วคุณสามารถนำไคลเอนต์ Knocking ไปยัง IP ภายในของเราเตอร์แทนภายนอกได้.
      เคล็ดลับ: เนื่องจาก knockd ฟังที่ระดับ“ อินเทอร์เฟซ” และไม่ใช่ระดับ IP คุณอาจต้องการให้อินสแตนซ์ของ KnockD ทำงานบนอินเทอร์เฟซ LAN ตลอดเวลา ในฐานะที่เป็น "Knocker" ได้รับการปรับปรุงเพื่อสนับสนุนโฮสต์ที่สองสำหรับการเคาะทำเช่นนั้นจะเพื่อให้ง่ายขึ้นและรวมโปรไฟล์การเคาะของคุณ.

    • โปรดจำไว้ว่าคุณเปิดใช้งานด้านใด - ไม่สามารถทำการเชื่อมต่อ WAN จากอินเตอร์เฟส LAN ในการกำหนดค่าด้านบนได้ หากคุณต้องการที่จะเคาะไม่ว่า "สิ่งที่ด้านข้างของคุณ" คุณสามารถเรียกใช้ปีศาจสองครั้งเมื่อถูกผูกไว้กับ WAN เช่นเดียวกับในบทความและเมื่อผูกกับ LAN เช่นเดียวกับในขั้นตอนการแก้จุดบกพร่องจากด้านบน ไม่มีปัญหาในการรันทั้งสองร่วมกันโดยเพียงแค่ต่อท้ายคำสั่งจากด้านบนไปยังสคริปต์ geek-init เดียวกัน.

    หมายเหตุ

    ในขณะที่ตัวอย่างข้างต้นสามารถทำได้โดยวิธีอื่น ๆ เราหวังว่าคุณสามารถใช้มันเพื่อเรียนรู้วิธีการทำสิ่งที่ก้าวหน้ากว่า ส่วนที่สองของบทความนี้ที่ซ่อนบริการ VPN ไว้ไม่ให้เข้าที่ดังนั้นให้คอยติดตาม.

    ผ่านการเคาะคุณจะสามารถ: เปิดพอร์ตแบบไดนามิกปิดใช้งาน / เปิดใช้งานบริการคอมพิวเตอร์ WOL จากระยะไกลและอื่น ๆ ...