GIT – Proxy là một dịch vụ cho phép người dùng truy cập mạng thông qua một máy tính khác với một tài khoản duy nhất, máy tính này gọi là proxy-server. Những yêu cầu của người sử dụng sẽ phải qua proxy server vì thế máy tính này có thể kiểm soát được mọi giao tiếp từ trong mạng LAN ra Internet.

Ví dụ như có thể ngăn chặn một máy tính nào đó vào mạng, thiết lập thời gian truy cập, cấm … Trong bài viết này sẽ chỉ đề cập đến vẫn đề xác thực quyền truy cập với mật khẩu, hạn chế nội dung download và hạn chế truy cập các website.
Cài đặt trên Debian:

# apt-get squid

Tạo user và sử dụng NCSA.

# htpasswd /etc/squid/matkhau pingvin
New password:
Re-type new password:
Updating password for user pingvin

và:
# chmod o+r /etc/squid/matkhau

Cấu hình để sử dụng nsca_auth:

Mở file /etc/squid/squid.conf:

# vi /etc/squid/squid.conf

Tìm những dòng tương tự và bỏ # đi:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/matkhau
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off

nhớ chỉnh lại /usr/lib/squid/ncsa_auth /etc/squid/matkhau cho đúng.
Tìm đến phần ACL của squid.conf và thêm vào đoạn sau:

acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Như vậy để vào internet người dùng phải nhập username và mật khẩu tương ứng.

Hạn chế nội dung download:

Để hạn chế nội dung download cần tạo một file trong /etc/squid, ví dụ: blocks.acl với cấu trúc tương tự:

\.[Aa][Vv][Ii]$
\.[Mm][Pp][Gg]$
\.[Mm][Pp][Ee][Gg]$

sau đó thêm vào /etc/squid/squid.conf đoạn dưới đây (phần ACL và http_access) :

#phần ACL:

acl blockfiles urlpath_regex “/etc/squid/blocks.acl”
#
#phần http_access:
http_access deny blockfiles

Hạn chế truy cập các website:

Để thực hiện việc này hãy tạo 2 file: /etc/squid/allowed-sites.squid – những trang được phép truy cập và /etc/squid/restricted-sites.squid – những trang bị ngăn chặn.

# File: /etc/squid/allowed-sites.squid
gocit.vn

và:

# File: /etc/squid/restricted-sites.squid
.porn.com

sau đó thêm vào phần ACL của squid.conf đoạn :

acl GoodSites dstdomain "/etc/squid/allowed-sites.squid"
acl BadSites dstdomain "/etc/squid/restricted-sites.squid"

và phần http_access của squid.conf đoạn:

http_access deny BadSites
http_access allow GoodSites

Squid Proxy trong suốt cho phép client kết nối internet mà không cần phải cấu hình gì. Mọi cấu hình đều tại server. Với Squid từ phiên bản 2.6 trở đi để cấu hình proxy trong suốt chỉ cần thêm vào file cấu hình dòng:

http_port 3128 transparent

Sau đó sử dụng thực hiện các lệnh sau:

# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
# echo 1 > /proc/sys/net/ipv4/ip_forward

với eth1 là card mạng kết nối với LAN. Câu lệnh thứ nhất thực hiện đổi tất cả các kết nối đi qua cổng 80 sang cổng 3128, câu lệnh thứ hai bật chế độ IP forwarding.
Tuy nhiên nếu server của bạn kết nối internet ppp0 qua một card mạng khác eth0 thì cần thực hiện một lệnh nữa:

# iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE

Khởi động lại squid là xong.
Để kiểm tra thử xem proxy đã trong suốt hay chưa, trên client hãy vào một trang web bất kỳ và tại terminal trên server chạy:

# tail /var/log/squid/access.log

bạn dễ dàng có thể nhận thấy. Nhớ rằng trên client không cần cấu hình .

Apt & wget qua HTTP Proxy

-Trong trường hợp bạn vào mạng qua một HTTP proxy để có thể sử dụng apt & wget có thể làm như sau:

# echo 'Acquire::http::Proxy "http://username:pass@proxy-server:port";' >> /etc/apt/apt.conf

nếu proxy server không yêu cầu user và pass thì chỉ cần: http://proxy-server:port
hoặc tại terminal sử dụng:

# export http_proxy=http://username:pass@proxy-server:port

sau đó apt hay wget tuỳ ý.
với cách làm như trên bạn cũng có thể sử dụng wget tại terminal đó. Nếu không muốn có thể thêm đoạn sau vào $HOME/.wgetrc hay /etc/wgetrc:

http_proxy = http://proxy-server:port/
ftp_proxy = http://proxy-server:port/

Download ( ebook Squid Proxy Server 3.1 Beginners Guide ) link  http://www.gocit.vn/bai-viet/ebook-squid-proxy-server-3-1-beginners-guide/

Bài viết này nằm trong dự án  website : www.gocit.vn, forum hổ trợ forum.gocit.vn , xem thêm tại link http://www.gocit.vn/du-an-linux-toan-tap/
Print Friendly

Comments

comments

Bài viết liên quan