Score:0

IPsec (strongswan) ทำงานอย่างไรโดยไม่ต้องเปิดพอร์ตใน UFW

ธง it

ฉันจำเป็นต้องตั้งค่า VPN แบบไซต์ต่อไซต์ระหว่างเซิร์ฟเวอร์ A และ B โดยที่ฉันจัดการเซิร์ฟเวอร์ A และเซิร์ฟเวอร์ B ได้รับการจัดการโดยลูกค้า เซิร์ฟเวอร์ A ใช้ Ubuntu 20.04 และฉันใช้ strongswan เพื่อตั้งค่า VPN ในตอนท้าย ฉันใช้ UFW เพื่อจัดการไฟร์วอลล์ของเซิร์ฟเวอร์ A

ที่อยู่ IP สาธารณะของ A: 16.XX.XXX.17 ที่อยู่ IP สาธารณะของ B: 14.XXX.XXX.94

หลังจากทำการเปลี่ยนแปลงการกำหนดค่าที่จำเป็นสำหรับการตั้งค่า VPN และเปิดใช้งานแล้ว ฉันสามารถดูข้อมูลการเข้าสู่ระบบต่อไปนี้ได้ /var/log/syslog

21 มีนาคม 13:58:47 คนงาน 0 charon: 01[ENC] แยกวิเคราะห์ IKE_AUTH การตอบสนอง 1 [ IDr AUTH N(ESP_TFC_PAD_N) SA TSi TSr ]
21 มี.ค. 13:58:47 คนทำงาน 0 charon: 01 [IKE] การรับรองความถูกต้องของ '14.XXX.XXX.94' ด้วยรหัสที่แชร์ล่วงหน้าสำเร็จ
21 มี.ค. 13:58:47 พนักงาน0 charon: 01[IKE] IKE_SA s-to-s[1] ก่อตั้งขึ้นระหว่าง 16.XX.XXX.17[16.XX.XXX.17]...14.XXX.XXX 94[14.XXX.XXX.94]
21 มี.ค. 13:58:47 คนทำงาน 0 charon: 01 [IKE] การจัดตารางเวลาการรับรองความถูกต้องซ้ำในปี 2644
21 มี.ค. 13:58:47 คนทำงาน 0 คน: 01 [IKE] IKE_SA สูงสุดตลอดอายุการใช้งาน 3184 วินาที
21 มีนาคม 13:58:47 คนงาน 0 charon: 01 [IKE] ได้รับ ESP_TFC_PADDING_NOT_SUPPORTED โดยไม่ได้ใช้การเติม ESPv3 TFC
21 มีนาคม 13:58:47 คนงาน 0 charon: 01[CFG] ข้อเสนอที่เลือก: ESP:AES_CBC_256/HMAC_SHA2_256_128/NO_EXT_SEQ
21 มี.ค. 13:58:47 คนทำงาน0 charon: 01[IKE] CHILD_SA s-to-s{1} สร้างขึ้นด้วย SPI c97fea32_i f60175ca_o และ TS 10.132.86.142/32 === 10.128.28.96/27
21 มีนาคม 13:58:53 คนงาน 0 charon: 14[NET] ได้รับแพ็กเก็ต: จาก 14.XXX.XXX.94[4500] ถึง 16.XX.XXX.17[4500] (80 ไบต์)
21 มีนาคม 13:58:53 คนงาน 0 charon: 14[ENC] แยกวิเคราะห์คำขอข้อมูล 0 [ ]
21 มี.ค. 13:58:53 คนงาน 0 charon: 14[ENC] สร้างการตอบสนองข้อมูล 0 [ ]
21 มี.ค. 13:58:53 คนงาน 0 charon: 14[NET] ส่งแพ็กเก็ต: จาก 16.XX.XXX.17[4500] ถึง 14.XXX.XXX.94[4500] (80 ไบต์)
21 มีนาคม 13:58:58 worker0 charon: 07[NET] ได้รับแพ็กเก็ต: จาก 14.XXX.XXX.94[4500] ถึง 16.XX.XXX.17[4500] (80 ไบต์)
21 มีนาคม 13:58:58 คนงาน 0 charon: 07[ENC] แยกวิเคราะห์คำขอข้อมูล 1 [ ]
21 มี.ค. 13:58:58 คนงาน 0 charon: 07[ENC] สร้างการตอบสนองข้อมูล 1 [ ]
21 มีนาคม 13:58:58 worker0 charon: 07[NET] ส่งแพ็กเก็ต: จาก 16.XX.XXX.17[4500] ถึง 14.XXX.XXX.94[4500] (80 ไบต์)
21 มีนาคม 13:59:03 คนงาน 0 charon: 05[NET] ได้รับแพ็กเก็ต: จาก 14.XXX.XXX.94[4500] ถึง 16.XX.XXX.17[4500] (80 ไบต์)

ผลลัพธ์ของ สถานะ ipsec:

สมาคมความปลอดภัย (1 ขึ้น 0 เชื่อมต่อ):
   s-to-s[1]: ก่อตั้งเมื่อ 5 นาทีที่แล้ว 16.XX.XXX.17[16.XX.XXX.17]...14.XXX.XXX.94[14.XXX.XXX.94]
   s-to-s{1}: ติดตั้ง, TUNNEL, reqid 1, ESP SPI: c97fea32_i f60175ca_o
   s-to-s{1}: 10.132.86.142/32 === 10.128.28.96/27

เดอะ สถานะ ufw

สถานะ: ใช้งานอยู่

ถึงการดำเนินการจาก
-- ------ ----
666 LIMIT Anywhere # สำหรับ ssh
62626 อนุญาตทุกที่ # สำหรับ wireguard
ทุกที่ใน pv0 อนุญาตได้ทุกที่                  
666 (v6) LIMIT Anywhere (v6) # สำหรับ ssh
62626 (v6) อนุญาตทุกที่ (v6) # สำหรับ wireguard
ทุกที่ (v6) ใน pv0 อนุญาตได้ทุกที่ (v6)             

เซิร์ฟเวอร์สามารถรับแพ็กเก็ตบนพอร์ต 4500 ได้อย่างไร (ตามบันทึกของ ipsec /var/log/syslog) โดยที่ฉันไม่ได้เปิดพอร์ตนั้น? ฉันพลาดอะไรไปที่นี่?

ฉันยังไม่ได้สัมผัสตาราง IP โดยตรงเลย ฉันตรวจสอบโดยใช้เซิร์ฟเวอร์ http อย่างง่ายบนพอร์ต 8000 (โดยใช้ python3 -m http.เซิร์ฟเวอร์) ที่ฉันไม่สามารถเข้าถึงพอร์ตอื่นๆ ที่ไม่ได้เปิดจากภายนอกเซิร์ฟเวอร์ได้)

Score:1
ธง us

ยูเอฟดับบลิว ไม่ใช่โมดูลไฟร์วอลล์เพียงโมดูลเดียวที่มีอยู่ในระบบ แต่เป็นเพียงการควบคุมห่วงโซ่ของตัวเองในส่วนกลาง ป้อนข้อมูล ห่วงโซ่ iptables / nftables คุณสามารถตรวจสอบว่ามีการติดตั้งกฎที่จำเป็นโดยการเรียกใช้ iptables -S บนเซิร์ฟเวอร์ A คุณจะเห็นว่ามีบางส่วน ยอมรับ กฎสำหรับ UDP:4500 ที่สามารถเข้าถึงได้จากที่ไหนสักแห่ง ป้อนข้อมูล.

อีกทางหนึ่ง มีตารางเส้นทาง/การกรองมากกว่าหนึ่งตาราง และ while ยูเอฟดับบลิว ทำงานบนตาราง "ทั่วไป" (ดัชนี IIRC 254) ระบบ VPN มักจะจัดสรรหนึ่งในตารางที่มีจำนวนน้อยกว่า (200 ดูเหมือนจะเป็นตัวเลือกทั่วไป) และตั้งค่าการรับส่งข้อมูลที่ขึ้นอยู่กับการควบคุม VPN เพื่อกำหนดเส้นทาง/กรองโดยตารางนั้น ตรวจสอบโดยเรียกใช้ ตารางรายการ nftจากนั้นคุณสามารถตรวจสอบตารางได้โดยการเรียกใช้ ตารางชุดกฎรายการ nft (ตาราง). ตรวจสอบกับ man page ของคุณสำหรับไวยากรณ์ที่แน่นอน

Score:1
ธง cn

ตามบันทึก โฮสต์กำลังทำหน้าที่เป็นไคลเอนต์ ไม่ใช่เซิร์ฟเวอร์ นั่นคือ กำลังเริ่มต้น IKE_SA และส่งข้อความแรก การเชื่อมต่อขาออกมักจะไม่ถูกบล็อกตามค่าเริ่มต้น ตรวจสอบนโยบายเริ่มต้นบนโฮสต์ของคุณด้วย รายละเอียดสถานะ ufw.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา