squid
は、 HTTP(S)
プロキシサーバーの展開に一般的に使用される高性能プロキシキャッシュサーバーです。この記事は、 Ubuntu
で squid
を使用して HTTP(S)
プロキシサーバーを展開する方法の概要です。
使用されるUbuntuのバージョンは Ubuntu 16.04x64
です。
次のコマンドを使用して squid
をインストールします。
apt install squid -y
インストール後、デフォルトの構成ファイル squid.conf
が / etc / squid
ディレクトリに生成され、いくつかのカスタム変更が必要です。
[http_port 3128の行の
3128を
8080`などの目的のポート番号または異常なポートに変更して、[shodan](https://www.shodan.io/)などの検索エンジンによってサービスが検出されないようにします。
Squidは、 http_access allow localhost
を設定しているため、デフォルトではローカルでのみアクセスできます。
ただし、通常の状況では、外部からアクセスする必要があるため、次の2行の構成を追加する必要があります。
acl net src 0.0.0.0/0
http_access allow net
外部アドレスの受信を表します。
CONNECT
を許可する##Squidはデフォルトで CONNECT
ポート443のみを実行できます。すべてのポートを開きたい場合は、 http_access deny CONNECT!SSL_ports
の行をコメントアウトする必要があります。
Squidのデフォルトポリシーでは、エージェントは次のポートにのみアクセスできます。
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
そのため、一部のポートにアクセスできず、「403Forbidden」が直接返されます。これらのポートにアクセスする必要がある場合は、次の構成を追加できます。
acl Safe_ports port 1-1024
Squidはデフォルトでローカル( localhost
)サービスへのアクセスを許可しますが、 #http_access denyto_localhost
のコメントを削除することをお勧めします
上記の操作が面倒だと思われる場合は、セキュリティを考慮せずに「http_accessdenyall」を「http_accessallowall」に変更することもできます。
セキュリティ上の理由から、通常はプロキシサーバーのパスワードを設定します。
最初に htpasswd
ツールをインストールし、次のコマンドを使用します。
apt install apache2-utils -y
パスワードファイルを作成します。
htpasswd -c /etc/squid/passwd proxy_username
squid.conf
に次のコンテンツを追加します。
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwd
systemctl start squid
Recommended Posts