เข้าใจความเสี่ยงของ policy สอบถามเรื่อง policy ได้ด้วยภาษาทั่วไป ขอชมการสาธิต →

Published:

ประวัติ Firewall ฉบับใช้งานจริง - ตอนที่ 1: ยุคเริ่มต้น

by FireMon

Jody Brazil
CEO ของ FireMon

บทความนี้ไม่ใช่คู่มือเบื้องต้นเกี่ยวกับ firewall และไม่ได้มุ่งนำเสนอภาพรวมที่ครบถ้วนของประวัติ firewall แต่อย่างใด มีแหล่งข้อมูลที่ดีจำนวนมากที่สรุปประวัติของ firewall ไว้แล้ว เช่น Wikipedia: https://en.wikipedia.org/wiki/Firewall_(computing) นอกจากนี้ยังมีบุคคลอีกจำนวนไม่น้อยที่สมควรได้รับการยกย่องในฐานะผู้คิดค้น firewall แต่ไม่ได้ถูกกล่าวถึงในซีรีส์นี้ (หากสนใจ นี่คือบทความที่น่าอ่านจาก Dark Reading: ใครเป็นผู้คิดค้น Firewall) สิ่งที่ผมให้ความสำคัญคือ firewall เชิงพาณิชย์ และพลวัตของตลาดที่ผลักดันให้เกิดการนำเทคโนโลยีเหล่านี้มาใช้งาน

ในฐานะผู้ปฏิบัติงานในยุคแรก ๆ ของการใช้งานอินเทอร์เน็ตในวงกว้าง (ช่วงกลางถึงปลายทศวรรษ 1990) ผมได้เห็นการนำเทคโนโลยี firewall มาใช้และพัฒนาไปอย่างรวดเร็ว มุมมองของผมมีขอบเขตจำกัด และความทรงจำย่อมไม่สมบูรณ์แบบ ดังนั้นในโพสต์ถัดจากนี้ ผมยินดีรับความเห็นของท่านเพื่อช่วยเติมเต็มส่วนที่ขาดหายไปของเรื่องราวนี้

ในช่วงกลางทศวรรษ 1990 Check Point Technologies ได้เปิดตัว firewall แบบ stateful inspection คู่แข่งหลักในเวลานั้นได้แก่ packet filter ที่ฝังอยู่ในเราเตอร์ (เช่น ACL บน Cisco IOS) และ proxy (เช่น TIS Gauntlet firewall และ Secure Computing Sidewinder firewall) การแข่งขันครั้งใหญ่ระหว่าง stateful inspection กับ proxy เกิดขึ้นใน 3 สมรภูมิ ได้แก่ ประสิทธิภาพ การรองรับโปรโตคอล และความปลอดภัย

ด้านประสิทธิภาพ stateful inspection เร็วกว่า proxy อย่างมีนัยสำคัญ proxy ต้องสร้างการเชื่อมต่อ TCP สองชุดต่อหนึ่งเซสชัน ชุดหนึ่งฝั่งไคลเอนต์และอีกชุดฝั่งเซิร์ฟเวอร์ ซึ่งใช้การประมวลผลมากกว่ามาก ขณะเดียวกันการใช้งานและความต้องการแบนด์วิดท์ก็เติบโตอย่างก้าวกระโดดจากการใช้อินเทอร์เน็ตที่เพิ่มขึ้น ส่งผลให้ประสิทธิภาพกลายเป็นเกณฑ์หลักในการเลือกซื้อ firewall แม้ความปลอดภัยจะสำคัญ แต่คอขวดที่กระทบการเข้าถึงอินเทอร์เน็ตเป็นสิ่งที่ยอมรับไม่ได้ ในสมรภูมินี้ stateful inspection เป็นฝ่ายชนะ

