#author("2020-01-02T10:00:52+00:00","default:sagasite","sagasite")
[[Program]] > [[Network]] > [[セキュリティー]] > Squid

#contents

//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* Squidとは? [#wde4b978]
[[プロキシ]](代理)サーバーのソフト。

-Squid (ソフトウェア) - Wikipedia https://ja.wikipedia.org/?curid=335675
>Squid(スクウィッド)はプロキシ (Proxy) サーバ、ウェブキャッシュサーバなどに利用されるフリーソフトウェア。GPLでライセンスされている。

** 公式サイト [#x89686f9]
-squid : Optimising Web Delivery http://www.squid-cache.org/

//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* リファレンス / チュートリアル [#ef6cde91]
-Squid configuration directives http://www.squid-cache.org/Doc/config/

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

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

**yumで入れる [#f5c08985]
 yum -y install squid

Squidのバージョン確認
 squid -v

**Squidの設定ファイルを編集する [#ge9a6f52]
 vi /etc/squid/squid.conf

***設定項目の事例 [#wa64ebc7]
//#code(squid){{{
#code(bash){{{
# デフォルトはほとんどいじらないので省略

# アクセスを許可したいアドレス
# デフォルトでプライベートアドレスは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

**ファイアーウォールの設定 [#r49456c9]
ファイアーウォールを設定する。
これをちゃんとやらないと第三者に踏み台にされてしまう。
 vi /etc/sysconfig/iptables

***iptablesの設定例 [#k4e9953d]
#code(apache){{{
: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

**認証の設定 [#uc59f64e]
(参考)
-CentOS6にsquidでプロキシサーバを立てる - 人生シーケンスブレイク https://shinespark.hatenablog.com/entry/2016/06/03/080000

**Squidの起動と停止のコマンド [#s101906e]
-Squid の起動と停止 https://www.turbolinux.co.jp/products/server/11s/user_guide/squidinit.html

***squidを起動するコマンド [#ic10f08c]
 /etc/init.d/squid start
または
 service squid start

***squidを停止するコマンド [#o6f2fe85]
 /etc/init.d/squid stop
または
 service squid stop

***squidの動作状況を確認するコマンド [#z1522312]
 service squid status

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

**ブラウザーの設定 [#w823ff9f]

***Chromeでプロキシサーバーを設定する場合 [#gdbdffb3]
(参考)
-Google Chromeの起動時のページとプロキシ、検索エンジンを設定する:Google Chrome完全ガイド - @IT https://www.atmarkit.co.jp/ait/articles/1801/15/news037.html
-Chromeでプロキシを設定する方法をご紹介! | Aprico https://aprico-media.com/posts/3823
-Google Chromeでプロキシを使う方法(Chromeのみ・OS全体) - [開発環境 ツール類/プログラム全般] ぺんたん info http://pentan.info/program/tools/google_chrome_proxy.html

Windowsパソコンの場合、[コントロールパネル] → [ネットワークとインターネット] → [インターネットオプション] → [インターネットプロパティ] → [接続] → [LANの設定] → [プロキシサーバー] → [LANにプロキシサーバーを使用する]を選ぶ。
アドレスとポートの欄に値を入力する。
-アドレス:接続先のプロキシサーバーのIPアドレス
-ポート:プロキシサーバーで設定したポート番号(上記の例なら「12345」)

***接続先のプロキシサーバーのIPアドレスを調べる方法 [#i2499a75]
Windowsパソコンで調べる場合、コマンドプロンプトで「nslookup」コマンドを打ち、接続先のサーバーのIPアドレスを調べることができる。
 nslooup 接続先のサーバ名(yahoo.co.jp など) 

(参考)
-接続先IPアドレスの確認について | EX-CLOUDサポート 《格安クラウドVPS, レンタルサーバー,WordPressのホスティング》 https://ex-cloud.jp/support/question/g-725

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

//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* Tips [#l0f7c49b]

//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* 参考書 [#taffab3d]
#html{{
<!--
<td> </td>

<hr>
-->
}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS