# Squid Proxy 2026: คู่มือ Open-Source Web Proxy & Caching Server สำหรับ SME ไทย
เมื่อบริษัทมีพนักงาน 50-500 คนใช้อินเทอร์เน็ตวันละหลายชั่วโมง การเปิดให้ทุกคนเข้าทุกเว็บอย่างอิสระไม่ใช่แค่ปัญหา security แต่ยังเปลือง bandwidth ทำให้ค่า internet leased line สูงขึ้นโดยไม่จำเป็น และยังเสี่ยงต่อ malware ที่แฝงมาทาง browser
Squid เป็น Open-Source proxy server ที่ครองตลาดมายาวกว่า 25 ปี ใช้ใน ISP ขนาดใหญ่ไปจนถึง office network เล็ก ๆ ทำหน้าที่ cache HTTP/HTTPS content, filter URL, จำกัด bandwidth ต่อ user และ log การใช้งาน internet ของพนักงาน เป็นเครื่องมือพื้นฐานที่ทีม Network ทุกคนควรรู้จัก
คู่มือนี้จะอธิบายว่า Squid Proxy คืออะไร ทำไม SME ยังต้องใช้ในยุค Cloud/Zero Trust วิธีติดตั้งบน Ubuntu วิธีเขียน ACL กรอง URL การ cache web content การทำ HTTPS interception อย่างปลอดภัย และเปรียบเทียบกับ HAProxy, Nginx Proxy Manager, Cloudflare Zero Trust เพื่อเลือกใช้ให้ถูกตามขนาดธุรกิจ
Squid Proxy คืออะไร
Squid เป็น forward proxy + caching server ที่ทำหน้าที่:
โครงสร้างพื้นฐาน:
1. Browser (พนักงาน) — set proxy เป็น `192.168.1.10:3128`
2. Squid server รับ request, ตรวจ ACL, ตัดสินใจ allow/deny
3. ถ้า allow ตรวจ cache: hit → ตอบกลับทันที, miss → ดึงจาก internet แล้ว cache ไว้
4. log การเข้าใช้งานทั้งหมดใน `/var/log/squid/access.log`
ทำไม SME ไทยจึงยังต้องใช้ Proxy ในปี 2026
แม้องค์กรหลายแห่งย้ายไป Cloud/SaaS แต่ Squid ยังตอบโจทย์เหตุผลต่อไปนี้:
| เหตุผล | รายละเอียด |
|---|---|
| PDPA Audit Trail | บันทึกการเข้า web ของพนักงานเป็นหลักฐานเมื่อมีเหตุข้อมูลรั่ว |
| Content Filter | block adult content, gambling, malware domains, social media ในเวลาทำงาน |
| Bandwidth Saving | ออฟฟิศที่มี 200+ คน cache ของ Microsoft Update + npm/Docker ลด traffic 30-60% |
| Compliance | ISO 27001, GDPR, PCI-DSS หลายข้อกำหนดให้ log + กรอง outbound traffic |
| ค่าใช้จ่ายต่ำ | Squid + pfSense ถูกกว่า FortiGate appliance หลายแสนบาท |
วิธีติดตั้ง Squid บน Ubuntu 22.04
ขั้นตอนการ setup สำหรับ Ubuntu Server:
```bash
sudo apt update
sudo apt install squid -y
sudo systemctl enable --now squid
```
ตรวจสอบ:
```bash
sudo systemctl status squid
sudo netstat -tlnp | grep 3128
```
ตั้งค่า basic ใน `/etc/squid/squid.conf`:
```
http_port 3128
acl localnet src 192.168.0.0/16
acl Safe_ports port 80 443 21 70 210 1025-65535
acl SSL_ports port 443
http_access allow localnet
http_access deny all
cache_dir ufs /var/spool/squid 10000 16 256
maximum_object_size 256 MB
```
ค่า `cache_dir` ขนาด 10GB เพียงพอสำหรับ office 100 คน ต่อจากนั้น restart service:
```bash
sudo squid -k reconfigure
```
เขียน ACL กรอง URL ตามแผนก
ตัวอย่าง ACL ที่ใช้งานจริงใน SME ไทย:
```
acl hr_users src 192.168.10.0/24
acl prod_users src 192.168.20.0/24
acl social_sites dstdomain .facebook.com .tiktok.com .instagram.com
acl gambling_sites dstdomain .bet365.com .pokerstars.com
acl work_hours time MTWHF 09:00-18:00
http_access deny prod_users social_sites work_hours
http_access deny all gambling_sites
http_access allow hr_users social_sites
http_access allow all
```
อธิบาย: ในเวลาทำงาน (จันทร์-ศุกร์ 9:00-18:00) ฝ่ายผลิตห้ามเข้า social media ส่วน HR เข้าได้ตลอด และทุกแผนกถูกห้ามเข้าเว็บการพนัน
HTTPS Interception (SSL Bump)
ปัจจุบัน 95% ของ web ใช้ HTTPS Squid ต้อง decrypt เพื่อ inspect content โดยใช้ SSL Bump ขั้นตอน:
1. สร้าง CA certificate ของบริษัท
2. install CA cert บน client device ทุกเครื่อง (ผ่าน MDM/Group Policy)
3. configure Squid ให้ generate cert ใหม่ on-the-fly สำหรับแต่ละ domain
คำเตือนสำคัญ: SSL Bump เป็นการ MITM ของ company traffic ต้องประกาศเป็น Acceptable Use Policy ให้พนักงานทราบและเซ็นยอมรับ มิฉะนั้นเสี่ยง PDPA และ พ.ร.บ. คอมพิวเตอร์ ฯ ในประเทศไทย
Cache Optimization
เพื่อให้ Squid ใช้ bandwidth คุ้มค่า:
```
refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 10080 90% 43200
refresh_pattern -i \.(iso|exe|zip|tar|gz|msi)$ 10080 90% 43200
refresh_pattern -i windowsupdate\.com 10080 90% 43200 reload-into-ims
```
Squid vs HAProxy vs Nginx vs Cloudflare Zero Trust
| ตัวเลือก | บทบาท | จุดเด่น | จุดอ่อน |
|---|---|---|---|
| Squid | Forward proxy | Caching, ACL, Log | Setup ยาก, HTTPS bump ซับซ้อน |
| HAProxy | Load balancer | Performance สูง, TCP/HTTP | ไม่ใช่ caching server |
| Nginx Proxy Manager | Reverse proxy | UI ง่าย, Let's Encrypt auto | ไม่ใช่ forward proxy |
| Cloudflare Zero Trust | Cloud SASE | ไม่ต้อง self-host, Zero Trust | $7/user/เดือน, data ออก TH |
Squid เหมาะกับ: สำนักงานที่ต้องการ filter + log internet, มีงบจำกัด, มี IT admin ดูแล Linux ได้
Cloudflare Zero Trust เหมาะกับ: บริษัทที่มีพนักงาน WFH/Hybrid และไม่อยาก self-host
Monitoring & Log Analysis
ใช้ SARG หรือ Lightsquid สร้างรายงาน HTML รายวัน/รายสัปดาห์ของ access log:
```bash
sudo apt install sarg
sudo sarg -f /etc/sarg/sarg.conf
```
หรือ ship log เข้า ELK/Graylog/Loki เพื่อ search + alert ได้แบบ real-time ทำ dashboard ใน Grafana ได้ภาพรวม top users, top domains, top deny reasons
Best Practices สำหรับ Squid ใน Production
1. ใช้ disk แยกสำหรับ cache_dir (NVMe SSD แนะนำ)
2. Tune `cache_mem` ตาม RAM ที่ว่าง (50% ของ RAM ที่เหลือ)
3. รัน `sarg` ผ่าน cron เพื่อสร้างรายงานรายวันอัตโนมัติ
4. ใช้ external_acl_type integrate กับ Active Directory ผ่าน Kerberos
5. Backup `/etc/squid/` ก่อนทุกการเปลี่ยนแปลง
6. Monitor process + disk usage ผ่าน Prometheus exporter
สรุปและ CTA
ทีม adsfit ออกแบบและติดตั้ง Squid Proxy + Active Directory integration ให้ลูกค้า SME ไทยมาแล้วหลายสิบบริษัท หากต้องการคำปรึกษา ติดต่อเราได้ที่ [adsfit.co.th/contact](https://www.adsfit.co.th/contact) หรืออ่านบทความ Network & Security อื่น ๆ ในบล็อก