差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:squid [2018/12/03 12:35] – Jonathan Tsai | tech:squid [2024/09/26 17:57] (目前版本) – 新增 0-Day Vulnerabilities 警告訊息 jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
====== Squid Proxy Server 安裝設定 ====== | ====== Squid Proxy Server 安裝設定 ====== | ||
- | 以下是在 CentOS 7 底下安裝與設定 Squid Proxy Server | ||
- | ===== - 安裝程序 ===== | + | <WRAP center round important 60%> |
- | <code> | + | * 因為在 OpenVAS 主機弱掃會出現 **Squid Multiple 0-Day Vulnerabilities (Oct 2023)** |
+ | * 目前改用 [[tech/ | ||
+ | </ | ||
+ | |||
+ | ====== 使用 docker compose 方式 ===== | ||
+ | * 採用 [[https:// | ||
+ | vi docker-compose.yml | ||
+ | </ | ||
+ | services: | ||
+ | squid: | ||
+ | image: ubuntu/ | ||
+ | hostname: squid | ||
+ | container_name: | ||
+ | environment: | ||
+ | - TZ=Asia/ | ||
+ | ports: | ||
+ | - 3128:3128 | ||
+ | # volumes: | ||
+ | # - ' | ||
+ | # - ' | ||
+ | restart: always | ||
+ | </ | ||
+ | docker compose up -d | ||
+ | </ | ||
+ | - 將 squid.conf 掛出來進行後續設定編輯 < | ||
+ | mkdir -p conf | ||
+ | docker cp squid:/ | ||
+ | </ | ||
+ | - 修改 docker-compose.yml < | ||
+ | services: | ||
+ | squid: | ||
+ | image: ubuntu/ | ||
+ | hostname: squid | ||
+ | container_name: | ||
+ | environment: | ||
+ | - TZ=Asia/ | ||
+ | ports: | ||
+ | - 3128:3128 | ||
+ | volumes: | ||
+ | - ' | ||
+ | # - ' | ||
+ | restart: always | ||
+ | </ | ||
+ | - 修改 squid.conf < | ||
+ | vi ./ | ||
+ | : | ||
+ | acl localnet src fe80::/ | ||
+ | |||
+ | acl SSL_ports port 443 8006 | ||
+ | acl Safe_ports port 8006 # PVE manager | ||
+ | acl Safe_ports port 80 # http | ||
+ | acl Safe_ports port 21 # ftp | ||
+ | acl Safe_ports port 443 # https | ||
+ | : | ||
+ | # For example, to allow access from your local networks, you may uncomment the | ||
+ | # following rule (and/or add rules that match your definition of " | ||
+ | http_access allow localnet | ||
+ | : | ||
+ | </ | ||
+ | * 重新啟動 docker compose < | ||
+ | docker compose restart | ||
+ | </ | ||
+ | |||
+ | ==== Q1 : 如果要修改 container 內的 /etc/hosts ==== | ||
+ | * 參考 - https:// | ||
+ | - 將 docker-compose.yml 內加上 extra_hosts: | ||
+ | - 加上要指定的 hostname 與 IP 資訊 Exp. " | ||
+ | - 範例如下:< | ||
+ | services: | ||
+ | squid: | ||
+ | image: ubuntu/ | ||
+ | hostname: squid | ||
+ | container_name: | ||
+ | environment: | ||
+ | - TZ=Asia/ | ||
+ | extra_hosts: | ||
+ | - " | ||
+ | - " | ||
+ | ports: | ||
+ | - 3128:3128 | ||
+ | volumes: | ||
+ | - ' | ||
+ | # - ' | ||
+ | restart: always | ||
+ | </ | ||
+ | - 重啟 docker compose < | ||
+ | docker compose up -d | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== 一般安裝程序 ====== | ||
+ | 以下是在 CentOS 7 與 Ubuntu 20.04 底下安裝與設定 Squid Proxy Server | ||
+ | ==== Ubuntu 20.04 ==== | ||
+ | < | ||
+ | sudo -i | ||
+ | apt install squid | ||
+ | apt list -a squid | ||
+ | </ | ||
+ | < | ||
+ | root@iiidevops1: | ||
+ | Listing... Done | ||
+ | squid/ | ||
+ | squid/focal 4.10-1ubuntu1 amd64 | ||
+ | </ | ||
+ | |||
+ | ==== CentOS 7 ==== | ||
+ | <cli> | ||
su - root | su - root | ||
yum install -y squid httpd-tools | yum install -y squid httpd-tools | ||
- | </code> | + | </cli> |
- | <file> | + | <cli> |
[root@ct-squid ~]# rpm -q squid | [root@ct-squid ~]# rpm -q squid | ||
squid-3.5.20-12.el7.x86_64 | squid-3.5.20-12.el7.x86_64 | ||
- | </file> | + | </cli> |
- | ===== - 設定參數檔 ===== | + | ===== 設定參數檔 ===== |
* 允許 ftp 的 Proxy 功能 | * 允許 ftp 的 Proxy 功能 | ||
* 允許 https 使用 port 7443 的 SSL Proxy 功能 | * 允許 https 使用 port 7443 的 SSL Proxy 功能 | ||
行 35: | 行 140: | ||
</ | </ | ||
- | * 如果要讓所有的 IP (公開的 proxy) 都可存取, | + | * 如果要讓所有的 IP (公開的 proxy) 都可存取, |
: | : | ||
# all networks | # all networks | ||
行 45: | 行 150: | ||
# And finally deny all other access to this proxy | # And finally deny all other access to this proxy | ||
: | : | ||
- | </code> | + | </file> |
- | * 如果需要設定 Proxy 使用者的帳號密碼, | + | * 如果需要設定 Proxy 使用者的帳號密碼, |
vi / | vi / | ||
- | </code>< | + | </cli>< |
: | : | ||
行 58: | 行 163: | ||
: | : | ||
</ | </ | ||
- | * 第一次建立帳號< | + | * 第一次建立帳號< |
htpasswd -c / | htpasswd -c / | ||
- | </code> | + | </cli> |
- | * 之後建立帳號或修改密碼< | + | * 之後建立帳號或修改密碼< |
htpasswd / | htpasswd / | ||
- | </code> | + | </cli> |
- | ===== - 第一次啟動與設定自動啟動 ===== | + | ===== 第一次啟動與設定自動啟動 ===== |
- | <code> | + | <cli> |
- | systemctl | + | systemctl |
systemctl enable squid.service | systemctl enable squid.service | ||
- | chkconfig --list | grep squid | + | </cli> |
- | </code> | + | |
- | < | + | |
- | [root@tryboxap01 squid]# service squid start | + | |
- | init_cache_dir / | + | |
- | [root@tryboxap01 squid]# | + | |
- | [root@tryboxap01 squid]# chkconfig squid on | + | |
- | [root@tryboxap01 squid]# chkconfig --list | grep squid | + | |
- | squid | + | |
- | [root@tryboxap01 squid]# | + | |
- | </file> | + | |
- | <note> | + | <WRAP center round tip 60%> |
* 要瞭解 Proxy 被存取狀況可以看 | * 要瞭解 Proxy 被存取狀況可以看 | ||
* 通常無法正常啟動可以依據 systemctl status squid.service 的顯示看到問題與解決方案 | * 通常無法正常啟動可以依據 systemctl status squid.service 的顯示看到問題與解決方案 | ||
- | </note> | + | </WRAP> |
- | + | ||
- | + | ||
- | ===== - 相關參考資料 ===== | + | |
- | {{topic> | + | ===== 相關參考資料 ===== |
* http:// | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
{{tag> | {{tag> |