aptitudeを使っていると自動的に依存関係を考慮して必要なパッケージを自動で入れてくれたりする。
で、もう使わなくなったパッケージを削除したりするときも、依存関係から使わないパッケージを削除してくれたりする。
が、このとき設定ファイルだけ残すことが多々ある。
これはremoveで削除した場合の挙動がそうだし、対象パッケージから依存関係をたどって自動削除されたパッケージでもそうだ。
aptitudeで検索したりするときに、パッケージ名より前にpとかiとかついているのをみるだろう。
それはパッケージの状態を示すフラグだ。
各フラグは以下のような意味を持つ。
第 1 文字 p システムにパッケージが存在した形跡がないという意味 c パッケージが削除されたがシステムに設定ファイルが残っているという意味 i パッケージがインストールされているという意味 v パッケージが仮想パッケージであるという意味 第 2 文字 パッケージに対して行うよう保存されたアクションを示します (アクションが存在する場合で、なければ空欄が表示されます) i パッケージがインストール予定であるという意味 d パッケージが削除予定であるという意味 p パッケージおよびその設定ファイルが削除予定であるという意味 第 3 文字が A である場合、そのパッケージは自動的にインストールされたものです。
で、結構ごちゃごちゃあれこれしてると設定ファイルだけ残ってて明らかにもう二度と使わないものとかが出てきたりする。
要するに1文字目がcのやつ。
これをまとめて消し去りたいときは以下のようにするといい。
# aptitude purge '~c'
やるまえに一応search ‘~c’で検索して問題ないか確認しておくといい。
SOCKSはまあいうなればなんでもプロキシサーバ。
ここではdanteの設定を取り扱う。
2012/03/15色々修正
debianではdante-serverパッケージがあるのでそれをインストール。
設定は/etc/danted.confになる。
以下の設定では、ログはファイルを指定して出力。
syslogや標準出力なんかも使えるし、同時指定もできる。
接続の受付はeth0のポート1080、受け付けた接続をリレーする際のIPアドレスも同様にしている。
受付と出力のnicを変えたい場合は別々のnicを指定すればいいんだと思う。
認証はPAMで行うようにしてる。
あとはアクセス制御。
tcp, udpを許可。
# ログの出力先
logoutput: /var/log/socks/socks.log
# 待ち受けnic
internal: eth0 port = 1080
# 出力nic
external: eth0
# 認証方法
method: pam
# 非権限ユーザで実行
user.notprivileged: nobody
# 許可するクライアント設定
client pass {
from: 192.168.1.0/24 port 1-65535 to: 0.0.0.0/0
}
client pass {
from: 127.0.0.1/32 port 1-65535 to: 0.0.0.0/0
}
client block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
# 許可するトラフィック設定
block {
from: 0.0.0.0/0 to: 127.0.0.0/8
log: connect error
}
pass {
from: 192.168.1.0/24 to: 0.0.0.0/0
protocol: tcp udp
}
pass {
from: 127.0.0.1/32 to: 0.0.0.0/0
protocol: tcp udp
}
block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
HTTP Proxyといえばsquidだろう。
っていうことでメモ。
ここでは匿名プロキシの設定をすることとする。
ユーザ認証のアクセスコントロールや細かい設定は別ファイルに記述するとして、基本部分は/etc/squid3/squid.confに記述。
squid.confではアクセスを許可するのはマネージャとローカルホストからのアクセスのみとする。
acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 acl SSL_ports port 443 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 acl CONNECT method CONNECT http_access allow manager localhost http_access deny to_localhost include /etc/squid3/acl.conf http_access deny all icp_access deny all htcp_access deny all http_port 3128 hierarchy_stoplist cgi-bin ? access_log /var/log/squid3/access.log squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern (cgi-bin|\?) 0 0% 0 refresh_pattern . 0 20% 4320 icp_port 3130 coredump_dir /var/spool/squid3 include /etc/squid3/misc.conf
ユーザ認証部
/etc/squid3/acl.confで行っている。
認証にはPAMを使用。
PAM認証を通ったものだけHTTPアクセスを認める。
auth_param basic program /usr/lib/squid3/pam_auth auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours acl password proxy_auth REQUIRED http_access allow password
その他の設定
/etc/squid3/misc.conf
キャッシュを行わないようにする。
また、HTTP_VIA等の出力を抑制して匿名プロキシとして動作させる。
HTTP_ACCEPTをIEのまねっこさせておく。
acl nocache src all no_cache deny nocache header_replace Accept application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, */* email_err_data off via off forwarded_for off buffered_logs on httpd_suppress_version_string on
こんな感じで認証要求型匿名プロキシができあがり。
ちなみに、認証にはPAM以外もいろいろと利用できる。
debianではsquid3をaptでインストールすると、/usr/lib/squid3以下に認証用のシェルスクリプトやperlスクリプトがおいてある。
squidの認証部分では、それを実行して、ユーザ名とパスワードを入力した返値を参照して認証している。
従って、実際に認証が通るかどうかは実際にたたいて試してみればわかる。
/usr/lib/squid3/pam_auth test password OK
みたいな感じ。

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 