Debian 12 Linux proxy Server (Squid, SARG, Apache)
公司代理服务器旨在提供对因安全原因而被禁止从公共 Internet 访问的公司资源的访问。 通常,这些是公司员工每天与之交互的内部服务和系统。 代理服务器可以作为比远程桌面更方便的替代方案,因为员工可以以通常的方式访问,而无需在虚拟桌面之间切换。 您可以设置一个浏览器作为代理服务器,例如FireFox或WaterFox作为代理,其余浏览器将使用标准Internet。 这种配置将使工作方便和安全。 |
预配置的服务器配置可在订购单上获得。
作为代理服务器,我们将使用 squid 服务,它已经证明自己很好并且具有微调和方便设置的能力。
1. 让我们安装 Squid.
apt update
apt install squid
检查服务状态
systemctl status squid
● squid.service - Squid Web Proxy Server
Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2023-03-25 18:16:48 UTC; 20h ago
默认情况下,在 squid 设置中禁用所有连接。 让我们更改设置:
/etc/squid/squid.conf
include /etc/squid/conf.d/*
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
# And finally deny all other access to this proxy
http_access deny all
您可以允许访问特定的 IP 地址或子网。 为此,取消注释行 http_access allow localnet 并添加规则
acl localnet src remote_ip_address
该规则包含以下参数:
- acl - 根访问规则。
- localnet - 规则适用的组。
- src - 规则组中包含的 IP 地址。
设置访问权限。
由于我们有一个企业代理,我们需要为每个用户添加登录名和密码授权。 使用以下命令添加您要授予访问权限的用户:
htpasswd -c /etc/squid/passwords user_name
在我们使用以下命令检查文件中是否存在用户和密码之后:
more /etc/squid/passwords
user_name:$apr1$zEyMac8p$yZ04bfdMJugpXvzMVTig60
现在让我们将用户的授权从创建的文件添加到配置文件中:
/etc/squid/squid.conf
include /etc/squid/conf.d/*
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# Example rule allowing access from your local networks.
acl localnet src remote_ip_address
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all
在此示例中,我们允许从所有 IP 地址进行访问,并且只能通过访问文件中的登录名和密码进行访问。 由于规则 #http_access allow localnet 处于非活动状态。
现在您需要在浏览器设置中指定此代理服务器的 IP 地址和默认设置中指定的端口:3128。
在某些情况下,当公司资源在特殊端口上运行时,有必要将它们添加到配置文件中,因为默认情况下允许使用基本端口。 例如,我们需要添加一个通过 https 工作的额外端口。
/etc/squid/squid.conf
acl SSL_ports port 4643
acl Safe_ports port 4643 # https CRM
进行更改后,重新启动 squid 服务以应用设置:
systemctl restart squid
Debain 12 Linux 企业代理服务器已准备就绪,构建还包括下面列出的服务和选项的配置:
暂时没有评论