Reference - Hướng dẫn xây dựng server Squid proxy và quản lý proxy bằng webmin trên centos 7
Thứ Ba, 2 tháng 7, 2019
Hôm nay rãnh rỗi nên nói chuyện về proxy, và quản lý nó như thế nào. Nói về Squid proxy thì nếu tìm hiểu về open source thì ai cũng biết. Có thể tích hợp nó vào một số firewall ,nói chung nói về web protection thì sẽ nghe qua, có thể dùng theo hướng tích hợp, hoặc cài riêng...
Như đã nói hôm nay sẽ cài riêng squid trên server, nghe có vẻ hay hay , vậy cài lên rồi sài luôn ah, ok có thể được nó không khó lắm, chủ yếu bạn biết cách bố trí config tốt hay không thôi.
Mới nói tới đây có sẽ "What the f*ck" liền, ngồi mò đến khi nào ra, nhưng biết dùng cái này không thôi tốn khá nhiều thời gian đấy nhé, khá hay (Đã thử và bị lỗi khá nhiều khi config) kaka
Con người ta nói "Cái khó ló cái ngu" kaka, rãnh rỗi làm khó mình gọi là ngu, ok cứ vậy đi (chém đấy).
OK, quản lý nó sẽ dùng Webmin ? Nó là cài gì ? Webmin là một công cụ cấu hình hệ thống dựa trên web cho các hệ thống giống Unix, mặc dù các phiên bản gần đây cũng có thể được cài đặt và chạy trên Windows, nếu muốn biết nhiều thì tham khảo các bài hướng dẫn cài Web Hosting Control Panel sẽ biết rõ hơn.
Chuẩn bị : Server Centos 7
Quá trình cài đặt :
Cài đặt thư viện perl : Như đã biết, webmin viết bằng ngôn ngữ perl, vậy cần cài thư viện cho nó
[root@localhost ~]# yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty
Cấu hình repos : Cấu hình repos để tải source và cài đặt webmin
Download và im port key : Mặc định centos core ko có wget nên cài wget, xong tải key về import vào server
[root@localhost ~]# yum install wget
[root@localhost ~]# wget http://www.webmin.com/jcameron-key.asc
[root@localhost ~]# rpm --import jcameron-key.asc
Cài webmin : dùng yum để cài webmin theo mặc định để nhanh, nếu chịu khó thì tải packed về tự config httpd và cài, cách nào cũng ok
[root@localhost ~]# yum install webmin
Khởi động webmin
[root@localhost ~]# service webmin start
Config webmin auto chạy khi khởi đồng server
[root@localhost ~]# chkconfig webmin on
Đăng nhập vào webmin, default sẽ là port 10000
Và đăng nhập bằng tài khoản root
Phần trên coi như là khá dễ rồi, phần còn lại sẽ quan trọng hơn :
Khi đăng nhập vào ở menu Un-used Modules sẽ bao gồm rất nhiều module, bạn cần các định 2 module chính đó là : Squid Proxy Server và Squid Report Generator
Squid Proxy Server : Webmin sẽ hỗ trợ bạn cài trực tiếp trên webmin, bấm vào download và sẽ auto cài, nhanh mau lẹ luôn
Squid Report Generator : Đây là phần sẽ report lại thông tin proxy của bạn khi chạy, nó sẽ record mọi thông tin client nào dùng proxy, và các thông tin đi qua nó.
Khi bạn vào link thì chỉ thấy thông tin trên, khi lưu lại thì sẽ báo đường dẫn không tìm thấy, vấn đề là ở đây. Webmin sẽ ko hỗ trợ bạn cài report squid dùng Sarg. Căng thẳng hên, không hỗ trợ cài thì cài thôi.kaak
Tiến hành cài Sarg bằng tay thôi :
Vào lại puty và chạy những dòng lệnh sau, trước tiên cần biết khi cài report này cần phải buil packed cảu nó viết bằng C, mặc định của Centos core 7 không được cài
[root@localhost ~]# yum install –y gcc
Dùng wget tải gói mới nhất về, hiện tại bây giờ 2.3.11 mới nhất nhé
[root@localhost ~]# wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.11/sarg-2.3.11.tar.gz
Giải nén gói này sau khi đã tải xong
[root@localhost ~]# tar -xvzf sarg-2.3.11.tar.gz
[root@localhost ~]# cd sarg-2.3.11
[root@localhost ~]# ./configure
[root@localhost ~]# make
[root@localhost ~]# make install
Quá trình cài đặt và biên dịch khoản gần một phút sẽ xong
Tiếp theo dùng vi chỉnh file sarg.conf lại cho đúng như sau
[root@localhost ~]# vi /usr/local/etc/sarg.conf
Mở file config này và tìm nội dung sửa lại cho giống bên dưới
# sarg.conf## TAG: access_log file# Where is the access.log file# sarg -l file#access_log /var/log/squid/access.log
# TAG: output_dir# The reports will be saved in that directory# sarg -o dir#output_dir /var/squid-reports
# TAG: date_format# Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)#date_format e
# TAG: overwrite_report yes|no# yes - if report date already exist then will be overwritten.# no - if report date already exist then will be renamed to filename.n, filename.n+1#overwrite_report yes
Check thông tin chính xác chưa :
[root@localhost ~]# sarg -x
Cuối cùng quay trwor lại webmin config lại và trỏ về file config này
Sau khi lưu lại nếu chính xác sẽ có giao diện sau :
OK, còn lại tham khảo các hình sau
Config port : config port cho proxy, ở đây dùng default : 3128
ACL : ở đây vidu chặn hết các tên mình google các quốc gia
Trong này có rất nhiều chức năng, do nhu cầu cần làm gì thôi, ở đây không thể ghi ra hết được, chức năng do kinh nghiệm và mức hấp thụ của mỗi người.
Sau mở trình duyệt trỏ về proxy :
Cuối cũng là xem thành quả :
Note: Tạo trang error khi vào web chặn
[root@localhost ~]# cd /usr/share/squid/errors/templates/
[root@localhost ~]# touch ERR_custom
[root@localhost ~]# vi ERR_custom
Report SARG :
Túm lại là Squid khá hay và mạnh :) không có nhiều thời gian để làm nhiều phần, nhiều bài nên cố gắng gói trọn trong một bài, cách khắc phục, cài đặt ... sẽ là sự lựa chọn khá tốt nếu bạn thích open source. Chỉ có làm cần gì thì gói ra, đây chỉ là basic thôi, còn custom page, config, nơi chứa log hiệu quả không bị tràn... bài viết này giúp có cái nhìn tổng quan hơn, rút ngắn thời gian hơn để hình dung xa hơn :)
Nhãn: Proxy