Ubuntu-Server: September 2008 Archives

まずメールユーザのアカウントの設定をWebで簡単に行えるように postfixadmin をインストールします。
UbuntuのRepositoryには入っていないので、

http://sourceforge.net/projects/postfixadmin/
から現時点で最新版のpostfixadmin2.2.1.1all.debをダウンロードしてインストール。


dpkg -i postfixadmin_2.2.1.1_all.deb

上記コマンドを実行するとPostfixadminは"/usr/share/postfixadmin/ "にインストールされます。
設定ファイルは"/etc/postfixadmin/config.inc.php"です。
またApacheにaliasが追加されます → /etc/apache2/conf.d/postfixadmin

続いてPostfixadminの設定ファイルを編集します。

vim config.inc.php
[...]
$CONF['configured'] = true;
$CONF['postfix_admin_url'] = 'http://example.com/postfixadmin'; 

$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfixadmin';
$CONF['database_password'] = 'YourPassword'; //Change here
$CONF['database_name'] = 'postfix';

$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'NO';
$CONF['encrypt'] = 'cleartext';


設定ファイルの中に記載されているドメインを自分のものと置き換えます。

cd /usr/share/postfixadmin
sed -i "s/\@change-this-to-your.domain.tld/\@example.com/g" config.inc.php
sed -i "s/change-this-to-your.domain.tld/example.com/g" config.inc.php
sed -i "s/Return to example.com/Return to www.example.com/g" config.inc.php

Postfix用のデータベースとユーザーを作成します。


mysql -u root -p
mysql> create database postfix;
mysql> grant all privileges on postfix.* to 'postfixadmin'@'localhost'
                        identified by 'YourPassword!';
mysql> flush privileges;
mysql> \q

ブラウザを開いてhttp://yourdomain.com/postfixadmin/setup.phpへ移動します。
SetUpCheckerが全ての項目に対してOKと表示するか確認。
場合によってはphp5-imapなどをapt-getでインストールする。
OKならAdmin用のEmailAddressとパスワードを登録。 登録し終わったらsetup.phpは削除。
続いてhttp://yourdomain.com/postfixadmin/へと移動。 先程setup.phpで作成したAdminアカウントでログインできるか確かめておく。 (注...まだドメインやメールボックスは作成できません)

次回はPostfix本体の設定を暇なときに書きます。
今回はテキストパスワードによるログインを無効化し、公開鍵暗号方式によるログインを可能にする。
鍵方式によるログインの方が攻撃者の侵入を防ぎやすいからです。
これでセキュリティ的にはかなり上昇します。

初めての方は下のリンク先にあるページでも見てみるといいと思います。
Puttyで鍵交換方式によるSSH接続

(メモ)
1. Puttyで作成した公開鍵をOpenSSH形式に変換するコマンド。
  • ssh-keygen -i -f id_rsa.pub >> authorized_keys
2. 転送した公開鍵ファイル(id_rsa.pub)を忘れずに削除。
3. ターミナルエミュレーターとしてPoderosaを使う場合はPuttyで生成した秘密鍵を「ssh.com」形式へとエクスポートする必要あり。

鍵のセットアップが終わってテストログインにも成功したら再度sshd_configファイルを編集します。

1. #PasswordAuthentication yesの行をUncommentして以下のように修正。
これで秘密鍵を所持していないとログインできなくなりセキュリティが向上します。
  • PasswordAuthentication no
2. 最後に新しい設定を有効にするためSSHを再起動!
  • sudo /etc/init.d/ssh restart
メモなので細かい説明はありません。

1. オリジナル設定ファイルのバックアップ
  • sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
2. バックアップファイルへの書き込み禁止
  • sudo chmod a-w /etc/ssh/sshd_config.original
3. sshd_configファイルをエディタで開き以下の項目を修正または追加

  • PermitRootLogin no
  • Port 2222 (追加)
    •  (LANでは22番、外部からのアクセスの場合は2222番ポートを使うようにする。ルーターでは2222番ポートのみForward。これで22番ポートを狙ったツールによる攻撃を防ぐ。)
  • LoginGraceTime 20 (ログインするまでの時間-20秒経ったら遮断する)
  • Uncomment Banner /etc/issue.net
  • AllowGroups sshlogin (追加)
4. sudo vim /etc/issueでログインの際に表示される警告バナーを作成。

5. symbolic linkを作成。
  • sudo ln -s /etc/issue /etc/issue.net
(内部コンソールからのアクセスでは警告メッセージが表示されないようにするにはissue.netのみを作成し、/etc/issueは空にしておく。)

6. sshloginグループに所属するユーザーのみログイン可能にする。
  • sudo addgroup sshlogin
  • sudo adduser <username> sshlogin

7. 最後に新しい設定を有効にするためSSHを再起動!
  • sudo /etc/init.d/ssh restart
日本の自宅にあるファンレスビデオサーバーに続き第2弾w。
半分はリサーチ目的、半分は遊びとして自分の部屋に設置するサーバーマシーンであります。

大まかなスペックは以下の通り。

Barebone: Shuttle XPC SG31G2 (Chipset:NB:Intel G31 SB: ICH7, Video: Intel GMA3100)
CPU: INTEL PENTIUM DUAL CORE E2160 1.8GHz (1MB L2 Cache)
Memory: DDR2 667MHZ 2GB (1GB x 2)
HDD: Seagate Barracuda ES 250GB 7200RPM(16MB Cache)

まあとりあえずは十分なスペックですね。というか、あんまりハイスペックにしちゃうとファンの音がうるさくなるから無理w。
しかし、これ全部で299ドルなんだから安いでしょう。
というのも、CPUはBulk版でShuttleのベアボーンはShuttleのRecertifiedであるため新品より4割くらい安かったのだ。でも届いたのは未使用の新品同様の品だったからかなりお得!
これにとりあえずUbuntu Server Editionをインストールするつもり。
運用は固定IP/独自ドメインでいきます。
ソウトウェアとしてはOpenSSH,Apache,Derby Database,Sailfin Application Server, Asteriskなどをインストールします。
ちなみにAsteriskっていうのはIP電話に対応したPBX(構内交換機)を実現できるソフトウェアです。
構内交換機とは要するに中継装置のことで複数の構内電話機を公衆電話回線網に接続して使用するのに使います。Asteriskは単にIP電話をするだけじゃなくて転送、ボイスメール、自動応答などの機能もあるため非常に人気があります。しかもオープンソースですからね。もちろんSIPにも対応しているので、先生の勧めもありjVoiceBridgeというSunが開発しているVoIP対応のaudio mixer(この機能で会議電話が実現できた)からAsteriskに乗り換えることになったのであります。
僕が開発中のIMSの機能を取り入れた電話会議システムですが、何とか11月中にきちんと動作するプロトタイプくらいは完成させたいです。しかし、コードの量が結構多いのでユニットテストが今から憂鬱。テストコードは実際のコードの3倍くらいになりそう。。。
shuttleG31.JPG

About this Archive

This page is a archive of entries in the Ubuntu-Server category from September 2008.

Find recent content on the main index or look in the archives to find all content.