ด้านการรองรับโปรโตคอล stateful inspection ปรับใช้ได้ง่ายและมักไม่ต้องแก้ไขซอร์สโค้ดเลย ในทางกลับกัน proxy มักต้องใช้สแตกเฉพาะของแต่ละโปรโตคอลเพื่อรองรับแอปพลิเคชันใหม่ และในช่วงปลายทศวรรษ 1990 แทบไม่มีการกำหนดมาตรฐานร่วมกัน เมื่อเขียนแอปพลิเคชันใหม่ ผู้พัฒนามักสร้างเซอร์วิสใหม่ขึ้นมาด้วย (การผสมระหว่างโปรโตคอลกับพอร์ต เช่น tcp/3192) แนวคิดการใช้ HTTP เป็นช่องทางรับส่งข้อมูลร่วมสำหรับทุกแอปพลิเคชันยังไม่เป็นที่ยอมรับด้วยเหตุผลหลายประการ ทั้งผลกระทบด้านประสิทธิภาพและการที่ข้อกำหนด HTTP ในยุคแรกไม่รองรับการสื่อสารแบบ synchronous นั่นหมายความว่าโปรโตคอลใหม่ ๆ ถูกสร้างและนำไปใช้งานอย่างรวดเร็วมาก ผลที่ตามมาคือความต้องการของลูกค้าให้รองรับโปรโตคอลใหม่เหล่านี้แซงหน้าความสามารถของ firewall แบบ proxy ที่จะเพิ่มการรองรับได้ทัน

ในการทดสอบ proof of concept (PoC) ของ firewall แทบทุกครั้ง จะพบปัญหาบางอย่างที่ firewall จัดการการสื่อสารบนเครือข่ายของลูกค้าได้ไม่ถูกต้อง สำหรับ proxy นั่นหมายถึงต้องเปิด ticket กับผู้ผลิต firewall หรือใช้วิธีแก้ปัญหาเฉพาะหน้าที่ไม่ใช่ทางออกที่ดีนัก ส่วน stateful inspection อาจแก้ได้ง่าย ๆ เพียงกำหนดเซอร์วิสใหม่ หรือจัดการเรื่อง TCP timeout เพียงเล็กน้อย firewall แบบ stateful inspection จึงรับมือกับปัญหาที่ไม่คาดคิดเหล่านี้ได้ง่ายกว่า ทำให้ PoC ประสบความสำเร็จมากกว่าและปิดการขายได้ในที่สุด แม้ความปลอดภัยจะสำคัญ แต่การทำให้การสื่อสารของแอปพลิเคชันเดิมหรือแอปพลิเคชันใหม่ใช้งานไม่ได้ ถือเป็นข้อจำกัดของ proxy ที่ยอมรับไม่ได้ และอีกครั้งที่ stateful inspection เป็นฝ่ายชนะ

สุดท้ายคือความปลอดภัย มีการถกเถียงกันอย่างดุเดือดว่า firewall แบบใดให้ความปลอดภัยที่ดีกว่า ทุกวันนี้ ส่วนใหญ่คงเห็นพ้องกันว่า firewall ที่เข้าใจระดับแอปพลิเคชันให้ความปลอดภัยได้ดีกว่า ตั้งแต่การบังคับใช้โปรโตคอลไปจนถึงการควบคุมเชิงพฤติกรรม แต่น่าเสียดายสำหรับ proxy ที่ข้อจำกัดด้านอื่น ๆ รุนแรงเกินกว่าที่ธุรกิจจะรับได้ และ "ความปลอดภัยที่ดีแต่ส่งผลเสียต่อธุรกิจ" ก็พ่ายแพ้ให้กับ "ความปลอดภัยที่ดีพอสมควรโดยกระทบธุรกิจน้อย"

ผลลัพธ์คือ stateful inspection ชนะศึกครั้งนี้เหนือ proxy เทคโนโลยี firewall มีพัฒนาการมากมายตลอดหลายปีที่ผ่านมา ซึ่งผมจะกล่าวถึงในโพสต์ถัด ๆ ไป แต่สิ่งสำคัญที่ควรตระหนักคือ stateful inspection เป็นผู้ชนะในศึกยุคแรกนี้ และยังคงเป็นมาตรฐานอุตสาหกรรมของเทคโนโลยี firewall มาจนถึงทุกวันนี้

ตอนที่ 2: คุณค่าของการบริหารจัดการ

ประวัติ Firewall ฉบับใช้งานจริง - ตอนที่ 1: ยุคเริ่มต้น | FireMon