Score:0

การติดตามการเชื่อมต่อ FTP ของ iptables ไม่ทำงาน

ธง bj

ฉันหวังว่าจะมีคนสามารถชี้ฉันไปในทิศทางที่ถูกต้องได้โปรด

ใช้งาน proftpd (พร้อมรองรับ tls) บน IP สาธารณะ

ไคลเอนต์ FTP เชื่อมต่อ แต่ไม่สามารถทำรายการไดเร็กทอรีได้ เมื่อฉันเปลี่ยนนโยบาย "INPUT" บน iptables เป็น ACCEPT มันใช้งานได้

ต่อไปนี้เป็นกฎ iptables ที่เกี่ยวข้องของฉัน:

$IPTABLES -A INPUT -i eno1 -s 0/0 -d x.x.x.x -p tcp --sport 1024:65535 -m multiport --dports 20,21,989,990 -m state --state NEW,ESTABLISHED -j ยอมรับ
$IPTABLES -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d x.x.x.x --dport 1024:65535 -m state --state ESTABLISHED, RELATED -j ACCEPT

ฉันเปิดใช้งานโมดูล connection_tracking แล้ว

เซิร์ฟเวอร์ ~ # lsmod | grep nf_conntra
nf_conntrack_ftp 24576 3
nf_conntrack 176128 8 xt_conntrack,nf_nat,xt_state,xt_nat,xt_helper,nf_conntrack_ftp,xt_CT,xt_MASQUERADE
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
libcrc32c 16384 2 nf_conntrack,nf_nat

ฉันยังเปิดใช้งาน nf_conntrack_helper ใน /proc

เซิร์ฟเวอร์ ~ # cat /proc/sys/net/netfilter/nf_conntrack_helper
1
Alex avatar
us flag
มันทำงานในโหมดพาสซีฟหรือไม่? โปรดทราบว่าการเชื่อมต่อในโหมดแอคทีฟไม่ได้เริ่มต้นบนซ็อกเก็ตเดียวกัน แต่บนพอร์ตอื่น... ดู https://superuser.com/questions/729876/connection-to-filezilla-ftp-server-works-but-directory- รายการล้มเหลวและ https://www.moreofless.co.uk/ftp-connects-no-directory-listing-command-passive/#:~:text=If%20you%20are%20able%20to,ftp%3E% 20แบบพาสซีฟ%20แบบพาสซีฟ%20โหมด%20on
Robert Schmitt avatar
bj flag
ไม่ทำงานในโหมดแอ็คทีฟหรือพาสซีฟกับ TLS แต่จะทำงานถ้าฉันปิดใช้งานการเข้ารหัส
Score:1
ธง eg

proftpd (พร้อมรองรับ tls)

การสนับสนุน TLS นั้นอาจเป็นตัวการ

โดยปกติในไฟร์วอลล์อัจฉริยะ เมื่อคุณอนุญาต FTP คุณต้องเปิดพอร์ตสำหรับการเชื่อมต่อการควบคุม TCP 21 และจากนั้น ในโปรโตคอล FTP แบบข้อความใส โมดูล conntrack สามารถสแกนหาและตรวจจับ ท่า การตอบสนอง. โมดูลตัวช่วยเหลือ FTP conntrack จะเปิดหมายเลขพอร์ตที่กำหนดโดยเซิร์ฟเวอร์ FTP ให้กับไคลเอนต์เฉพาะนั้นโดยอัตโนมัติตามที่เกี่ยวข้อง อนุญาตให้ออกจากการควบคุมการเข้าถึงแบบละเอียด

เมื่อการเชื่อมต่อถูกเข้ารหัสด้วย TLS ไฟร์วอลล์จะตรวจไม่พบการตอบสนองของ PORT อีกต่อไป ดังนั้นจึงไม่เปิดพอร์ตที่กำหนดโดยอัตโนมัติ วิธีแก้ไขคือ:

  • แก้ไขช่วงของพอร์ตที่เซิร์ฟเวอร์ FTP จะใช้สำหรับการเชื่อมต่อแบบพาสซีฟไปยังช่วงขนาดเล็ก
    PassivePorts min-pasv-port max-pasv-พอร์ต

  • ในไฟร์วอลล์ของคุณให้เปิดทั้งพอร์ต 21 และพอร์ตช่วงที่กำหนดสำหรับการเชื่อมต่อข้อมูล

Robert Schmitt avatar
bj flag
ขอบคุณ มันมีเหตุผล อย่างน้อยฉันก็เข้าใจว่าเกิดอะไรขึ้น!

โพสต์คำตอบ

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