Image

(最后一次变更: 22.04.2024)

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 企业代理服务器已准备就绪,构建还包括下面列出的服务和选项的配置:




暂时没有评论