Leaderboard (728 x 90)

Monday, July 19, 2010

การตั้งค่า firewall สำหรับ Passive FTP Connection (ตอนที่ 2)

จากบทความในตอนที่ 1 หลายๆ คนคงจะพอเข้าใจกันแล้วว่าการเชื่อมต่อ FTP แบบ Passive Mode ทำงานอย่างไร และมีความจำเป็นสำหรับ client ที่ใช้งานอินเตอร์เน็ตผ่าน NAT, Firewall หรือ Router อย่างไร แต่สิ่งสำคัญที่จะลืมไปไม่ได้ คือ การเชื่อมต่อแบบนี้เซิร์ฟเวอร์จะต้องสุ่มหมายเลขพอร์ตที่อยู่ในช่วง 1024-65535 สำหรับใช้เป็นพอร์ตรับส่งข้อมูล และส่งหมายเลขพอร์ตดังกล่าวกลับไปยังไคลเอ็นต์ ประเด็นก็คือถ้าเราใช้ Windows Firewall หรือ Firewall ใดๆ ก็ตาม ในการป้องกันการโจมตีจากผู้บุกรุก เราจะต้องกำหนด policy อย่างไร เราจะต้อง allow พอร์ต 1024-65535 เพื่อให้ Passive FTP สามารถทำงานได้อย่างไม่มีปัญหาอย่างนั้นหรือ คำตอบนี้ถูกเพียงครึ่งเดียวครับ เพราะการทำแบบนั้น หมายความว่า คุณจะต้องลดระดับความปลอดภัยของเครื่องเซิร์ฟเวอร์ของคุณ เพียงเพื่อให้สามารถเชื่อมต่อ FTP แบบ Passive Mode ได้
วิธีการที่ดีกว่านั้น ก็คือ คุณสามารถกำหนดช่วงพอร์ต หรือ port range ที่จะใช้สำหรับการเชื่อมต่อ FTP แบบ passive mode
ซึ่งจะทำให้คุณสามารถควบคุมกฎเกณฑ์และนโยบายของไฟร์วอลล์ได้ง่ายขึ้น และปลอดภัยมากขึ้น

สำหรับ IIS6 + Microsoft FTP Service บน Windows 2003 Server

• ก่อนอื่น ต้อง Enable Direct Metabase Edit ใน Internet Information Service Manager
1. เปิด Internet Information Service Manager.
2. คลิกขวาบน โนดที่เป็นชื่อของเครื่องโลคอล
3. เลือก Properties.
4. ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในกล่องหน้าข้อความ Enable Direct Metabase Edit checkbox เรียบร้อยแล้ว

• คอนฟิก PassivePortRange โดยใช้ ADSUTIL script
1. เปิด Command Prompt
2. พิมพ์คำสั่ง cd C:\Inetpub\AdminScripts แล้วกดปุ่ม ENTER.
3. พิมพ์คำสั่ง cscript.exe adsutil.vbs set /MSFTPSVC/PassivePortRange "5001-5201"
4. Restart เซอร์วิสที่ชื่อว่า FTP Publishing Service.

• การ allow พอร์ตที่อยู่ในช่วงของ PassivePortRange ใน Windows Firewall
1. เปิด Command Prompt
2. สมมติว่าค่า PassivePortRange คือ 5001-5201 ให้พิมพ์คำสั่งต่อไปนี้
FOR /L %I IN (5001,1,5201) DO netsh firewall add portopening TCP %I "Passive FTP"%I

3. เสร็จสิ้นกระบวนการ ลองทดสอบการใช้งาน

No comments:

Post a Comment