« 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を設定し、正常動作を確認。