24 posts categorized "Raspberry Pi"

Feb 20, 2014

webalizser Ziproxy log解析

webalizerZiproxyのaccess log解析をするよう設定しました。

環境:Raspberry Pi  wheezy

--Wbalizser
http://www.webalizer.org/


--Ziproxy

http://ziproxy.sourceforge.net/


--webalizserのインストール
$ sudo apt-get update
$ sudo apt-get install webalizer


--Ziproxy用webalizer.confファイルの作成

$ cd /etc/webalizer
$ sudo cp webalizer.conf webalizer-ziproxy.conf
$ sudo vi webalizer-ziproxy.conf

----
LogFile /var/log/ziproxy/access.log
LogType squid
OutputDir /home/www/webalizer-ziproxy
HistoryName     webalizer-ziproxy.hist

Incremental yes
IncrementalName webalizer-ziproxy.current

ReportTitle Ziproxy Access log
HostName        www.hogehoge.com
HTMLExtension  html
----


--解析結果を出力するフォルダ作成

$ sudo mkdir -p /home/pi/www/webalizer-ziproxy
$ sudo chown pi:pi /home/pi/www/webalizer-ziproxy


--解析の実行

$ sudo /usr/bin/webalizer -c /etc/webalizser/webalizer-ziproxy.conf


--cron(自動実行)へ登録

$ sudo vi /etc/crontab
----
5 * * * * root /usr/bin/webalizer -c /etc/webalizer/webalizer-ziproxy.conf
----
毎時5分にWebalizser-ziproxy.confを実行

squidのlog解析に比べ、若干情報が欠損しているような気もしますが、
一応解析結果を表示できるようになりました。


過去記事
--画像圧縮プロキシー Ziproxy

--Ziproxy logrotate

--VL5 アクセスログ解析 Webalizer

--VL5 Squid アクセスログ解析

ブログランキング にほんブログ村 IT技術ブログへ

| | Comments (0) | TrackBack (0)

Feb 18, 2014

Ziproxy logrotate

Ziproxyのアクセスログをローテーション(logrotate)するよう設定しました。

環境:Raspberry Pi wheezy

--Ziproxy用のローテーションファイルを作成する
$ cd /etc/logrotate.d
$ sudo vi ziproxy

----
/var/log/ziproxy/access.log {
weekly
missingok
rotate 5
compress
delaycompress
notifempty
create 0640 root root
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/ziproxy/ziproxy.pid 2> /dev/null` 2> /dev/null || true
endscript
}
----
*1週間毎に5つのlogファイルを作成


--logrotate.conf の設定確認

$ sudo cat /etc/logrotate.conf
----
weekly

rotate 4

create

include /etc/logrotate.d

/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0660 root utmp
    rotate 1
}
----


--logrotatedサービスの再起動

と思ったのですが、デーモンではなくcronと組み合わせて実行されているそうです。

Ziproxyのアクセスログは、webalizerで解析は可能なのでしょうか。
次回は、webalizserで解析可能か挑戦してみます。



過去記事

--ログローテーション logrotate

--イベントログ ログローテッド

--Windows Syslog Server

--cron 動作しない


ブログランキング にほんブログ村 IT技術ブログへ
安心の電話によるサポート!!
WADAXレンタルサーバー

| | Comments (0) | TrackBack (0)

Feb 17, 2014

画像圧縮プロキシー Ziproxy

Raspberry Piに画像を圧縮してくれるプロキシー”Ziproxy”をインストール
しました。

--Ziproxy
http://ziproxy.sourceforge.net/
http://sourceforge.jp/projects/sfnet_ziproxy/


--Ziproxyをインストール

$ sudo apt-get update
$ sudo apt-get install ziproxy  # 3.2.0-2がインストールされました


--ziproxy.conf の編集

$ sudo vi /etc/ziproxy/ziproxy.conf
----
Port = 8081  # squidの3128とバッティングしないように設定

## Logs
ErrorLog = "/var/log/ziproxy/error.log"
AccessLog = "/var/log/ziproxy/access.log"

## Local Proxy (Squid)設定
NextProxy="127.0.0.1"
NextPort=3128
TransparentProxy = true

MaxSize = 0  # 圧縮対象のファイルサイズ 0で無制限

ImageQuality = {30,25,25,20}  # 圧縮時の画質 ディフォルト値
----


--ログファイルの作成

$ sudo mkdir /var/log/ziproxy
$ sudo touch /var/log/ziproxy/error.log
$ sudo touch /var/log/ziproxy/access.log
$ sudo chown -R ziproxy:ziproxy /var/log/ziproxy


--Ziproxyの再起動

$ sudo service ziproxy restart
もしくは
$ sudo /etc/init.d/ziproxy restart


--Ziproxyポート Port8081解放

$ sudo ufw allow 8081

実際にZiproxyをProxyに設定してアクセスしてみたところ、画質はそこそこに、
通信データ量が減少していることが分かります。
普段使用している携帯端末 iPod touchでは、十分な画質な感じがします。
出先では、iPod touch -> VPN(自宅)-> Ziproxy 経由でインターネットを
閲覧したいと思います。


過去記事

--Raspberry Pi / Squid(Proxy Server)

--Proxy自動設定 pacファイル

--アクセス制限回避

--Googleプロキシサーバ


ブログランキング にほんブログ村 IT技術ブログへ
おいしい天然水.com

| | Comments (0) | TrackBack (0)

Feb 14, 2014

cron 動作しない

Raspberry Piにて、cronが動作していないようなので調査しました。

--環境
・Raspberry Pi:wheezy

1.cronの動作確認
$ sudo service cron status
[ ok ] cron is running.

もしくは
$ sudo /etc/init.d/cron status
[ ok ] cron is running.


2.OS起動時にcronが起動しているか確認

$ sudo chkconfig --list cron
cron  0:off  1:off  2:on   3:on   4:on   5:on   6:off


3.cronのログの確認

$ cat /var/log/syslog

root権限でシェルを実行するよう設定している場合
$ cat /var/log/syslog | grep root


4.実行するシェルスクリプトの権限確認

例)/root/test.sh  を設定している場合
権限(パーミッション)の確認
$ sudo ls -l /root | grep test.sh

実行権限を付与する
$ sudo chmod 755 /root/test.sh
もしくは
$ sudo chmod 711 /root/test.sh
など

調査した結果、今回は/etc/crontab内の表記ミスでした。

--crontabの編集方法
$ sudo corontab -e  (標準:nanoが起動します)

viでの編集に慣れているので、
$ sudo vi /etc/crontab


過去記事

--Cron スケジューリング

--Raspberry Pi / DDNS(free DDNS) 自動更新

--Windows版 cron

参考ページ
http://d.hatena.ne.jp/natsumesouxx/20100313/1268479064

ブログランキング にほんブログ村 IT技術ブログへ


月額料金490円~の業界最安値VPS

| | Comments (0) | TrackBack (0)

Jan 29, 2014

Raspberry Pi / DDNS(free DDNS) 自動更新

Raspberry Piにて、以前設定したDDNS(freeDNS)のIPアドレスを自動更新する
スクリプトが動作していないようなので、見直しを行いました。

--FreeDNS
http://freedns.afraid.org/

上記サービスにログイン後、[Dynamic DNS] - "quick cron example"をクリックし、
参考にcronに登録しました。


$ sudo vi /etc/crontab

----
4,9,14,19,24,29,34,39,44,49,54,59 * * * * sleep 13 ; wget -O - http://freedns.afraid.org/dynamic/update.php?XXX任意の文字列XXXX= >> /tmp/freedns_www_hogehoge_com.log 2>&1 &
----
*ディフォルトでPATHは通っているようなので、追加・変更無し
*要wgetのインストール $ sudo apt-get install wget

-- 追記  2014/2/14 --
上記の追加をして依頼、cronが正常に動作しなくなりました。
以下の通り修正しました。

$ sudo vi /etc/crontab
----
*/15 * * * * root wget -O - http://freedns.afraid.org/dynamic/update.php?XXX任意の文字列XXXX= >> /tmp/freedns_www_hogehoge_com.log 2>&1 &
----
*15分おきにroot権限にて実行

問題なく動作するようになりました。
---------------------

動作としては、5分おきにFreeDNSのサイトにアクセスをして、グローバルIP
アドレスを更新するようです。
ちゃんと動作してくれるとよいのですが。


過去記事

--Raspberry Pi / DDNS(free DDNS)

--FreeDNS 自動IPアドレス更新

--独自ドメイン取得


| | TrackBack (0)

Aug 19, 2013

Raspberry Pi / ufw(Uncomplicated FireWall)

iptablesの簡易フロントエンドとして開発されているファイアウォール
ufw”の設定方法をまとめます。

・2013-02-09-wheezy-raspbian

--UFW - Community Ubuntu Documentation
https://help.ubuntu.com/community/UFW


--ファイアウォールの on

$ sudo ufw enable


--ファイアウォールのoff

$ sudo ufw disable


--ディフォルト設定(全ての通信を遮断する)

$ sudo ufw default DENY


--通信許可ポートの設定

$ sudo ufw allow | deny [service]

・サービス名で設定
$ sudo ufw allow ssh

・ポート番号で設定
$ sudo ufw allow 22

・ポート番号とプロトコルで設定
$ sudo ufw allow 22/tcp
$ sudo ufw allow 22/udp

・アプリケーション名で設定(/etc/ufw/application.d/に定義ファイルがあれば)
$ sudo ufw allow Samba

・制御可能アプリの一覧確認
$ sudo ufw app list

・接続頻度を制限する
$ sudo ufw limit ssh

・特定の IP との通信を許可する
$ sudo ufw allow from [IP Address]

・ポート単位・アプリケーション単位での制御
$ sudo ufw from [IP Address] to any port [service]

・不要になった設定の削除
$ sudo ufw delete allow | deny [service]


--その他 コマンド

・設定(開いているポートとルール)の確認
$ sudo ufw status

・設定の再読み込み
$ sudo ufw reload

・ログの作成
$ sudo ufw logging off | low | medium | high | all
* low 設定で十分とのこと /var/log/syslog 参照

・ヘルプの表示
$ sudo ufw help



設定例)

$ sudo ufw disable (ファイヤーウォール無効)
$ sudo ufw default DENY (全ての通信遮断)

$ sudo ufw limit 22 (ssh アクセス制限付き)
$ sudo ufw allow 80 (nginx)
$ sudo ufw allow 443 (nginx https)
$ sudo ufw from 192.168.XXX.XXX/24 to any port 3128 (squid LANから)
$ sudo ufw from 192.168.XXX.XXX/24 to any port 53/udp (DNSリクエスト LANから)

$ sudo ufw enable (ファイヤーウォール有効)
$ sudo ufw status  (ufw ステータス確認)


過去記事
--Raspberry Pi / Dnsmasq(簡易DNSサーバー)

--Raspberry Pi / Vsftpd(FTPサーバー)

参考ページ
http://ubuntu-note.blog.so-net.ne.jp/2010-12-04
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0076?page=2

ブログランキング にほんブログ村 IT技術ブログへ

| | Comments (0) | TrackBack (0)

Aug 17, 2013

Raspberry Pi / ClamAV(アンチウィルス)

無料で使用可能なアンチウイルスソフト”ClamAV”をインストールしました。

・2013-02-09-wheezy-raspbian


--Clam AntiVirus

http://www.clamav.net/lang/en/

--ClamAVのページ

http://clamav-jp.sourceforge.jp/


--インストール

$ sudo apt-get update
$ sudo apt-get install clamav

*0.97.8+dfsg-1_armhf がインストーされました。


--clamd.conf ファイルの編集

$ sudo vi /etc/clamav/clamd.conf
----
#User clamav ← #を追加(root権限で動作するようにする)
----


--clamav-freshclamの再起動

$ sudo service clamav-freshclam restart
もしくは
$ sudo /etc/init.d/clamav-freshclam restart


--ウィルスデータベース更新

$ sudo freshclam  <-手動更新
$ sudo freshclam -d -c 24  <-デーモンとして実行 24回/1日 更新


--定期スキャンの設定

/home をスキャンするスクリプトを作成
$ sudo vi /etc/clamscan.sh
----
#!/bin/sh
# clamscan script

CLAMSCAN='/usr/bin/clamscan'
echo "clamscan start "`date '+%Y%m%d'`
$CLAMSCAN --infected --remove --recursive /home/ -l /var/log/clamav/clamav.log -i -r ~ > /dev/null 2>&1
----
$ sudo chmod 755 clamscan.sh <-実行権限を付与

cron登録
$ sudo vi /etc/crontab
----
7 2 * * * root /etc/clamscan.sh > /dev/null 2>&1
----
毎日2時7分に実行

ウィルスの検出率は、市販されているアプリに比べると劣るとの噂です。


過去記事

--Ecolinux ClamAV

--VL5 Clam AntiVirus

参考ページ
http://clamav-jp.sourceforge.jp/jdoc/clamav.html
http://www.ronnutter.com/raspberry-pi-clamav-antivirus-install/
http://www.atmarkit.co.jp/flinux/prodreview/tool_clamav/clamav.html
http://aikichi.jp/server_memo/memo18_clamav.html

ブログランキング にほんブログ村 IT技術ブログへ

Webビジネスを変える「Yahoo!リスティング広告」

| | Comments (0) | TrackBack (1)

Aug 07, 2013

Raspberry Pi / Vsftpd(FTPサーバー)

公開する予定はないのですが、家庭内でPaspberry Piとファイル交換を
行うためにVsftpdをインストールしました。Sambaでもよかったのですが。。。

・2013-02-09-wheezy-raspbian

--vsftpd
https://security.appspot.com/vsftpd.html


--Vsftpdインストール

$ sudo apt-get update
$ sudo apt-get install vsftpd

*2.3.5-3 がインストールされました。

--vsftpd.conf の編集
$ sudo service vsftpd stop
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf-ORG
$ sudo vi /etc/vsftpd.conf

---- 変更箇所
anonymous_enable=NO  #匿名ユーザー(anonymous)のログイン禁止

local_enable=YES  #ローカルユーザーを許可

write_enable=YES  #書き込み許可

local_umask=022  #ファイル作成時のパーミッション755

## アクセスディレクトリ関係
chroot_local_user=YES #ローカルユーザの制限
chroot_list_enable=YES  #リストにより制限を行う
chroot_list_file=/etc/vsftpd.chroot_list  #リストのパス

## ユーザ制限関係
userlist_enable=YES  #ユーザ制限
userlist_deny=NO  #リストに書かれていないユーザは制限
userlist_file=/etc/vsftpd.user_list  #ユーザリストのパス

----


--アクセスディレクトリ ユーザーリストの作成

$ sudo echo user_name >> /etc/vsftpd.chroot_list


--ユーザー制限リストの作成

$ sudo echo user_name >> /etc/vsftpd.user_list


--FTP用ポート Port21解放

$ sudo ufw allow 21


--Vsftpdの起動

$ sudo service vsftpd start
もしくは
$ sudo /etc/init.d/vsftpd start


--ユーザーを作成する

ディフォルトユーザー”pi”は、root同様なのでログインができません。
アクセスできるユーザーを作成しました。

$ sudo useradd User_name
$ sudo passwd
User_name
Enter new UNIX password:
Retype new UNIX password:
$ sudo mkdir -p /home/User_name
$ sudo chown User_name:User_name /home/User_name


過去記事

--Raspberry Pi / Nginx + SSL(オレオレ証明書)

--Raspberry Pi / Dnsmasq(簡易DNSサーバー)

--Raspberry Pi / BASIC認証(Nginxに導入)

--Raspberry Pi / Munin(システム監視 )

参考ページ
http://baticadila.dip.jp/rpi_007.html

ブログランキング にほんブログ村 IT技術ブログへ

| | Comments (0) | TrackBack (0)

Aug 06, 2013

Raspberry Pi / Nginx + SSL(オレオレ証明書)

第三者機関ではなく、自分自身のサーバー上で作成した
証明書(通称:オレオレ証明書)を使った、SSL通信環境の構築を行いました。
サーバーの組み合わせは、Nginx + SSL(OpenSSL)です。

・2013-02-09-wheezy-raspbian


--SSL通信を行うための秘密鍵、公開鍵、証明書の作成

$ sudo mkdir -p /etc/nginx/ssl

$ cd /etc/nginx/ssl

$ sudo openssl genrsa -out server.key 2048 #秘密鍵の作成
$ sudo openssl req -new -key server.key -out server.csr #公開鍵の作成
$ sudo openssl rsa -in server.key -out server.key
$ sudo openssl x509 -req -days
3650 -in server.csr -signkey server.key -out server.crt  #証明書の作成
---
1.秘密鍵の作成
2.公開鍵の作成
3.パスフレーズなしにする
4.証明書作成(3650:有効期間(日))

秘密鍵(server.key)
公開鍵(server.csr)
証明書(server.crt)

--$ sudo openssl req -new -key server.key -out server.csr 応答例)
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Katsushika-ku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:RP
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:RP.naonao.com
Email Address []:hoge_hoge@gmail.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:PASSWD
An optional company name []:PASSWD
----


--Nginxの設定を変更する

$ sudo vi /etc/nginx/sites-available/default
----
server {

    listen 80;
    listen 443 ssl;

    server_name localhost;

## SSL対応
    ## ssl on; <-全てのポートでSSL通信にする場合

    ssl_certificate /etc/nginx/ssl/server.crt; ##証明書   
    ssl_certificate_key /etc/nginx/ssl/server.key;
  ##秘密鍵

    root /home/pi/www;
    index index.html index.htm;

    location / {
            try_files $uri $uri/ /index.html;
    }

    location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                allow ::1;
                deny all;
     }
}
----

--Nginxを再起動する
$ sudo service nginx restart
もしくは
$ sudo /etc/init.d/nginx restart

Webブラウザより、https://hoge-server.com/ などとアクセスすると、
接続の安全性を確認できません」(Firefoxの場合)と表示されます。

「危険性を理解した上で接続するには」 -> 例外を追加
セキュリティ例外を承認”ボタンを押す。

簡易的ですが、通信が暗号化(SSL通信)が可能になりました。


過去記事

--Raspberry Pi / Nginx(Web Server)

--Raspberry Pi / BASIC認証(Nginxに導入)

--Apache 2.2 SSL通信設定

--WebDAV over SSL

--玄箱 mod_ssl (1)


参考ページ
http://rails.soracid.com/120
http://nginx.org/ja/docs/http/configuring_https_servers.html
http://d.hatena.ne.jp/ria10/20130612/1371037762
http://tkuchiki.hatenablog.com/entry/2013/04/09/131326

ブログランキング にほんブログ村 IT技術ブログへ

おいしい天然水.com

| | Comments (0) | TrackBack (0)

Aug 05, 2013

Raspberry Pi / Squid (User-Agent)

Squidを経由するとヤフーサイトのレイアウトが崩れる対応策が分かりました。
セキュリティを高めるため(匿名性を上げるため)ユーザーエージェント
非表示”に設定していたのですが、その影響があった模様。サイトに
よって(ヤフーなど)アクセス時にユーザーエージェントを識別して、
PC用表示、スマフォ(携帯用)表示を自動切換えしているようです。
ブラウザのユーザーエージェントを非表示にすると、スマフォ(携帯)扱いで
シンプルなサイトに、レイアウトが崩れたように表示されていました。

・2013-02-09-wheezy-raspbian

ユーザーエージェントを表示させる
$ sudo vi /etc/squid/squid.conf
----
## ユーザーエージェントの非表示
# header_access User-Agent deny all

## header_access User-Agent deny all をコメントアウト 削除でもOK
----

--Squidの再起動
$ sudo service squid restart

もしくは

$ sudo /etc/init.d/squid restart


--確認くんの結果
header_access User-Agent deny all  #の場合
ブラウザーとOS:(none)

User-Agent の設定無しの場合
ブラウザーとOS:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0

この設定にすることにより、ヤフーサイトは通常表示に戻りました。
キャッシュうんぬんは関係なかったようです。


--/etc/squid/squid.conf 最終形

# ACL関連

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl localnet src 192.168.**.0/24

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 manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localhost
http_access allow localnet
http_access deny all

## キャッシュしない
no_cache deny all


# 指定 URLリストのファイルを blacklistと定義

acl blacklist url_regex "/etc/squid/blacklist.txt"

# blacklistのアクセスを拒否
http_access deny blacklist


## Squidの動作ポート ディフォルト値

http_port 3128

## IPアドレスのキャッシュ数 ディフォルト値
ipcache_size 1024


# MEMORY CACHE OPTIONS

cache_mem 16 MB
maximum_object_size_in_memory 32 KB

## cache_dir ufs /var/spool/squid 512 16 256
## ↓ キャッシュしない設定

cache_dir null /dev/null

minimum_object_size 0 KB
maximum_object_size 4096 KB


# LOGFILE OPTIONS

logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /var/log/squid/access.log squid

## キャッシュログを取得しない
cache_store_log none

logfile_rotate 0
pid_filename /var/run/squid.pid


# セキュリティ/匿名性を高めるオプション
## ホスト名の非表示

visible_hostname unknown

## プロキシサーバーへの接続元IPアドレスの非表示
forwarded_for off

## 参照元URLの非表示
header_access Referer deny all

## ユーザーエージェントの非表示
# header_access User-Agent deny all

----

Squidの設定もなかなか奥が深いものです。


過去記事
--Raspberry Pi / Squid キャッシュしない

--Raspberry Pi / Squid(Proxy Server)


ブログランキング にほんブログ村 IT技術ブログへ

月額料金490円~の業界最安値VPS

| | Comments (0) | TrackBack (0)