部署高匿代理-Squid

本文最后更新于:2020年12月9日 下午

信息

Squid来部署一个高匿代理服务到服务器

流程

安装 Squid 与 Httpd

1
2
yum install -y openssl squid
yum install httpd

Squid自然是服务器主体
Httpd是用于生成密码文件的

网上为什么那么多的免费代理,有一部分原因就是因为服务器转发没有设置密码,被黑客扫端口扫出来直接用了

创建密码文件

1
htpasswd -c /etc/squid/passwd EvilRecluse

命令说明:

  • htpasswd
    htpasswd 用来创建和更新用于基本认证的用户认证密码文件
  • -c
    创建参数。创建密码文件,如果文件存在,那么内容被清空重写
  • /etc/squid/passwd
    密码文件路径,此处生成文件在squid目录下passwd文件中
  • EvilRecluse
    用户名,随便填,但要记住

附录:关于htpasswd命令

命令输入后会让你输入密码,输入完密码文件就生成了
此处生成的密码文件会被用于代理访问,以防端口被扫后就随便访问

配置 Squid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# localnet 网络ip配置
acl localnet src 0.0.0.0/0 # all network
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines

# SSL_ports SSL端口配置
acl SSL_ports port 443

# Safe_ports 端口配置
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http

# CONNECT 连接方法
acl CONNECT method CONNECT

# 拒绝所有 非Safe_ports 端口的访问
http_access deny !Safe_ports
# 拒绝所有 非SSL_ports 的连接方法
http_access deny CONNECT !SSL_ports
# 允许
http_access allow localhost manager
http_access deny manager

# http访问端口为 65000 注意!!!
# 以后要用代理就靠这个端口了
http_port 65000

# squid启动目录
coredump_dir /var/spool/squid

# 缓存新旧刷新相关配置
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

# via 用于检测转发循环,设置禁止则可以避免循环
via off

# 转发头部标识删除
forwarded_for delete
forwarded_for off

# 包含特定头部的请求禁止访问
request_header_access From deny all
request_header_access Server deny all
request_header_access WWW-Authenticate deny all
request_header_access Link deny all
request_header_access Cache-Control deny all
request_header_access Proxy-Connection deny all
request_header_access X-Cache deny all
request_header_access X-Cache-Lookup deny all
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
request_header_access Pragma deny all
request_header_access Keep-Alive deny all

# 关闭squid的缓存功能
acl NCACHE method GET
no_cache deny NCACHE

# 用户认证
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
acl EvilRecluse proxy_auth REQUIRED
http_access allow EvilRecluse

附录


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!