วันพฤหัสบดีที่ 27 สิงหาคม พ.ศ. 2552

ASA URL filtering

มีคนถามมาเยอะนะครับ เกี่ยวกับการ block url ต่างๆ หรือ url filtering ผ่านตัว Firewall ASA เพียวๆ ที่บอกว่าเพียวๆ หมายความว่า มันไม่มี module CSC, AIP เสียบอยู่เลยนะครับ ซึ่งบางคนอาจจะประยุกต์โดยการเอา ip ของเว็บไซต์นั้นไป deny ไม่ให้ network ข้างในออกไปที่ ip นั้นๆ ตัว url filtering เป็นหนึ่งใน Feature ที่ ASA สามารถทำได้นะครับ

ผมไป search มาแล้วไปเจอวิธีการใช้งาน regular expressions นำมา map เพื่อจะ block ได้ โดย configuration ก็จะมีตามด้านล่างนี้นะครับ โดยการที่เราอาจจะใช้ domain name จาก url หรือคำต่างๆ จาก uri ได้ สมมุติว่า เราจะ block เว็บไซต์ cisco และ link ที่มีคำว่า test ซึ่งอยู่ภายใน url cisco เราสามารถสร้าง regular expressions (regex) และนำไป map เข้ากับ class-maps ชนิด http และจะใช้ policy-maps ไป drop action ของ class-map นี้อีกทีนึง โดยต้องไปทำที่ interface ใดๆ หรือ global ของ ASA ตามตัวอย่างด้านล่างนี้

regex blockex1 "/test/"
regex blockex2 "cisco\.com"

class-map type inspect http match-any block-url-class
match request uri regex blockex1
match request header host regex blockex2

policy-map type inspect http block-url-policy
parameters
class block-url-class
drop-connection log
policy-map global_policy
class inspection_default
inspect http block-url-policy

service-policy global_policy global

แต่หากเป็นการ block เว็บไซต์เยอะๆ แนะนำว่าให้ใช้ websense หรือ N2H2 ที่ integrate มากับ ASA อยู่แล้วมาใช้งานนะครับ ซึ่งมันจะสามารถ provide web filtering ได้ดีกว่าการที่เรามาใช้ regex ครับ :)

2 ความคิดเห็น:

Koala กล่าวว่า...

บทความดีมาก ๆ เลยค่ะ อยากถามต่อว่าถ้าเราจะ block url นั้น ๆ เฉพาะ ip ช่วงใดช่วงหนึ่งได้ไหม เช่นถ้าอยากให้ ip .10 - .20 เล่น facebook.com ได้ แต่ให้ .21 - .30 เล่นไม่ได้ต้องทำแบบไหนค่ะ เราลองทำแบบนี้ดูเล่นไม่ได้หมดเลย ^^ ถามเพิ่มนิดค่ะ อยากรู้ว่า asa ทำ url filtering ในตัวได้ไหม แบบที่ไม่ต้องไปต่อกับ server url อีกที ขอบคุณมาก ๆ จ้า

Koala กล่าวว่า...

อยากทราบว่าสามารถกำหนดเป็น ip ไปได้ไหม เพราะว่าเราทำตามแล้วมันเป็นทุก ๆ คนเลยค่ะ อยากให้บางคนใช้ได้ใช้ไม่ได้ทำได้บ้างไหม