๐งฑ Linux Proxy Server ๆฅ่ชๅๆ่ๅฎๅ จๅผทๅ(Squid + GoAccess)
ๅจ้จ็ฝฒ Proxy Server(Squid)ไนๅพ,ไบ่งฃไฝฟ็จ่ ่ก็บ่้ฃ็ทๅฎๅ จๆฏ็ถญ้็้่ฆ็ฐ็ฏ。ๆฌๆๅฐไป็ดนๅฆไฝๆดๅ GoAccess ้ฒ่กๅณๆๆต้่ฆ่ฆบๅๅๆ,ไธฆ่ฃๅ Squid ๅฎๅ จๅผทๅ็ๅฏฆๅ่จญๅฎ。
ไธ、็ฐๅข่ชชๆ่ๅ็ฝฎๆขไปถ
- ็ณป็ตฑ็ฐๅข:Ubuntu / CentOS / Rocky Linux
- Proxy ๅทฅๅ ท:Squid(HTTP/HTTPS ไปฃ็)
- ๅๆๅทฅๅ ท:GoAccess(Web ๅณๆ็ตฑ่จไป้ข)
# ๅฎ่ฃ Squid Proxy
sudo apt install squid -y
# ๅฎ่ฃ GoAccess
sudo apt install goaccess -y
ไบ、ๅ็จๆฅ่ช่จ้่ๆ ผๅผ่ชฟๆด
Squid ็้ ่จญๅญๆพ่ทฏๅพ็บ /var/log/squid/access.log,ๅฏไพ้ๆฑ่ชฟๆด่ผธๅบๆ ผๅผไปฅๅฉ GoAccess ๅๆ。
# ็ทจ่ผฏ่จญๅฎๆช
sudo nano /etc/squid/squid.conf
# ๆฐๅขๆ็ขบ่ชไปฅไธ่จญๅฎ
access_log /var/log/squid/access.log squid
่ฅไฝฟ็จ่ช่จๆ ผๅผ,ๅฏๆๅฎ:
logformat squid_custom %ts.%03tu %>a %Ss/%03Hs % %rm %ru %un %Sh/%
ไธ、ไฝฟ็จ GoAccess ้ฒ่ก่ฆ่ฆบๅๅๆ
GoAccess ๅฏๅณๆ็ตฑ่จๅ้ Proxy ๆดปๅ,ๅ ๆฌ่ซๆฑไพๆบ、URL、็ๆ ็ขผ、ๆต้้็ญ。
# ็ๆๅณๆๅ ฑ่กจ(็ต็ซฏๆจกๅผ)
sudo goaccess /var/log/squid/access.log --log-format=COMMON
# ็ๆ็ถฒ้ ไป้ขๅ ฑ่กจ
sudo goaccess /var/log/squid/access.log --log-format=COMMON -o /var/www/html/report.html --real-time-html
ๅฎๆๅพๅฏ้้ http://yourserver/report.html ๅณๆ็ฃๆงๆต้่ไฝฟ็จ่
่ก็บ。
ๅ、ๅฎๅ จๅผทๅ่จญๅฎๅปบ่ญฐ
- ๐ ้ๅถๅญๅไพๆบ(ACL ๆงๅถ)
- ๐งฑ ๅ็จ HTTPS(CONNECT Port 443 ่จญๅฎ)
- ๐งฉ ๅฎๆ่ผชๆฟๆฅ่ช่ๆฌ้ๆชขๆฅ
# ็ฏไพ ACL ้ๅถ(ๅ
ๅ
่จฑๅ
ง็ถฒไฝฟ็จ)
acl localnet src 192.168.0.0/16
http_access allow localnet
http_access deny all
๐งฐ ๆฅ่ช่ผชๆฟ็ฏไพ(Logrotate)
/var/log/squid/*.log {
daily
rotate 14
compress
delaycompress
missingok
notifempty
postrotate
systemctl reload squid
endscript
}
๐ ็ต่ช
็ตๅ Squid ่ GoAccess,ไธๅ ่ฝๅฟซ้ๆๆกๆต้่ถจๅข,ไน่ฝๅณๆ็ผ็พ็ฐๅธธ้ฃ็ท่ๅฎๅ จๅจ่ 。ๅปบ่ญฐๅจๆฅๅธธ็ถญ้ไธญๅ ๅ ฅ่ชๅ่ผชๆฟ่้ฑๆๆงๅๆ,ๅฝขๆๅฏ้ทๆ่ฟฝ่นค็ Proxy ๅฎๅ จ็ฃๆงๆฉๅถ。
๐ ๅปถไผธ้ฑ่ฎ
- ๐งฑ Linux Proxy Server ๅปบ็ฝฎๆๅญธ(Squid ๅฎ่ฃ่่จญๅฎๆๅ)
- ๐ Linux Log ๅๆ่่ฆ่ฆบๅ:GoAccess ๅณๆ็ฃๆง
- ๐งฉ Linux ๅฎๅ จๅผทๅๅฏฆๆฐ:Firewalld、SELinux、Fail2Ban
— WWFandy・็ณป็ตฑ็ถญ้็ญ่จ
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