็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿงฑ Linux Proxy Server ๆ—ฅ่ชŒๅˆ†ๆž่ˆ‡ๅฎ‰ๅ…จๅผทๅŒ–(Squid + GoAccess)

    ๐Ÿงฑ 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 ๅฎ‰ๅ…จ็›ฃๆŽงๆฉŸๅˆถ。


    ๐Ÿ”— ๅปถไผธ้–ฑ่ฎ€

    — WWFandy・็ณป็ตฑ็ถญ้‹็ญ†่จ˜

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš