« 2005年06月 | メイン | 2005年08月 »

2005年07月27日

CentOS4.1でPostfix+Amavisd-new+F-Prot設定メモ

前提:Postfix+SMTP-Auth+Dovecot+F-Protの設定とインストール済みとする。
※この作業で、問題が起きても責任をもてませんので、自己責任で実施して下さい。
 設定を誤るとSpamメールの踏み台になりかねませんので、慎重に勉強してから実施した方が良いと思います。
※インストールの仕方は「Fedoraで自宅サーバー構築」様が分かりやすいと思います。
  FC4を基準に設定を進めたら、Centos4.1で設定ができました。
※F-Portの設定もココが分かりやすいと思います。
※CentOS標準のyumでは「Amavisd-new」はインストールできないので、「dag.wieers.com」 より、RHEL 4 用のアドオン・パッケージを使用する。

1、CentOSにaptをインストールする。
# yum install apt

2、DAGを「/etc/apt/sources.list」に追加する。
# vi /etc/apt/sources.list

### Dag RPM Repository for Red Hat Enterprise Linux
rpm http://apt.sw.be/ redhat/el4/en/i386 dag

3、aptで「Amavisd-new」をインストールする。
# apt-get update
# apt-get install Amavisd-new

4、Postfix の /etc/postfix/main.cf に下記を追加の為コマンドを実行する。
# postconf -e 'content_filter=smtp-amavis:[127.0.0.1]:10024'
# postconf -e 'max_use=10'

5、/etc/postfix/master.cf に下記を追加する。
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
-o mynetworks=192.168.1.0/24,127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o receive_override_options=no_header_body_checks

6、ウイルスアラートの通報先を変更する。
# vi /etc/amavisd.conf

$mydomain = 'example.com';
        ↓に変更。
$mydomain = 'takasite.dnsalias.org';

# $myhostname = 'example.com';
        ↓コメントを外し変更。
$myhostname = 'takasite.dnsalias.org';

7、各デーモンの再起動と自動起動設定。
# service postfix restart
# service amavisd restart
# chkconfig amavisd on

8、後は「http://www.eicar.org/anti_virus_test_file.htm」からテスト用、無害のファイルを添付して、対象アカウントにテスト送信。
メールが届かず、削除されて、rootもしくはその他の転送設定で管理用アカウントにメールが届けばOK。

投稿者 takayuki : 22:53 | コメント (0)

2005年07月25日

Postfixユーザ追加登録メモ

前提:Postfix+Dovecot+SMTP-Authのインストールと設定を済ませて置く。

メールアカウント作成
1、takasiteユーザ作成(シェルログオン無し)
# useradd -s /sbin/nologin takasite

2、takasiteパスワード設定。
# passwd takasite

3、SMTP-Auth takasiteユーザ登録。
# echo "パスワード" | saslpasswd2 -p -u takasite.dnsalias.org -c takasite

4、SMTP-Auth takasiteユーザ確認。
# sasldblistusers2

5、Windowsなどから接続確認。
※WAN側からはOutlook ExpressでSMTP-Authの設定をしないと、送信できない。
※LAN内からの送信はできる。

投稿者 takayuki : 23:43 | コメント (0)

2005年07月21日

chrootsshとWinSCPをCentOSで使うメモ

CentOS chrootsshでWinSCP転送をする。
※この作業で何らかの、障害が起きても責任は取れません、自己責任で実施して下さい。
  スクリプトを使わせて頂いた、「Fedoraで自宅サーバー構築」 様にも質問等もしないで下さい。
※私の環境では、CentOS 4.0と4.1 FdoraCore 1,2,3で動作を確認しています。

chrootssh とはsshでログオンするとchroot環境にログオンしUserHomeをRootにしてHomeディレクトリより上の階層に移動できないようにしたり、実行させたくないコマンドを制限したりする仕組み。←ざっくり説明しすぎ(汗
そこで、今回は安全にファイル転送をできるようにする方法。
Chroot+ssh+WinSCPを使うと、ユーザはHome以外移動できないのでセキュリイティ上好ましい。
また、転送データは暗号化されているので、のぞかれる事も無い。

前提:CentOSをインストールすると始めから、sshdが入っている、今回はchrootsshと入れ替えて使う為、sshdを削除して、chrootsshをインストールする。
1、http://chrootssh.sourceforge.net/から最新のファイルをダウンロードする。
×現在の最新Ver.は:openssh-3.9p1-chroot.tar.gz
現在の最新Ver.は:openssh-4.2p1-chroot.tar.gz
2、標準sshdのアンインストール。
  1)#service openssh stop ←sshdの停止。
  2)sshdを削除する。
    #yum remove openssh
