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

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

    เราได้แสดงวิธีเรียกใช้ WOL จากระยะไกลโดย“ Port Knocking” บนเราเตอร์ของคุณ ในบทความนี้เราจะแสดงวิธีใช้เพื่อปกป้องบริการ VPN.

    ภาพโดย Aviad Raviv & bfick.

    คำนำ

    หากคุณใช้ฟังก์ชั่นในตัวของ DD-WRT สำหรับ VPN หรือมีเซิร์ฟเวอร์ VPN อื่นในเครือข่ายของคุณคุณอาจชื่นชมความสามารถในการปกป้องมันจากการโจมตีด้วยกำลังดุร้ายโดยซ่อนอยู่หลังลำดับการเคาะ โดยการทำเช่นนี้คุณจะกรอง kiddies สคริปต์ที่พยายามเข้าถึงเครือข่ายของคุณ ดังที่ได้กล่าวไว้ในบทความก่อนหน้าการเคาะพอร์ตไม่ใช่การแทนที่รหัสผ่านที่ดีและ / หรือนโยบายความปลอดภัย โปรดจำไว้ว่าด้วยความอดทนที่เพียงพอผู้โจมตีสามารถค้นพบลำดับและทำการโจมตีซ้ำ.
    โปรดทราบด้วยว่าข้อเสียของการดำเนินการนี้คือเมื่อใดก็ตามที่ไคลเอนต์ VPN ต้องการเชื่อมต่อพวกเขาจะต้องเปิดใช้ลำดับการเคาะ ล่วงหน้า และหากพวกเขาไม่สามารถทำตามลำดับได้ไม่ว่าด้วยเหตุผลใดก็ตามพวกเขาจะไม่สามารถใช้ VPN ได้เลย.

    ภาพรวม

    เพื่อปกป้อง * บริการ VPN เราจะปิดการใช้งานการสื่อสารที่เป็นไปได้ทั้งหมดด้วยการปิดกั้นพอร์ต instantiating ที่ 1723 เพื่อให้บรรลุเป้าหมายนี้เราจะใช้ iptables นี่เป็นเพราะนั่นคือวิธีที่การสื่อสารถูกกรองในการกระจาย Linux / GNU ที่ทันสมัยที่สุดโดยทั่วไปและโดยเฉพาะ DD-WRT หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ iptables ชำระเงินรายการ wiki และดูบทความก่อนหน้าของเราในเรื่อง เมื่อบริการได้รับการป้องกันเราจะสร้างลำดับการเคาะที่จะเปิดพอร์ตชั่วคราว instantiating VPN และปิดโดยอัตโนมัติหลังจากระยะเวลาที่กำหนดไว้ในขณะที่รักษาการเชื่อมต่อเซสชัน VPN ที่สร้างไว้แล้ว.

    หมายเหตุ: ในคู่มือนี้เราใช้บริการ PPTP VPN เป็นตัวอย่าง ด้วยวิธีการดังกล่าวสามารถใช้วิธีเดียวกันนี้กับ VPN ประเภทอื่นคุณเพียงแค่เปลี่ยนพอร์ตและ / หรือประเภทการสื่อสารที่ถูกบล็อก.

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

    • จะถือว่า / จำเป็นที่คุณมีเราเตอร์ DD-WRT ที่เปิดใช้งาน Opkg.
    • จะถือว่า / จำเป็นที่คุณได้ทำตามขั้นตอนในคู่มือ“ วิธีการที่จะเข้าสู่เครือข่ายของคุณ (DD-WRT)”.
    • ความรู้ด้านระบบเครือข่ายบางอย่างจะถูกนำมาพิจารณา.

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

    ค่าเริ่มต้น กฎ“ บล็อก VPN ใหม่” ใน DD-WRT

    ในขณะที่ข้อมูลโค้ดด้านล่างของ“ รหัส” อาจใช้ได้กับทุก ๆ การเคารพตนเองการใช้ iptables การกระจาย Linux / GNU เนื่องจากมีตัวแปรมากมายที่นั่นเราจะแสดงวิธีการใช้กับ DD-WRT เท่านั้น หากคุณไม่ต้องการหยุดการใช้งานใด ๆ โดยตรงจากกล่อง VPN อย่างไรก็ตามวิธีการดังกล่าวอยู่นอกเหนือขอบเขตของคู่มือนี้.

    เนื่องจากเราต้องการเพิ่มไฟร์วอลล์ของเราเตอร์จึงเป็นเหตุผลเดียวที่เราจะเพิ่มสคริปต์“ ไฟร์วอลล์” การทำเช่นนั้นจะทำให้คำสั่ง iptables ถูกเรียกใช้งานทุกครั้งที่มีการรีเฟรชไฟร์วอลล์และทำให้เรามีส่วนร่วมในการรักษา.

    จากเว็บ GUI ของ DD-WRT:

    • ไปที่ "การบริหาร" -> "คำสั่ง".
    • ป้อน“ รหัส” ด้านล่างลงในกล่องข้อความ:

      inline = "$ (iptables -L INPUT -n | grep -n" เกี่ยวข้องกับสถานะถูกสร้าง "| awk -F: 'print $ 1')"; อินไลน์ = $ (($ อินไลน์ 2 + 1)); iptables -I INPUT "$ inline" -p tcp --dport 1723 -j DROP

    • คลิกที่ "บันทึกไฟร์วอลล์".
    • เสร็จสิ้น.

    คำสั่ง“ Voodoo” นี้คืออะไร?

    คำสั่ง“ เวทมนตร์วูดู” ด้านบนทำสิ่งต่อไปนี้:

    • ค้นหาตำแหน่งที่เป็นสาย iptable ที่เปิดใช้งานการสื่อสารที่สร้างไว้แล้วให้ผ่าน เราทำเช่นนี้เพราะ A. สำหรับเราเตอร์ DD-WRT หากเปิดใช้งานบริการ VPN บริการนี้จะอยู่ด้านล่างบรรทัดนี้และ B. เป็นสิ่งสำคัญสำหรับเป้าหมายของเราในการดำเนินการต่อเพื่อให้เซสชัน VPN ที่กำหนดไว้แล้วสามารถใช้งานได้หลังจาก เหตุการณ์เคาะ.
    • หักสอง (2) จากเอาต์พุตของคำสั่งรายการไปยังบัญชีสำหรับออฟเซ็ตที่เกิดจากส่วนหัวคอลัมน์ข้อมูล เมื่อเสร็จแล้วให้เพิ่มหนึ่ง (1) ในหมายเลขด้านบนเพื่อให้กฎที่เรากำลังแทรกจะมาหลังจากกฎที่อนุญาตให้มีการสื่อสารที่จัดตั้งขึ้นแล้ว ฉันได้ทิ้ง "ปัญหาทางคณิตศาสตร์" ไว้ที่นี่เพียงเพื่อให้ตรรกะของ "ทำไมต้องลดหนึ่งจากที่กฎแทนการเพิ่มลงใน".

    การกำหนดค่า KnockD

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

    vi /opt/etc/knockd.conf

    ผนวกกับการกำหนดค่าที่มีอยู่:

    [enable-VPN]
    ลำดับ = 02,02,02,01,01,01,2010,2010,2010
    seq_timeout = 60
    start_command = iptables -I อินพุต 1 -s% IP% -p tcp - พอร์ต 1723 -j ได้รับการยอมรับ
    cmd_timeout = 20
    stop_command = iptables -D INPUT -s% IP% -p tcp - พอร์ต 1723 -j ได้รับการยอมรับ

    การกำหนดค่านี้จะ:

    • ตั้งค่าหน้าต่างของโอกาสในการดำเนินการตามลำดับให้ครบ 60 วินาที (แนะนำให้ทำแบบนี้ให้สั้นที่สุด)
    • ฟังลำดับสามอัพที่พอร์ต 2, 1 และ 2010 (คำสั่งนี้ตั้งใจจะโยนพอร์ตสแกนเนอร์ออกนอกเส้นทาง).
    • เมื่อตรวจพบลำดับแล้วให้เรียกใช้“ start_command” คำสั่ง“ iptables” นี้จะทำการ“ ยอมรับทราฟฟิกที่กำหนดไว้ที่พอร์ต 1723 จากจุดที่การเคาะมาจาก” ที่ด้านบนของกฎไฟร์วอลล์ (คำสั่ง% IP% ได้รับการปฏิบัติเป็นพิเศษโดย KnockD และถูกแทนที่ด้วย IP ของต้นกำเนิดการเคาะ).
    • รอ 20 วินาทีก่อนออกคำสั่ง“ stop_command”.
    • ดำเนินการ“ stop_command” ที่ซึ่งคำสั่ง“ iptables” นี้จะย้อนกลับด้านบนและลบกฎที่อนุญาตการสื่อสาร.
    เพียงเท่านี้บริการ VPN ของคุณควรสามารถเชื่อมต่อได้หลังจากประสบความสำเร็จในการ“ เคาะ”.

    ผู้เขียนเคล็ดลับของ

    ในขณะที่คุณควรจะพร้อมทั้งหมดมีจุดสองสามอย่างที่ฉันรู้สึกว่าต้องพูดถึง.

    • การแก้ไขปัญหา. โปรดจำไว้ว่าหากคุณมีปัญหาส่วน "การแก้ไขปัญหา" ในตอนท้ายของบทความแรกควรเป็นจุดแรกของคุณ.
    • หากคุณต้องการคุณสามารถให้คำสั่ง“ เริ่ม / หยุด” เรียกใช้งานคำสั่งหลายคำสั่งโดยแยกคำสั่งเหล่านั้นด้วยเซมิโคลอน (;) หรือแม้แต่สคริปต์ การทำเช่นนั้นจะช่วยให้คุณสามารถทำสิ่งที่ดี ตัวอย่างเช่นฉันได้ส่งข้อความถึงฉัน * อีเมลแจ้งให้ฉันทราบว่ามีการเรียกลำดับและจากที่ใด.
    • อย่าลืมว่า "มีแอพสำหรับสิ่งนั้น" และแม้ว่ามันจะไม่ได้กล่าวถึงในบทความนี้คุณก็ควรที่จะคว้าโปรแกรมเคาะประตู Android ของ StavFX.
    • ในขณะที่ในเรื่องของ Android อย่าลืมว่ามีไคลเอนต์ PPTP VPN ที่มักจะสร้างไว้ในระบบปฏิบัติการจากผู้ผลิต.
    • วิธีการบล็อกบางสิ่งบางอย่างในตอนแรกและจากนั้นอนุญาตการสื่อสารที่สร้างไว้แล้วต่อไปสามารถนำไปใช้กับการสื่อสารที่ใช้ TCP ได้ ในความเป็นจริงใน Knockd กับภาพยนตร์ DD-WRT 1 ~ 6 ฉันได้ทำไปแล้วเมื่อฉันใช้ remote desktop protocol (RDP) ซึ่งใช้พอร์ต 3389 เป็นตัวอย่าง.
    หมายเหตุ: ในการทำเช่นนี้คุณจะต้องได้รับฟังก์ชั่นอีเมล์ในเราเตอร์ของคุณซึ่งปัจจุบันยังไม่มีฟังก์ชั่นที่ใช้งานได้จริงเนื่องจากสแนปชอต SVN ของแพคเกจ opkg ของ OpenWRT นั้นอยู่ในความระส่ำระสาย นั่นคือเหตุผลที่ฉันแนะนำให้ใช้ knockd โดยตรงบนกล่อง VPN ซึ่งช่วยให้คุณใช้ตัวเลือกทั้งหมดของการส่งอีเมลที่มีอยู่ใน Linux / GNU เช่น SSMTP และ sendEmail เพื่อพูดถึง.

    ใครรบกวนคนนอนหลับของฉัน?