Score:0

ความปลอดภัยเครือข่าย: การทำให้ IPv6 แข็งแกร่งขึ้นบนเซิร์ฟเวอร์ Ubuntu หรือไม่

ธง tr

ฉันคุ้นเคยกับการทำให้ IPv4 แข็งขึ้นบนเซิร์ฟเวอร์ Ubuntu แต่เมื่อฉันใช้กฎเดียวกันสำหรับ IPv6 กับ ip6tables การเชื่อมต่อ IPv6 จะขาดหายไป ส่งผลให้ ปลายทางไม่สามารถเข้าถึงได้: ที่อยู่ที่ไม่สามารถเข้าถึงได้ ข้อผิดพลาดระหว่าง ping คุณช่วยแนะนำวิธีแก้ปัญหานี้ได้ไหม ตรรกะของฉันมีดังต่อไปนี้:

#IPv6
#รีเซ็ตกฎทั้งหมด (F) และเชน (X)
ip6tables -F
ip6tables -X

#Force ตรวจสอบแพ็กเก็ต SYN
ip6tables -A อินพุต -p tcp ! --syn -m state --state ใหม่ -j DROP
#วางแพ็คเก็ตคริสต์มาส
ip6tables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
#Drop แพ็กเก็ตว่าง
ip6tables -A INPUT -p tcp --tcp-flags ไม่มีทั้งหมด -j DROP
#Drop แพ็กเก็ตขาเข้าพร้อมแฟรกเมนต์
#ip6tables -A INPUT -f -j DROP #สิ่งนี้ใช้งานไม่ได้เหมือนใน iptables

#จราจรติดขัด 
ip6tables -t filter -P INPUT DROP
ip6tables -t filter -P ไปข้างหน้า DROP
ip6tables -t filter -P OUTPUT DROP
#ตั้งมั่น
ip6tables -A INPUT -m state --state ที่เกี่ยวข้อง ก่อตั้ง -j ACCEPT
ip6tables -A OUTPUT -m state --state ที่เกี่ยวข้อง ก่อตั้ง -j ACCEPT
#ยอมรับการย้อนกลับ
ip6tables -t filter -A INPUT -i lo -j ยอมรับ
ip6tables -t filter -A OUTPUT -o lo -j ยอมรับ

#ไอซีเอ็มพี
ip6tables -t filter -A INPUT -p icmp -j ยอมรับ
ip6tables -t filter -A OUTPUT -p icmp -j ยอมรับ

#ServiceX
ip6tables -t filter -A DESTINATION -p PROTOCOL --dport PORT -j ยอมรับ
#บริการย
ip6tables -t filter -A DESTINATION -p PROTOCOL --dport PORT -j ยอมรับ
#บริการZ
ip6tables -t filter -A DESTINATION -p PROTOCOL --dport PORT -j ยอมรับ
...

ตัวอย่างสำหรับเซิร์ฟเวอร์ ssh แม้ว่าฉันไม่เคยใช้พอร์ตเริ่มต้น 22...

#สสส
ip6tables -t filter -A INPUT -p tcp --dport 22 -j ยอมรับ
ip6tables -t filter -A OUTPUT -p tcp --dport 22 -j ยอมรับ

สคริปต์ถูกสร้างให้เรียกใช้งานได้ ดังนั้นมันจึงทำงานข้ามการรีบูตใน /etc/init.d/scriptname แนวคิดคือการบล็อกทุกอย่างและอนุญาตเฉพาะบริการเซิร์ฟเวอร์ที่ทราบว่าใช้งานจริงเท่านั้น ขอแนวทางที่ดีกว่านี้ได้ไหม เหตุใดจึงใช้งานได้ใน IPv4 แต่ไม่ใช่ใน IPv6 เมื่อฉันออก ip6tables -t filter -P อินพุตที่ยอมรับ มันใช้งานได้ แต่นั่นไม่ใช่ประเด็น ฉันจะรักษาความปลอดภัย IPv6 บนเซิร์ฟเวอร์ Ubuntu ได้อย่างไร ขอบคุณ!

in flag
Ipv6 ทำงานแตกต่างจาก ipv4 ในหลายด้าน บางทีคุณควรเรียนรู้ ipv6 ก่อน
tr flag
อืม-อืม... แล้วฉันจะเริ่มตรงไหนดีล่ะ? xD เช่น ip6tables แตกต่างจาก iptables อย่างไร? หลายคนบอกว่าให้ใช้การกำหนดค่าที่เหมือนกันจาก iptables แต่ดูเหมือนจะไม่ได้ผลสำหรับฉัน
my flag
https://serverfault.com/questions/783807/ipv6-allow-incoming-icmp-echo-requests#comment990370_783807
tr flag
ขอบคุณ @ user951308 ที่ชี้ให้เห็น แต่ฉันอนุญาต ICMP แล้ว กำลังอัปเดตคำถาม... อาจต้องเปิดใช้งานอย่างอื่นเป็นพิเศษแทนทิศทาง INPUT ทั้งหมดหรือไม่
tr flag
ตกลง. ปรากฏว่าควรเป็น ipv6-icmp แทน icmp ขอบคุณ!
Score:0
ธง tr
ip6tables -t filter -A INPUT -p ipv6-icmp -j ยอมรับ
ip6tables -t filter -A OUTPUT -p ipv6-icmp -j ยอมรับ

แทน

ip6tables -t filter -A INPUT -p icmp -j ยอมรับ
ip6tables -t filter -A OUTPUT -p icmp -j ยอมรับ

แก้มัน

Score:0
ธง cn

ตามฟังก์ชันการทำงานของ IPv6 คุณต้องเพิ่มกฎ ACCEPT สำหรับ ICMPv6 ลองทำดังนี้:

ip6tables -A INPUT -p icmpv6 --icmpv6-type 1 -j ยอมรับ
ip6tables -A INPUT -p icmpv6 --icmpv6-type 2 -j ยอมรับ
ip6tables -A อินพุต -p icmpv6 --icmpv6-type 3 -j ยอมรับ
ip6tables -A INPUT -p icmpv6 --icmpv6-type 4 -j ยอมรับ
ip6tables -A FORWARD -i $WAN_IF -p icmpv6 --icmpv6-type 1 -j ยอมรับ
ip6tables -A ส่งต่อ -i $WAN_IF -p icmpv6 --icmpv6-type 2 -j ยอมรับ
ip6tables -A ส่งต่อ -i $WAN_IF -p icmpv6 --icmpv6-type 3 -j ยอมรับ
ip6tables -A ส่งต่อ -i $WAN_IF -p icmpv6 --icmpv6-type 4 -j ยอมรับ
# เราเตอร์และการค้นพบเพื่อนบ้านขาเข้าและขาออก
ip6tables -A INPUT -p icmpv6 --icmpv6-type 133 -j ยอมรับ
ip6tables -A INPUT -p icmpv6 --icmpv6-type 134 -j ยอมรับ
ip6tables -A INPUT -p icmpv6 --icmpv6-type 135 -j ยอมรับ
ip6tables -A INPUT -p icmpv6 --icmpv6-type 136 -j ยอมรับ
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 133 -j ยอมรับ
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 134 -j ยอมรับ
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 135 -j ยอมรับ
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 136 -j ยอมรับ
# Ping ขอไฟร์วอลล์จาก LAN และ DMZ
ip6tables -A อินพุต ! -i $WAN_IF -p icmpv6 --icmpv6-type 128 -j ยอมรับ
# คำขอ Ping จากไฟร์วอลล์, LAN และ DMZ
ip6tables -A OUTPUT -p icmpv6 --icmpv6-type 128 -j ยอมรับ
ip6tables - ไปข้างหน้า ! -i $WAN_IF -p icmpv6 --icmpv6-type 128 -j ยอมรับ

ฉันพบว่าบทความนี้มีประโยชน์มากสำหรับตัวฉันเอง: IPv6-ตาราง

tr flag
ip6tables -t filter -A INPUT -p ipv6-icmp -j ยอมรับและ ip6tables -t filter -A OUTPUT -p ipv6-icmp -j ยอมรับ แก้ไขให้ฉัน ขอบคุณ! ดูความคิดเห็นล่าสุดของฉันเกี่ยวกับคำถามนั้น
in flag
@lion ยอดเยี่ยมมากที่คุณสามารถแก้ไขได้ แต่โปรดยอมรับคำตอบที่ช่วยคุณ
tr flag
มันอยู่ในความคิดเห็นด้านบนพร้อมลิงค์ ปรากฏว่าควรเป็น ipv6-icmp แทน icmp

โพสต์คำตอบ

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