3、chroosshのコンパイル、インストール
  1)#tar zxvf  openssh-3.9p1-chroot.tar.gz
  2)# cd openssh-3.9p1
  3)# ./configure --prefix=/usr --libexecdir=/usr/libexec/openssh \
     --sysconfdir=/etc/ssh --mandir=/usr/share/man --with-tcp-wrappers

   ※2005年9月16日現在最新Ver.「openssh-4.2p1-chroot」 zlibのチェックではじかれる、
     場合は、「 --without-zlib-version-check 」を付けると通ります。

  4)#make
  5)#make install
4、sshサーバの設定
  1)# vi /etc/ssh/sshd_config
#PermitRootLogin yes

PermitRootLogin no ← rootログイン禁止

#PermitEmptyPasswords no

PermitEmptyPasswords no ← パスワードなしログイン禁止

#Protocol 2,1

Protocol 2 ← SSH2のみ接続を許可(PuTTY用)WinSCPはPuTTYを使用している。
5、sshサーバ起動
  1)#cp openssh-3.9p1-chroot/contrib/redhat/sshd.init /etc/rc.d/init.d/sshd
     ↑ssh起動スクリプトをコピー
  2)# /etc/rc.d/init.d/sshd start ← sshサーバ起動
  3)#chkconfig --add sshd ← 起動時自動起動に設定
6、chrootユーザ作成
  1)Fedoraで自宅サーバー構築様より、スクリプトを頂いてきました。誠にありがとうございます。
  2)#vi chroot-useradd ← chrootユーザ作成スクリプト作成※
#!/bin/bash
#
# Usage: ./chroot-useradd username [shell]
#
# Here specify the apps you want into the enviroment
CMD="bash ls mkdir mv pwd rm chmod vi cat id rsync ssh scp ping ssh-keygen perl"
APPS=`which $CMD`
# Sanity check
if [ "$1" = "" ] ; then
echo " Usage: ./chroot-useradd username [shell]"
exit
fi
# Obtain username and HomeDir
CHROOT_USERNAME=$1
mkdir /home/$CHROOT_USERNAME
chmod 711 /home/$CHROOT_USERNAME
if [ "$2" = "" ] ; then
useradd $CHROOT_USERNAME -d /home/$CHROOT_USERNAME/./
else
useradd -s $2 $CHROOT_USERNAME -d /home/$CHROOT_USERNAME/./
fi
passwd $CHROOT_USERNAME
chown $CHROOT_USERNAME. /home/$CHROOT_USERNAME
rm -f /home/$CHROOT_USERNAME/.* > /dev/null 2>&1
HOMEDIR=`grep /etc/passwd -e "^$CHROOT_USERNAME" | cut -d':' -f 6`
cd $HOMEDIR
# Create Directories no one will do it for you
mkdir etc
mkdir bin
mkdir -p usr/bin
mkdir -p usr/local/bin
# Create short version to /usr/bin/groups
# On some system it requires /bin/sh, which is generally unnessesary in a chroot cage
echo "#!/bin/bash" > usr/bin/groups
echo "id -Gn" >> usr/bin/groups
chmod 755 usr/bin/groups
# Add some users to ./etc/paswd
grep /etc/passwd -e "^root" -e "^$CHROOT_USERNAME" > etc/passwd
grep /etc/group -e "^root" -e "^$CHROOT_USERNAME" > etc/group
# Copy the apps and the related libs
for prog in $APPS; do
cp $prog ./$prog
# obtain a list of related libraryes
ldd $prog > /dev/null
if [ "$?" = 0 ] ; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS; do
mkdir -p ./`dirname $l` > /dev/null 2>&1
cp $l ./$l
done
fi
done
# From some strange reason these 4 libraries are not in the ldd output, but without them
# some stuff will not work, like usr/bin/groups
cp /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_files.so.2 /lib/ld-linux.so.2 ./lib/

  3)#chmod 700 chroot-useradd ← スクリプトに実行権をあたえる。
  4)ユーザ作成
#./chroot-useradd takasite ←ユーザ名takasite は例(自分で作りたいユーザ名を入力して下さい。)
Changing password for user takasite.
New UNIX password: ← パスワード入力
Retype new UNIX password: ← パスワード確認。
passwd: all authentication tokens updated successfully.

6、chroot環境にログインできるか確認。
クライアントから sshで対象サーバにchrootしたユーザでログイン。
   1)-bash-2.05b$ pwd
     / ←と出ていればOK
   2)-bash-2.05b$ su - ← rootになれるか確認
     -bash: su: command not found ←rootになれていないので成功。
7、WinSCPで接続する。
  SFTPを使うと、エラーが出る場合はchroot環境にsftpdをコピーする。
  SFTPが使えないと、転送レジュームが使えない。
   1)WinSCP sftp転送にする。
     #cp /usr/libexec/openssh/sftp-server /home/takasite/bin
   2)WinSCPでプロトコルをSFTPを選択してtakasiteで接続してレジュームが効くか確認する。

これで、chrootssh環境にWinSCP SFTP転送ができるようになったが、シェルにログオンさせたくない場合などは、scponlyなどのソフトを使用すると良いと思います。
転送以外で使わない場合も、不必要なモジュールが入っているので、各自必要に応じて削除するなり、コピーするなりして下さい。

アクセス制限をしたい場合は、hosts.allow,hosts.denyとiptablesなどで、制限をした方が安全です。
sshを外部に公開すると、多くの不正アタックを受けますので注意が必要です。
ユーザ名とパスワードも外部に簡単に分からないようにして下さい。

hosts.allow,hosts.denyはココが分かりやすいと思います。
ログは、「 /var/log/messages 」で確認できます。
ちなみに、hosts.allow,hosts.denyの記述例は。

例:hosts.allowに下記を追加の場合。
sshd : 192.168.0.2 192.168.0.3
↑192.168.0.2 192.168.0.3を許可する。

例:hosts.denyに下記を追加の場合。
sshd : 192.168.1.
↑192.168.1.xxxを拒否する設定です、allowでも使えます。

注意はdenyで拒否設定をしていも、allowで同じ設定がされていると、allowが有効になります。

投稿者 takayuki : 13:09 | コメント (0) | トラックバック

2005年07月19日

Apacheのログを「|」「cat」「grep」「less」を使って見るメモ

Apacheのログをコンソールで見る時に、特定のキーワードを抽出して、カーソルキーで上下してスクロール表示させるメモ。

例:access_logの「404」エラーを見る場合。
# cat /var/log/httpd/access_log | grep 404 | less

その他:ログを随時更新表示させながら、キーワードの「php」を指定して見る場合。
# tail -f /var/log/httpd/access_log | grep php

投稿者 takayuki : 07:30 | コメント (0)

Linuxでaliasを使ってコマンド入力を楽する。

aliasを使って、いつも使うコマンドを登録して、楽するメモ。

Apacheのログ監視を、コンソールから。
# tail -f /var/log/httpd/access_log
と打っているのですが、これを。
# httpdlog
と、打つと、「# tail -f /var/log/httpd/access_log」と実行するようにする。

1、「.bashrc」を編集する。
 # vi .bashrc

2、下記を追加する。
alias httpdlog='tail -f /var/log/httpd/access_log'

3、ログオンし直して、動作確認。
 # httpdlog

4、ログが表示されれば、OK。

投稿者 takayuki : 07:01 | コメント (0)

2005年07月12日

LinuxのFirefoxにmplayerplug-in設定のメモ

Windows Media Playerの様にFirefox内でビデオ再生するMplayerのプラグイン。
※Mplayerが事前にインストールされている事。
※認証が必要なストリーミングは再生できない。
※FedoraCore4のrpmがなかったのでソースからコンパイルしてインストールする。

1、プラグインのダウンロード
2、解凍とインストール。
$ tar zxvf mplayerplug-in-2.85.tar.gz
$ cd mplayerplug-in
$ ./configure
$ make
$ su
# make install
# exit
$ cp mplayerplug-in.so ~/.mozilla/plugins
Firefoxを再起動して、確認する。

投稿者 takayuki : 00:21 | コメント (0)

2005年07月09日

emerge 自動アップデート除外設定メモ(2005.0)

emerge -uD world を実行するとバージョンアップされたパッケージが、全てアップデートされてしまわないように、マスク設定をする。
/etc/portage/package.mask
に対象のパッケージを記入する。
例:
>=media-tv/mythtv-0.16
↑を記述されていると、
ACCEPT_KEYWORDS="~x86" emerge mythtv
を実行してもアップデートされないのでインストールしたい場合は、
>=media-tv/mythtv-0.16 を削除してから。
ACCEPT_KEYWORDS="~x86" emerge mythtv を実行すれば、アップデートされる。

