Zip.ExceededFileSize(ClamAV)

2005 年 9 月 20 日 コメント 1 件

うちでは、Debian(Sarge)でqmail + qmail-scanner + SpamAssassin + ClamAVでメールサーバのウイルスとスパムのチェックをしているわけですが、最近、必要なメールをClamAVがZip.ExceededFileSizeで検出してしまっているようなので設定変更。
と、その前にDebian(Sarge)でClamAVを使うには、
apt-lineへ以下の行を追加して

#ClamAV
deb http://ftp2.jp.debian.org/debian-volatile sarge/volatile main

海外の方は適当にミラーサイトを指定してください。
apt-get update
apt-get install clamav clamav-daemon unrar lha arj debconf-utils unzoo
ぐらいでインストールされるでしょう。
Debianはstableだとバージョンはあがらないので、オフィシャルのパッケージだと、パターンのアップデートでバージョンが古いよって警告がでてしまうし、そもそも古いのはダメでしょうということで、Debian volatile projectのを使いましょうということですね。
自分的にはオフィシャルが基本ですが、これだけはDebian volatile projectのを使ってます。
んで、問題の「Zip.ExceededFileSize」ですが、パッケージでインストールしている場合だと以下のようになっています。

/etc/clamav/clamd.conf
ArchiveMaxCompressionRatio 250

こいつを

/etc/clamav/clamd.conf
ArchiveMaxCompressionRatio 1000

