ProgramNetworkセキュリティー > Squid

Squidとは?

プロキシ(代理)サーバーのソフト。

  • Squid (ソフトウェア) - Wikipedia https://ja.wikipedia.org/?curid=335675

    Squid(スクウィッド)はプロキシ (Proxy) サーバ、ウェブキャッシュサーバなどに利用されるフリーソフトウェア。GPLでライセンスされている。

公式サイト

リファレンス / チュートリアル

参考サイト

タイトル/URL更新日評価
Centos7でsquidを立てる - Qiita https://qiita.com/ota42y/items/6d8b2279d6456ff389a02016-01-06手短にまとまっているが説明は薄い
CentOS 7 (64bit)でのSquid構築方法 - Qiita https://qiita.com/t-morisoba/items/e18a566673cea6499d1e2017-09-29ファイヤーウォールの説明がない
5分で作るPROXYサーバー - Qiita https://qiita.com/pcnikki/items/404329f9ad9cb6e235d42015-10-16ファイヤーウォールの説明あり。これを基本にすれば良い?
CentOS6にsquidでプロキシサーバを立てる - 人生シーケンスブレイク https://shinespark.hatenablog.com/entry/2016/06/03/0800002016-06-03BASIC認証の説明もあり

インストール

  • ネットを安全に閲覧するためのフォワードプロキシをレンタルサーバーなどに設置したい。
  • CentOSにSquidをインストールして設定する方法をメモ。
  • サーバーにSSHでログインしてリモート操作を行う。

yumで入れる

yum -y install squid

Squidのバージョン確認

squid -v

Squidの設定ファイルを編集する

vi /etc/squid/squid.conf

設定項目の事例

  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
# デフォルトはほとんどいじらないので省略
 
# アクセスを許可したいアドレス
# デフォルトでプライベートアドレスはA~Cまで許可済み
# 今回は外部のサーバにWebプロキシを立てるので書く
acl myadress src x.x.x.x/255.255.255.255
http_access allow myadress
http_access deny all
 
# 匿名性をあげる設定
# ローカルのIPアドレスを隠蔽
forwarded_for off
# リクエストヘッダのプロキシ情報を隠蔽
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
 
# Refererを切ると一部のサイトではおかしくなったりするので、
# 匿名プロキシじゃないと困る場合以外は設定しない方が良い
# request_header_access Referer deny all
 
# サーバのホストネームを入れる
visible_hostname example.com
 
# ポートを変更(デフォルトは3128)
http_port 12345
 
# キャッシュさせたくないのでOFF
no_cache deny all

自分のIPアドレスは「確認くん」などで調べることができる。
https://www.ugtop.com/spill.shtml

ファイアーウォールの設定

ファイアーウォールを設定する。
これをちゃんとやらないと第三者に踏み台にされてしまう。

vi /etc/sysconfig/iptables

iptablesの設定例

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:FWINPUT - [0:0]
-A INPUT -j FWINPUT
-A FORWARD -j FWINPUT
-A FWINPUT -i lo -j ACCEPT
-A FWINPUT -p icmp --icmp-type any -j ACCEPT
-A FWINPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# xxx.xxx.xxx.xxxは自身の接続元IPに置き換える
-A FWINPUT -p tcp -m tcp --dport 22 -s xxx.xxx.xxx.xxx -j ACCEPT
-A FWINPUT -p tcp -m tcp --dport 12345 -s xxx.xxx.xxx.xxx -j ACCEPT
-A FWINPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

ファイアーウォールを設定を適用する。

iptables-restore < /etc/sysconfig/iptables

認証の設定

(参考)

Squidの起動と停止のコマンド

squidを起動するコマンド

/etc/init.d/squid start

または

service squid start

squidを停止するコマンド

/etc/init.d/squid stop

または

service squid stop

squidの動作状況を確認するコマンド

service squid status

自動起動設定

Squidを自動的に起動させたい場合の設定を行うコマンド(手動で起動/停止させたいなら不要)

chkconfig squid on

ブラウザーの設定

Chromeでプロキシサーバーを設定する場合

(参考)

Windowsパソコンの場合、[コントロールパネル] → [ネットワークとインターネット] → [インターネットオプション] → [インターネットプロパティ] → [接続] → [LANの設定] → [プロキシサーバー] → [LANにプロキシサーバーを使用する]を選ぶ。
アドレスとポートの欄に値を入力する。

  • アドレス:接続先のプロキシサーバーのIPアドレス
  • ポート:プロキシサーバーで設定したポート番号(上記の例なら「12345」)

接続先のプロキシサーバーのIPアドレスを調べる方法

Windowsパソコンで調べる場合、コマンドプロンプトで「nslookup」コマンドを打ち、接続先のサーバーのIPアドレスを調べることができる。

nslooup 接続先のサーバ名(yahoo.co.jp など) 

(参考)

Squidの動作確認

「確認くん」で「あなたのIPアドレス」がプロキシサーバーのIPになっていれば成功。
http://www.ugtop.com/spill.shtml

Tips

参考書


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-09 (月) 23:21:26 (80d)