投稿者 takayuki : 00:28 | コメント (0)

2005年07月07日

VNC FedoraCore4 設定メモ

1、VNCの設定、ウインドウマネージャの設定と日本語入力を使用可能にする。

※各ユーザで設定が必要。(例:一般ユーザ)
$ vncserver :1
一度起動する。(初回はパスワード設定が必要)

$ vncserver -kill :1
設定ファイルをコピーする為、停止する。

$ cp -a /etc/X11/xinit/xinitrc ~/.vnc/xstartup
設定ファイルをコピー。

$ vncserver :1
再度起動する。

2、Windowsから接続確認をする。
  VNC Viewer 4などから接続確認。
  「server」の欄に「VNCServerのIPアドレス:1」(例:「192.168.0.10:1」)
  「:1」のディスプレイ番号を忘れると接続されません。
  あと、Windows、Linuxのファイヤーウオールも穴を開けないと繋がらない場合があります。

3、VNCServerの停止方法

$ vncserver -kill :1

その他:
VNCServerの起動、VNCクライアントをWindowsXPで1024x768の解像度にぴったり表示されるように設定する。

$ vncserver :1 -geometry 1016x704

投稿者 takayuki : 21:14 | コメント (0)

2005年07月03日

Solaris10ユーザ作成(/home)

※/export/home/が無い場合は
# mkdir /export/home/ で作成する。
私の環境では(Solaris10)デフォルトで存在していた。

1,/etc/auto_home に下記を追加。
* localhost:/export/home/&

2,automount コマンド実行。
automountd デーモンに通知する為。
# automount

3,グループの作成。(例 taka)
# groupadd -g 1111 taka

4,ユーザの登録。(例 グループ:taka ユーザ名:takasite)
# useradd -u 1234 -g taka -d /export/home/takasite -s /bin/ksh \
-c "Takasaite Solaris User" -m takasite

  -u ユーザ ID 番号
  -d ホームディレクトリ
  -s 使用するシェル
  -c コメント
  -m -d オプションで指定されたホームディレクトリを作成。
  takasite 作成するユーザ ID

5,ホームディレクトリの情報変更。
# usermod -d /home/takasite takasite

6,登録ユーザのパスワード設定。
# passwd takasite

※なぜか、設定が反映されなかったのだが、Rebootしたら設定が有効になっていて、/home/takasiteにログオンできた。
2個目からのユーザ作成は、Rebootしなくても反映されていた。

7,takasiteでログインし確認。
$ pwd
/home/takasite
と表示されている事を確認。

投稿者 takayuki : 00:17 | コメント (0) | トラックバック

2005年07月02日

Solaris10 MozillaにFlash Player7設定

1,FlashPlayer7をダウンロードする。
2,ファイルの解凍
  $ gunzip < flash_player_7_solaris_x86_r53.tar.gz | tar xvf -
3,home下~/.mozilla/pluginsを作成して、Flash Player7をコピー。
  $ mkdir ~/.mozilla/plugins
  $ cd install_flash_player_7_solaris
  $ cp libflashplayer.so flashplayer.xpt ~/.mozilla/plugins
4,Mozillaを再起動して、動作を確認する。

※Solaris10+Linuxでメロメロパークを表示すると、メロメロ内、広告の表示切替時にブラウザが極端に重くなるようです。
自前のGentooでは、メモリを異常に食います300MBぐらい(汗。
Windows(IE、Firefox)では問題ありませんでした。

投稿者 takayuki : 23:37 | コメント (0) | トラックバック

2005年07月01日

Solaris10でFNW-9803-Tの設定メモ

1、http://sol-enet.sourceforge.net/から「etherdrivers」(現在最新Verはetherdrivers-1.0.3)をダウンロードする。
下記URLが現在の最新Ver.「etherdrivers-1.0.3-i386.zip」(バイナリー)
http://prdownloads.sourceforge.net/sol-enet/etherdrivers-1.0.3-i386.zip?download
2、解凍しインストール。
 # unzip etherdrivers-1.0.3-i386.zip
 # cd etherdrivers-1.0.3
 # pkgadd -d Packages/i386 all
3、sys-unconfigで設定する。
 # /usr/sbin/sys-unconfig
  Network設定をする。
  ※DNSを選択しなかったので外のHPが見れなかった。
    DNS ServerにはルータのIPを設定し、正常動作を確認。

投稿者 takayuki : 03:09 | コメント (0) | トラックバック