ぐらいにしておきました。
他圧縮関係のデフォルト値では、

  • 再帰的に解凍・展開する際の深度の上限(5まで)
    ArchiveMaxRecursion 5
  • 圧縮ファイル内の最大ファイル数の上限(1000ファイルまで)
    ArchiveMaxFiles 1000
  • 回答・展開する圧縮ファイルの容量の上限(10Mまで)
    ArchiveMaxFileSize 10M
  • 解凍後の比率がこれより大きくなるときは、「Zip.ExceededFileSize」とする(250%以上)
    ArchiveMaxCompressionRatio 250
    他は以下の関連URL参照
    関連
    binary packages and ports(ClamAV)
    4.2.2.clamav.confの設定(ClamAVのページ)
    2005/09/26追記
    でっかいテキストをzipにしてると、まだ引っ掛かるようなので、以下のように変更しました。

    /etc/clamav/clamd.conf
    ArchiveMaxFileSize 100M
    ArchiveMaxCompressionRatio 1000
    

    2005/09/27追記
    さらにパラメータ変更、変更したパラメータは元に戻して
    ArchiveBlockMaxをコメントアウトして、規定以上の圧縮ファイルは検査しないことにして対応しました。

    /etc/clamav/clamd.conf
    ArchiveMaxFileSize 10M          ←元に戻す
    ArchiveMaxCompressionRatio 250  ←元に戻す
    #ArchiveBlockMax                ←コメントアウト
    
  • カテゴリー: Linux タグ:

    SPARC版 Sargeで、kernel 2.4→2.6へアップグレードした際のキーボード

    ということで、SPARC版は、kernel2.4でインストールしますが、2.6へアップグレードした際にキーボードがきなかくなります、リモートからログインできるのでいいですが、ちょっと困っていたところ、解決策がリリースノートにちゃんと書いてありました(^^;

  • リモートからSSHかなんかでログイン
  • dpkg-reconfigure console-data
  • Select keymap from full listpc を選択
    Debian GNU/Linux 3.1 (`sarge’) リリースノート (SPARC 用)
    5.2.1 キーボードの設定 の欄参照
  • カテゴリー: blog タグ:

    PHP4でMSSQLサーバと接続(Debian Sarge)

    DebianのPHP4でMicrosoftSQLServerと接続してるメモ

  • とりあえず、必要なものをインストール
    apt-get install apache2 php4 libapache2-mod-php4 php4-sybase
    

    php4-sybase がはいってればOK

  • SQLサーバとの接続設定(freetdsの設定)
    /etc/freetds/freetds.conf

    [サーバ名]
    host = サーバのIPアドレス
    port = 1433
    tds version = 7.0      (SQLServer6.5なら、4.2)
    charset = sjis
    client charset = eucjp
    language = japanese
    
  • 接続テスト
    $con = mssql_connect("サーバ名", "ログインID", "パスワード");
    mssql_select_db("DB名", $con);
    $sql  = "SELECT * FROM test";
    $rs   = mssql_query($sql, $con);
    $tmp  = mssql_result ($rs, 0, 0);
    print "Test : {$tmp}";
    mssql_close($con);
    
  • ハマリ
    SQLサーバ側のテーブルの定義でnvarcharの列がある場合、もってくるとなぜか半分のバイトになってちょんぎれたので、varcharとかにCASTで変換する必要がありました。
    $sql = “select NAME,cast(NAME as varchar(50)) from test”;
    前に全部ソースから入れてみてうまく行かなかったんですが、Debianのパッケージで全部すませたらあっさり繋がりました。
  • カテゴリー: Linux タグ:

    サクラエディタ(補完、HTMLヘルプ)

    某氏がサクラエディタのバージョンアップのことを書いておられるので便乗して、
    VisualStudioとかEclipseの補完がどんなかはあんまり使ったことないのでわからないですが、うちの場合は、PHPをサクラエディタでさわることがおおいので、以下のようにして補完とHTMLヘルプ呼び出しをしてます。
    サクラエディタからインストーラのパッケージをダウンロードしてインストールすれば、PHPのキーワードファイルも添付されているので、
    まず、タイプ別設定でPHPの項目を新規に作成して、
    作成したPHPのタイプ別設定「支援」プロパティで

  • 入力補完機能
    keywordPHP.KWD
  • キーワードヘルプ機能
    keywordphp.khp
  • 外部HTMLヘルプの設定
    php_manual_ja.chm
    PHPのchm形式のファイルは、このへんからダウンロード。
    以上の設定をして、

    Ctrl + Space で補完と候補表示
    F1 で HTMLヘルプ表示

    で使用可能です。
    補完はあんまり使わないけど、HTMLヘルプの呼び出しは重宝してます。
    PostgreSQLのchm形式のヘルプ欲しいのですが、どっかにないでしょうか?
  • カテゴリー: blog タグ:

    Windowsの時刻あわせ

    Windowsでの時刻あわせ(時刻の同期)メモ

  • Windows 9x/Me/NT
    net time \timeserver /set /yes
    
  • Windows 2000/XP
    net time /setsntp:SNTPSV
    複数ある場合(""でくくる)
    net time /setsntp:"SNTPSV1 SNTPSV2"
    確認
    net time /querysntp
    w32Timeサービスの起動(デフォルトは起動していると思いますが)
    net start W32Time
    
  • Windows XP
    コントロールパネル->日付と時刻->インターネット時刻のタブ
    
  • WindowsXPの場合ActiveDirectoryに参加するとDCと同期するように自動で設定されるので設定タブは表示されなくなります。
    参考
    NTPでネットワーク全体のマシンの時刻を合わせる(1)(@IT)
    NTPでネットワーク全体のマシンの時刻を合わせる(2)(@IT)
    W32Time サービスのレジストリ エントリ(Microsoft)
  • カテゴリー: Windows タグ:

    Apache2でクライアント証明書認証(Debian Sarge)

    2005 年 8 月 13 日 コメント 1 件

    Apache2でクライアント証明書認証(Debian Sarge)
    Debian(Sarge)のApache2とopensslを使って、独自CAを作成し、クライアント証明書を発行しその証明書で認証してみるメモ

  • とりあえずapache2のインストール
    openssl等必要なものは一緒にインストールされます。

    apt-get install apache2
    

    ◆独自認証局の作成

  • 認証局CAの作成
    今回作業用フォルダは/etc/sslを前提にしています。
    CA関係のファイルは/etc/ssl/CA
    サーバ証明書、クライアント証明書は/etc/apache2/ssl
    へそれぞれ入れることとします。

    cd /etc/ssl
    vi openssl.cnf (CA関係のファイルをいれるフォルダ)
    >dir             = ./CA          # Where everything is kept
    
    ※CA作成用のスクリプトの雛形コピー cp /usr/lib/ssl/misc/CA.sh ./ vi CA.sh >CATOP=./CA

  • 認証局CAの作成
    cd /etc/ssl
    ./CA.sh -newca
    CA certificate filename (or enter to create)
    止まるので改行をいれる

    Making CA certificate ...
    Generating a 1024 bit RSA private key
    .............++++++
    .......++++++
    writing new private key to './CA/private/./cakey.pem'
    Enter PEM pass phrase: CAの秘密鍵のパスフレーズ
    Verifying - Enter PEM pass phrase: CAの秘密鍵のパスフレーズ確認

  • カテゴリー: Linux タグ:

    NTLDRでLinuxをデュアルブート

    2005 年 8 月 7 日 コメント 1 件

    Linuxをいれてはみたが、やっぱり仕事がらWindowsがメインなので、ブートローダーはNT Loaderにしておきたいなということでメモ
    前提条件
    Linuxのブートローダ(GRUBやLILO)はMBRでなく、インストールしたパーティションの先頭にいれてあること(hda6とか)
    まちがってMBRにインストールしてNT Loaderに戻したいときはこのへん

  • その1(Linuxでも作業)
    1.ブートセクタをddコマンドで抜き出して保存
    dd if=/dev/hda6 of=ubuntu.pbr bs=512 count=1
    2.WindowsのC:などに抜き出したファイルをどうにかしてもってくる
    c:ubuntu.pbr
    3.boot.iniへ以下のように追加する
    c:ubuntu.pbr=”Ubuntu”
  • その2(Windowsのみで作業)
    1.BootPartをダウンロードし解凍
    2.コマンドプロンプトより「bootpart.exe」を起動しパーティションの一覧表示

    E:Tempbootpa26>bootpart.exe
    Boot Partition 2.60 for WinNT/2K/XP (c)1995-2005 G. Vollant (info@winimage.com)
    WEB : http://www.winimage.com and http://www.winimage.com/bootpart.htm
    Add partition in the Windows NT/2000/XP Multi-boot loader
    Run "bootpart.exe /?" for more information
    Physical number of disk 0 : 1ecfb89b
    0 : C:* type=7  (HPFS/NTFS), size= 10482381 KB, Lba Pos=63
    1 : C:  type=f  (Win95 XInt 13 extended), size= 28587667 KB, Lba Pos=20964825
    2 : C:  type=7   (HPFS/NTFS), size= 4192933 KB, Lba Pos=20964888
    3 : C:  type=5   (Extended), size= 10241437 KB, Lba Pos=29350755
    4 : C:  type=7    (HPFS/NTFS), size= 10241406 KB, Lba Pos=29350818
    5 : C:  type=5    (Extended), size= 7815622 KB, Lba Pos=49833630
    6 : C:* type=83     (Linux native), size= 7815591 KB, Lba Pos=49833693
    7 : C:  type=5     (Extended), size= 5855692 KB, Lba Pos=65464875
    8 : C:  type=83      (Linux native), size= 5855661 KB, Lba Pos=65464938
    9 : C:  type=5      (Extended), size= 481950 KB, Lba Pos=77176260
    10 : C:  type=82       (Linux swap), size= 481918 KB, Lba Pos=77176323
    

    3.パーティションの一覧からLinuxのブートローダのパーティション番号を調べる
    今回は「6」です。
    4.「bootpart.exe 6 c:ubuntu.pbr “Ubuntu”」のように入力する
    「6」はLinuxのパーティション番号
    「c:ubuntu.pbr」ブートセクタの抜き出したファイル名(任意)
    「”Ubuntu”」NT Loaderで選択する名前(任意)
    5.以下のように表示されboot.iniも自動で書き換えられます。

    Writing a boot sector using LBA position 49833693 (0x2f866dd)
    c:ubuntu.pbr written
    C:BOOT.INI updated
    

    6.リブートしてみて確認

  • カテゴリー: Linux, Windows タグ:

    fixmbr

    WindowsXPのマシンにUbuntuをインストールしてデュアルブートにしてみたものの、ブートローダーをGRUBにしてしまっため、NDLDRにもどそうとfixmbrを使おうとしたがどこにはいってるんだっけということでメモ

  • その1
    回復コンソールをインストールする
    WindowsXPのインストールCDをいれて
    D:i386winnt32.exe /cmdcons
    としてインストールしておく、ブート時のOSに選択できるようになるらしい
    (なぜかしっぱい)
  • その2
    WindowsXPまたは、Windows2000のインストールCDよりCDブートし、インストールではなく、修復を選択して回復コンソールへ
    ログインするWindowsのディレクトリとAdministratorのパスワードを聞いてくるので、それぞれ入力して回復コンソール画面へ
    あとは、fixmbrコマンドを入力し、リブートして完了です。
  • その3
    MS-DOS(または、Windows9x)のフロッピーから起動してfdisk /mbrでもたぶんOK
  • カテゴリー: Windows タグ:

    Trackback モジュール(Drupal PostgreSQL)

    Trackback モジュール(Drupal PostgreSQL)
    trackbackしていただいた方、ごめんなさい
    DrupalのTrackbackモジュールにバグがあってエラーになってました。
    エラーログで赤くでてたのを見なかったことにして無視してたのですが(^^;
    2件目から追加されてませんでした。
    たぶん、このDrupalをPostgreSQLで使ってる人があまりいないので、気づかれないのかなー
    修正点をメモしておきます。
    SELECT nextval(trackback_received_seq) でトラックバックをシーケンスで取ってるところがあるのに、integerの宣言だけになってるので、nextval()関数が動かなくてエラーになってました。
    テーブルを作り直すなら、以下のSQLを流せばよいでしょう。

    > DROP TABLE trackback_received;
    CREATE TABLE trackback_received (
    nid integer NOT NULL,
    trid serial,
    created integer NOT NULL,
    site varchar(255) NOT NULL,
    name varchar(60) NOT NULL,
    subject varchar(64) NOT NULL,
    url varchar(255) NOT NULL,
    excerpt varchar(255) NOT NULL,
    status smallint default '0',
    PRIMARY KEY (trid)
    );

    どうしてもテーブルを作り直したくないガンコな人は、

  • CREATE SEQUENCE trackback_received_trid_seq; のSQLを流してシーケンス作成
  • trackback_receivedテーブルのtridのデフォルトをnextval(‘public.trackback_received_trid_seq’::text)に変更
    でもたぶん、OKでしょう。
  • カテゴリー: Linux タグ:

    XREAでDrupal PostgreSQL編

    サーバはs151
    drupal-4.6.2
    drupal.orgのDownload latest releaseのあたりからダウンロード。
    tar.gz形式なので、PCで解凍して、XREAの/public_html内にアップロード
    ※ディレクトリをつくるなり適当に /drupalとか
    今回は、/public_html/drupalへいれるものとします。

  • .htaccessの編集
    広告の自動挿入をされるとうまく表示できないので自動挿入は停止
    Drupal内の設定で広告を挿入するようにします。

    /public_html/drupal/.htaccess
    LayoutIgnoreURI * を1行挿入
  • tmpとfileのフォルダ作成

    /public_html/drupal/files
    /public_html/drupal/tmp
    を作成し、この二つのディレクトリのみパーミッションを「777」にしておく。
  • PostgreSQLのDB作成
    XREAの管理画面にてデータベース作成
    PostgreSQLの場合、文字コード選択でUNICODEを選択(重要)して作成ボタンをおしてください。
    MySQLでやりたい場合は、MySQLの作成ボタンを押しておいてください。
    #作成まで、15分ぐらい?待つ!
  • PostgreSQLのテーブル作成
    上のXREAの管理画面にてPhpPgAdminでも、SSHにてログインしてpgsqlでもどちらでもいいですが、

    database/database.pgsql
    のSQLを流して必要なテーブル作成
    MySQLの場合は、database.mysqlです。
  • DrupalのDB接続設定
    /public_html/drupal/sites/default/settings.php
    をダウンロードして、以下の2行を自分にあわせて書き換え、アップロード

    $db_url = "pgsql://ユーザID:パスワード@''/DB名(ユーザID)";
    $base_url = 'http://ユーザID.s151.xrea.com/drupal'; (最後の/は無し)
    #PostgreSQLの場合、サーバアドレスでlocalhostが動かないようなので
    #''とすることでつなぐようにしました。
    MySQLの場合
    $db_url = 'mysql://username:password@localhost/database';
  • 管理者ユーザ作成
    http://ユーザID.s151.xrea.com/drupal/ へアクセスすると
    管理者ユーザを作れといってくるので、create the first account.のリンクへアクセスしID,メールアドレスを入力。
    Your password is hogehoge. とでますが、すぐにLog inし、my accountのeditでパスワードを変えておきましょう。
  • 日本語化
    管理者でログイン後の左のメニューadministrator->modulesより
    localeのモジュールにチェックをつけて、下のSave configurationをクリック
    すると左のメニューにlocalizationのメニューが追加されます。
    Drupal4.6.1日本語翻訳ワーク
    Japanese translation(日本語)
    このへんから日本語翻訳ファイルをダウンロード
    administrator->localizationからadd languageを選んで
    ドロップダウンのメニューより、Japanise(日本語)を選択、Add language
    listの画面にてjaをEnabledとDefaultにしてSave configurationをクリック
    importの画面にて、Language file を上でダウンロードしたファイル
    import intoはJapaneseを選択し、Importボタンをクリック
    以下日本語になっている状態で説明します。
  • 初期設定など
    管理->設定
    クリーンURL 有効(URLに?とかつかないようにする)
    ファイルシステムのパス files
    テンポラリーディレクトリ /tmp → tmp へ修正(/を削除)
    デフォルトのタイムゾーン +0900へ変更
  • 広告挿入
    管理->テーマのプライマリーリンクに広告挿入のタグをいれておくとデフォルトのテーマの場合は、いい感じに表示されます。
  • cronジョブ
    XREAの無料のところではCRONが使えないので、
    どっかから適当に毎日
    http://ユーザID.s151.xrea.com/drupal/cron.php
    へアクセスするようにしておく。
  • カテゴリー: Linux タグ: