ผู้เขียน หัวข้อ: Squid  (อ่าน 5688 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

doramon

  • บุคคลทั่วไป
Squid
« เมื่อ: เมษายน 14, 2008, 11:00:42 AM »
0
1 sarg

2 MySQL Squid Access Report   (http://giannis.stoilis.gr/software/mysar/)

3 Internet Access Monitor  (http://internetaccessmonitor.com/eng/products/)

แล้วอีกหลายตัวยังไม่ไดทดสอบ

http://www.safesquid.com/html/portal.php?page=54

doramon

  • บุคคลทั่วไป
Re: Squid
« ตอบกลับ #1 เมื่อ: เมษายน 14, 2008, 11:08:33 AM »
0

doramon

  • บุคคลทั่วไป
Re: Squid
« ตอบกลับ #2 เมื่อ: เมษายน 14, 2008, 14:23:29 PM »
0

   
เอามาจาก
http://www.thaiadmin.org/board/index.php?topic=14809.from1137120836;topicseen#msg83273
หลาย ๆ คนคงเคยเจอปัญหา user เล่น MSN ทั้งวัน (เราก็ด้วย Wink ) เวลาหัวหน้ามาเห็นก็เป็นเรื่อง ห้ามก็ยาก แถมยังอาจทำให้ติด Virus ได้อีกด้วย

โดยปกติ MSN จะ run ที่ port 1863 แต่ถ้า Firewall เรา block port นี้แล้ว MSN ยังสามารถวิ่งโดยใช้ port 80 ได้อีก ซึ่งคงไม่มีใคร block แน่ ๆ ครั้นจะ block URL ที่ msn ใช้ Login คือ messenger.hotmail.com จะส่งผลกระทบทำให้เข้า www.hotmail.com ไม่ได้ด้วย Cry

หากคุณใช้งาน Squid เป็น Proxy อยู่สามารถทำดังนี้ได้ครับ


#ในไฟล์ squid.conf
#สร้าง acl
acl msn_user src "/etc/squid/msn_user_list.txt" #ไฟล์ระบุ IP ของเครื่องที่อนุญาตให้ใช้ MSN ได้
acl msn_server req_mime_type application/x-msn-messenger #ให้ตรวจสอบ mime_type ว่าเป็นของ msn หรือไม่ ใช้กับ msn รุ่นเก่า ถึง 6.3
acl msn_url url_regex -i gateway.dll #ตรวจสอบใน request ว่าเป็นของ msn หรือไม่ ใช้กับ version 7.x +

#Block MSN
http_access deny !msn_users msn_server #หาก ip ที่เข้ามาไม่อยู่ในรายการที่อนุญาตให้ใช้ และเป็น request ของ msn ให้ deny
http_access deny !msn_users msn_url #เหมือนกัน แต่สำหรับ version 7.x +

#ตัวอย่างไฟล์ /etc/squid/msn_user_list.txt
192.168.1.1
192.168.1.10
.
.
.
192.168.8.25

การแก้ไข config ถ้าต้องการให้ squid อ่าน config ใหม่ทันที สามารถใช้คำสั่ง squid -k reconfigure ได้ครับ

doramon

  • บุคคลทั่วไป
Re: Squid
« ตอบกลับ #3 เมื่อ: เมษายน 14, 2008, 14:36:25 PM »
0
วิธีการกรองเว็บไม่พึงประสงค์ที่ใช้ผ่าน Squid Proxy โดยใช้โปรแกรม SquidGuard

แนะนำ SquidGuard
squidGuard ทำงานร่วมกับ Squid Proxy เพื่อบล็อคการเข้าถึงไซต์ต่าง ๆ โดยการบล็อคสามารถบล็อคด้วยค่าของ โดเมน IP Address หรือแม้แต่ keyword นอกจากนี้สามารกกำหนดได้ว่าจะบล็อดในช่วงเวลาไหนของแต่ละวันและสามารถกำหนดกลุ่มในการบล็อคได้  แต่ในที่นี้จะเป็นตัวอย่างการบล็อคที่เป็นการบล็อคโดเมน และ URL ครับ

โปรแกรมที่ต้องติดตั้ง
1. Squid
2. BerkeleyDB
3. squidGuard

การติดตั้งและคอนฟิก squid
ดูตัวอย่างการติดตั้งได้จาก http://www.itwizard.info/technology/linux/squid_install_and_config.html

การติดตั้ง BerkeleyDB
ดาวน์โหลดได้จาก http://www.sleepycat.com มาไว้ในตำแหน่งที่เหมาะสม
ในที่นี้ผมดาวโหลดมาติดตั้งไว้ที่ /root  (db-4.2.52.tar.gz)
ให้เข้าไปยังตำแหน่งที่ได้ดาวน์โหลดมาแล้วใช้คำสั่งดังนี้

    * # tar xvfz db-4.2.52.tar.gz
    * # cd db-4.2.52/dist
    * # ./configure –prefix=/usr/local/BerkeleyDB  สั่ง configure ก่อนที่จะคอมไพล์
    * # make 
    * # make install ติดตั้ง Berkeley DB library
    * # echo “/usr/local/BerkeleyDB/lib” >> /etc/ld.so.conf
    * # ldconfig บรรทัดนี้ถ้าไม่ใส่จะไม่สามารถ compile squidGuard ได้

การติดตั้ง squidGuard
ดาวน์โหลดได้จาก http://www.squidguard.org มาไว้ในตำแหน่งที่เหมาะสม  จากนั้นก็ให้เข้าไปยังตำแหน่งที่ดาวน์โหลดมาแล้ว

    * # tar xvfz squidGuard-1.2.0.tar.gz
    * # cd squidGuard-1.2.0
    * #./configure   เพื่อจะติดตั้ง squidGuard executable เป็น /usr/local/bin/squidGuard
    * # make
    * # make install

การคอนฟิก squidGuard
หลังจากคอมไพล์ squidGuard  แล้วก็ต้องทำการสร้างไฟล์ squidGuard.conf ขึ้นมาเองดังนี้

    * # cd /usr/local/
    * # mkdir /usr/local/squidGuard
    * # vi squidGuard.conf เป็นการสร้างไฟล์ config ของ squidGuard โดยเนื่อหาไฟล์สามารถจะเป็นได้หลาย ๆ แบบ
      ซึ่งในที่นี้จะขอยกตัวอย่างการคอนฟิกเพื่อบล็อก site ที่ไม่เหมาะสม (Blocking inappropriate sites) ซึ่งจะมีเนื้อหาของไฟล์ดังนี้ :

      -------------------------------- start -------------------------------------
      logdir /usr/local/squidGuard/log
           dbhome /usr/local/squidGuard/db

           dest porn {
       domainlist porn/domains
       urllist    porn/urls
           }

           acl {
       default {
           pass !porn all
           redirect
      http://www.itwizard.info/blocked.php?clientaddr=%a&clientname=%n&clientuser=%i&clientgroup=%s&url=%u
       }
           }
      -------------------------------- End  -------------------------------------

    อธิบายเพิ่มเติม
    เมื่อมีการเรียกใช้งานไปยังเว็บไซต์ที่เราบล็อก ก็จะ redirect ไปยัง url ที่เราได้กำหนดไว้ โดยส่งค่าตัวแปรต่าง ๆ ไปด้วย ดังนี้
    - clientaddr
    - clientname
    - clientuser
    - clientgroup
    - url
    หมายเหตุ
             %a เป็น IP ของเครื่อง Client ที่เข้าเว็บนั้น ๆ
             %u เป็น url ที่เครื่อง client เรียกใช้งาน

    ตัวอย่าง php script file บน Web Server ที่ถูก redirect ไป
    <?
    echo "<center><br><br><br>";
    echo "<font site=4>";
    echo "เว็บนี้ ($url) เป็นเว็บต้องห้าม <br>";
    echo "This is prohibitive URL ($url)";
    echo "</font>";
    echo "</center>";
    ?>

สร้างตำแหน่งเก็บ log file และสร้างฐานข้อมูล web ที่ไม่ต้องการให้เรียกใช้งาน

    * # cd /usr/local/squidGuard/
    * # mkdir log  สร้างตำแหน่งเก็บ log
    * # mkdir db
    * # mkdir db/porn สร้างตำแหน่งที่เก็บฐานข้อมูล web
    * # cd db/porn
    * # vi domains สร้างไฟล์ที่ใช้เก็บค่าของ domain ที่ถูกบล็อก โดยอาจะมีเนื้อหาดังนี้

    porn.com
    sex.com

    * # vi urls # สร้างไฟล์ที่ใช้เก็บค่าของ url ที่ถูกบล็อค โดยอาจจะมีข้อมูลดังนี้

    foo.com/~porn
    bar.com/img/sex

    ความหมายคือเครื่อง Client สามารถเรียกใช้งาน foo.com และ bar.com ได้ (ไม่ได้บล็อคโดเมน) แต่ไม่สามารถเรียกใช้งาน
    foo.com/~porn และ bar.com/img/sex ได้ (บล็อค url)

       เสร็จแล้วก็สร้างฐานข้อมูลจากไฟล์ domains และ urls ที่ได้เตรียมไว้โดยใช้คำสั่ง

    * # /usr/local/bin/squidGuard –C all
    * # chown –R nobody:nobody /usr/local/squidGuard

แก้ไขคอนฟิกของ squid

    * # vi /usr/local/squid/etc/squid.conf  สำหรับการติดตั้ง Squid จากไฟล์ประเภท tar.gz หรือ
      # vi /etc/squid/squid.conf  สำหรับการติดตั้ง Squid จากไฟล์ประเภท RPM

    โดยเพิ่มบรรทัดต่อไปนี้
    redirect_program /usr/local/bin/squidGuard
    และเอาเครื่องหมาย # หน้าบรรทัดต่อไปนี้ออก
    redirect_children 5

สุดท้ายก็ให้ restart squid โดยใช้คำสั่งดังนี้ครับ

    * # /usr/local/squid/bin/squid –k reconfigure (ท่านอาจจะติดตั้ง squid ไว้ตำแหน่งอื่น ก็ให้ใช้คำสั่งนี้ตรงกับตำแหน่งที่ติดตั้งครับ)

เส็จแล้วก็ลองเข้า www.porn.com หรือ www.sex.com ดูครับ

หมายเหตุ ทุกครั้งที่คุณแก้ไฟล์ไฟล์ domains, urls ต้องทำการเพิ่มเข้าไปในฐานข้อมูทุกครั้งด้วย  โดยใช้คำสั่ง :
# /usr/local/bin/squidGuard –C all
# chown –R nobody:nobody /usr/local/squidGuard

หมายเหตุ ชื่อของโดเมนและชื่อ URL (รวมถึง Blacklist อื่น ๆ) ที่เป็นที่ไม่พึงประสงค์สามารถดาวน์โหลดไดจาก
http://www.squidguard.org/blacklist

doramon

  • บุคคลทั่วไป
Re: Squid
« ตอบกลับ #4 เมื่อ: เมษายน 14, 2008, 14:43:07 PM »
0