Ubuntu 24.04でWebプロキシを設定するための完全かつ実用的なガイド
このガイドを使用すると、Ubuntu 24.04 サーバーに Web プロキシを簡単にインストールして構成できます。.

Ubuntu 24.04でWebプロキシを設定するための完全かつ実用的なガイド

この記事では、Squid、Dante、Nginxを使用してUbuntu 24.04サーバーにウェブプロキシをインストールおよび設定する方法を段階的に説明します。この記事を読むことで、ウェブプロキシを安全に使用し、最適化する方法を習得できます。.
0 株式
0
0
0
0

Ubuntu 24.04 で安全かつ効率的な Web プロキシを設定するにはどうすればいいですか?

この操作ガイドでは、サーバー上で Web プロキシをインストール、構成、保護するプロセスを段階的に説明します。 ウブントゥ 24.04 説明。例に基づく イカ (HTTP/HTTPSフォワードプロキシ) ダンテ (SOCKS5)と エングス (リバース プロキシと TLS 終了)、ファイアウォール構成、認証、ログ記録、パフォーマンスの最適化が含まれます。.

なぜ Web プロキシを使用するのですか?

Web プロキシには次のような利点があります。 アクセス制御コンテンツのキャッシュ 帯域幅を減らすには、 IP隠蔽 クライアントと トラフィック分散 取引やゲームなどの機密性の高いアプリケーションの場合、プロキシを宛先の近くに配置することが レイテンシー(ping) 減らす。.

プロキシの種類と用途

最も一般的なプロキシの種類は次のとおりです。

  • フォワードプロキシ(例:Squid): クライアントがインターネットにアクセスするためのもので、制御、キャッシュ、監視に適しています。.
  • リバースプロキシ(例:Nginx): Web サーバーの前に配置して、TLS、負荷分散、およびキャッシュを実行します。.
  • SOCKS5 (Dante または SSH -D): 下位層。さまざまなアプリケーションや TCP/UDP トラフィックに適しています。.
  • 透過プロキシ: ネットワーク トラフィックを傍受します (NAT/fwd の変更が必要です)。.

サーバーの要件と準備

まず、システムをアップデートし、基本パッケージをインストールします。パッケージは要件に応じて選択する必要があります。SOCKS5の場合は、 ダンテサーバー TLSについては 証明書ボット 使います。.

sudo apt update && sudo apt upgrade -y
sudo apt install squid apache2-utils dante-server nginx certbot nftables fail2ban -y

Squid(HTTP/HTTPS フォワードプロキシ)のインストールと設定

このセクションでは、基本的な構成、HTTPS (CONNECT) の有効化、認証、ACL、およびキャッシュについて説明します。.

基本設定

Squid をインストールするには:

sudo apt install squid -y

設定ファイルを変更する前に、バックアップを作成してください。

sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bak

基本設定ファイルの例 (/etc/squid/squid.conf):

http_port 3128
# limit logging size
access_log /var/log/squid/access.log squid

# ACLs
acl localhost src 127.0.0.1/32
acl localnet src 10.0.0.0/8    # internal network
acl allowed_ips src 203.0.113.0/24  # example allowed client range

# permissions
http_access allow localhost
http_access allow allowed_ips
http_access deny all

# caching
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
cache_dir ufs /var/spool/squid 10000 16 256
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern . 0 20% 4320

# DNS
dns_v4_first on

設定を保存した後:

sudo systemctl restart squid
sudo systemctl enable squid

HTTPS (CONNECT) と TLS を有効にする

HTTPSトンネリングの場合、SquidはCONNECTを使用します。CONNECTを許可するACLの例:

acl SSL_ports port 443
acl Safe_ports port 80
acl Safe_ports port 443
http_access allow SSL_ports

認証(基本/LDAP)

htpasswd を使用した基本認証の場合:

sudo apt install apache2-utils -y
sudo htpasswd -c /etc/squid/passwords username

squid.conf に以下を追加します:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

ACLとアクセス制限

一般的な例:

  • IPで制限: acl allowed_ips src xxxx/xx
  • ドメインの制限: acl ブロックされたサイト dstdomain .example.com
  • 制限時間: acl 営業時間 月曜日~金曜日 08:00~18:00

拒否するサイトの例:

acl blocked_sites dstdomain .youtube.com .facebook.com
http_access deny blocked_sites

キャッシュとパフォーマンスの最適化

キャッシュの重要な設定:

  • キャッシュメモリ: 小さなオブジェクトをキャッシュするための RAM メモリ。.
  • キャッシュディレクトリ: 大きなコンテンツ キャッシュのディスクの場所です。.
  • 最大オブジェクトサイズ: 保存できるオブジェクトの最大サイズ。.
  • リフレッシュパターン: キャッシュの有効性制御。.

トラフィック量が多い場合の例:

cache_mem 512 MB
maximum_object_size 20 MB
cache_dir ufs /var/spool/squid 50000 16 256

トラフィック量が多い場合は、NVMe と高 IOPS ディスクまたは LVM を使用します。.

ログ記録とログ管理

Squidがログイン /var/log/squid/ logrotate の設定例:

sudo nano /etc/logrotate.d/squid
/var/log/squid/*.log {
    weekly
    rotate 4
    compress
    delaycompress
    missingok
    notifempty
    create 640 proxy proxy
    sharedscripts
    postrotate
        systemctl reload squid >/dev/null 2>&1 || true
    endscript
}

ELK や Grafana+Prometheus などのツールを使用してログを分析します。.

DanteでSOCKS5を設定する

SOCKSを必要とするアプリケーションの場合、 ダンテ それは良い選択肢です。.

インストールとセットアップ:

sudo apt install dante-server -y

/etc/danted.confの例:

logoutput: syslog
internal: 0.0.0.0 port = 1080
external: eth0
method: username none
user.privileged: proxy
user.notprivileged: nobody
client pass {
    from: 203.0.113.0/24 to: 0.0.0.0/0
    log: connect disconnect error
}
pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    protocol: tcp udp
    log: connect disconnect error
}
sudo systemctl restart danted
sudo systemctl enable danted

curl を使用したテストの例:

curl --socks5-hostname 127.0.0.1:1080 https://checkip.amazonaws.com

Nginx をリバースプロキシおよび TLS 終端として構成する

Nginx は、プロキシ管理ページやプロキシの背後にあるアプリケーションの TLS 終了をホストするために使用できます。.

サーバー ブロックの例:

server {
    listen 80;
    server_name proxy.example.com;
    location / {
        proxy_pass http://127.0.0.1:3128;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Certbot を使用して TLS 証明書を取得するには:

sudo certbot --nginx -d proxy.example.com

ファイアウォール、セキュリティ、監視

セキュリティのために、nftables または ufw、fail2ban、ログ記録と監視を使用します。.

基本的なnftablesルールの例:

sudo nft add table inet filter
sudo nft 'add chain inet filter input { type filter hook input priority 0 ; policy drop; }'
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter input iif lo accept
sudo nft add rule inet filter input tcp dport 22 accept
sudo nft add rule inet filter input tcp dport 3128 accept # squid
sudo nft add rule inet filter input tcp dport 1080 accept # dante
sudo nft add rule inet filter input icmp type echo-request accept

適切なツールを使用してパフォーマンス監視と攻撃検出を実装します。.

特定のアプリケーション(トレーディング、ゲーム、AI、レンダリング)に関する実用的なヒント

トレーダー向け: ブローカー サーバーに近い場所にあるサーバーを選択し、ホワイトリスト用に固定の送信 IP を使用し、接続が重要な場合は Anti-DDoS を有効にします。.

ゲーマー向け: 高速ネットワークとゲームサーバーに近い場所にある VPS を選択し、BBR を有効にします。

sudo sysctl -w net.core.default_qdisc=fq
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr

設定を永続的にするには、値を次のように設定します。 /etc/sysctl.conf 追加。.

AIとレンダリングの場合: より大きなキャッシュと NVMe ディスクを使用してデータセットをダウンロードし、分散推論にクラウド GPU を活用します。.

運用および保守業務

重要なメンテナンスのヒント:

  • 定期的なパッケージ更新: sudo apt update && sudo apt upgrade -y
  • セキュリティ パッチ、ログのレビュー、構成のバックアップ。.
  • 迅速な構成とロールバックには、Ansible などの自動化ツールを使用します。.
  • curl/wget を使用してサービスを定期的にテストし、稼働時間監視を設定します。.

複数の場所でクラウド インフラストラクチャを使用する理由は何ですか?

ユーザーまたは宛先サーバーの近くにプロキシを配置すると、pingが低減し、地理的な制御が向上します。CDN、BGP、Anti-DDoSを使用すると、パフォーマンスとセキュリティが向上します。.

最終的なセキュリティ推奨事項

重要なセキュリティのヒント:

  • 認証なしでパブリック プロキシを開いたままにしないでください。.
  • IP および時間ベースの制限を適用します。.
  • 不正行為を検出するには、監視と警告が不可欠です。.
  • 機密性の高いアプリケーションには、Anti-DDoS とプライベート ネットワークを使用します。.

結論

このガイドでは、インストールと設定 イカ HTTP/HTTPSの場合、セットアップ ダンテ SOCKS5とセットアップについて エングス リバースプロキシとTLSについて解説しました。また、ファイアウォール、ログ、そしてトレーディング、ゲーム、AIに関する実践的なヒントについても解説しました。.

よくある質問

あなたも気に入るかもしれない