日々業務で接しているLinux,PostgreSQL,SQLServer,FortiGateなどに関することの覚え書きや個人的に気になったことなどを綴っています。
もし、ここの情報があなたのお役に立てるならば幸いです。
2009年6月11日木曜日
CentOSでvim
どうせならsyntax colorで表示されたほうが見やすいのでvimを入れた。
# yum install vim-enhanced
===============================================================
Package Arch Version Repository Size
===============================================================
Installing:
vim-enhanced i386 1:6.3.046-1.el4_7.5z update 959 k
Installing for dependencies:
vim-common i386 1:6.3.046-1.el4_7.5z update 3.4 M
Transaction Summary
===============================================================
# vim ファイル指定
これでsyntax colorで表示される。
でもviで開くとsyntax colorにはならない。特にviとvimを使い分ける必要はないのでviコマンドでもvimとして開かれるようにする。
# vi /etc/bashrc
alias vi='vim' ← 最終行にでも追記
ついでに行番号を表示させるようにする。
# vi /etc/vimrc
set number ← set rulerの下にでも追記
2009年6月9日火曜日
サーバールーム 温度センサー
するとDigi International というところからWatchportというUSBデバイスで温度監視をするものを見つけました。値段も3万前後で専用のソフトも付属している。しかも指定温度を超えたら警告メールを送信してくれる。私が考えていた最低限の機能を装備したものだったので即発注しました。
で、到着した品物がこれです

Windows server 2003 r2にドライバをインストールしてから専用ソフト(Watchport Manager)をインストール。英語版ソフトですが、そんなに難しいものではありませんでした。
温度範囲を設定してアラートの種類を選択、そしてメール設定するだけで使えます。
また、メールはCCが扱えるので複数の人に送信できるのも嬉しいです。
更に、モデムを使えば電話への通達も可能なようです。
接続デバイス情報
アラート設定
メール設定
2009年6月5日金曜日
FortiGate-80C
ROBO(リモートオフィス/ブランチオフィス)ネットワーク向けですが、最新のFrotiOS 4.0が搭載されていて、しかもプロセッサにFortiASICが採用されています。
●ハードウェア
・FortiASIC CPによるUTMアクセラレーション
・10/100/1000 WANポート×2
・10/100 DMZポート×1
・10/100 スイッチポート×8
・コンソールポート×1
・USBポート×2
・ExpressCard3Gスロット×1
●スループット
・ファイアーウォール:350Mbps
・IPSecVPN:80Mbps
・アンチウイルス:50Mbps
・IPS:100Mbps
なかなかのスペックですね。
エントリーモデル(50-100シリーズ)の中で最も性能がよいことになります。
おおよその販売価格は1年ライセンス(フルバンドル版)で¥200,000~¥250,000ぐらいでしょう。
※ハードウェア保証(センドバック)含む
FortiGate-110C 購入
FortiOS 4.0を導入するか現在検討中。
※もう一台所有しているFortiGate-60(AV/ISPモデル)も同時に買い換えることにしました。(こちらは50Bへ)
2009年6月2日火曜日
CentOS 5.3 インストール その2
インストール後に必須またはやっておいた方がよいと思われる設定です。
基本的にインストール後はWindows用ターミナルエミュレータを使いますが
TeraTerm、Puttyなどがあります。私はもっぱらPoderosaを愛用しています。
接続先ごとにタブ式になっており画面を並べて比較したり非常に便利です。
とりあえず接続して設定していきましょう。
rootでログインします。※SSH経由にてのrootログインは後ほどできないよう制御します。
●GPGKEYのインポート
# rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5;
●GPGKEYの確認
インポートされているかチェックします。
# rpm -qai gpg-pubkey*
※何も表示されないときはインポートされていません。再度インポートを実行します。
●yum-updatesdの削除
yumによる自動アップデート機能ですがシステムに常駐していて一定間隔で動作する。
常駐しているためメモリー消費の無駄(メモリーリークするという噂も)なので削除します。
定期的なアップデートは従来のCron型yum-cronをこの次にインストールします。
# yum remove yum-updatesd
●yum-cronおよび関連パッケージのインストール
# yum install yum-cron yum-downloadonly
yum-cronサービスを起動させます。
# /etc/init.d/yum-cron start
OS起動時にサービスが有効になるようにします。
# chkconfig yum-cron on
起動設定を確認します。
# chkconfig --list yum-cron
※以下のようになっているか要確認(2,3,4,5がon)
yum-cron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
●開発ツール群のインストール
# yum groupinstall "Development Tools";
●システム全体のアップデート
# yum update
●NTPの導入
内部時計を外部タイムサーバ(内部でもOK)と定期的に同期を取るようにする。
# yum install ntp
時刻を即同期させます。
# ntpdate タイムサーバアドレス(例 ntp.jst.mfeed.ad.jp)
ハードウェアクロックも合わせます。
# hwclock --systohc
Cron実行用同期スクリプトを作成します。
# vi ntpdate
テキストの中身
#!/bin/bash
/usr/sbin/ntpdate ntp.jst.mfeed.ad.jp > /dev/null;hwclock --systohc > /dev/null
作成したスクリプトに実行権限を与えます。
# chmod +x ntpdate
1日1回実行されるようcron.dailyに配置します。
# mv ./ntpdate /etc/cron.daily/
●ユーザの追加
作成時に自動的にユーザディレクトリ直下にpublic_htmlディレクトリが作成されるようにします。
# mkdir /etc/skel/public_html
ユーザ追加
# useradd hoge
ユーザパスワードの設定
# passwd hoge
※パスワードを2回入力します
●SSH設定
セキュリティとしてはカギ認証やChroot化などありますが、最低限として以下の設定をします。
・ログイン認証時間は20秒
・rootログインの禁止
・パスワードの設定されていないユーザのログインを禁止
・指定ユーザのみ接続許可
設定ファイルを開きます。
# vi /etc/ssh/sshd_config
以下を最終行にでも追記します。
LoginGraceTime 20
PermitRootLogin no
PermitEmptyPasswords no
AllowUsers hoge
設定を適用します。
# /etc/init.d/sshd restart
※rootのログオン状態はそのままにしておき許可したユーザでログインできるかチェックします。Poderosa等のエミュレーターの新規接続画面を表示して実際にログインしてみる。
●root宛てメールを任意のアドレスへ転送
# cd /etc/
# vi ./aliases
以下を最終行に追記する
root: hogehoge@example.com(自分の環境に合わせて)
●yum
# yum clean all
最後に再起動をして完了です。
必要に応じてSU制限をします。(一般ユーザログイン後のsuコマンド使用許可)
基本的にwheelグループ所属のユーザのみsuコマンドが使える。
# vi /etc/pam.d/su
#auth required pam_wheel.so use_ui
↓この行のコメントをはずす
auth required pam_wheel.so use_ui
# vi /etc/login.defs
以下を適当な場所に追記する
SU_WHEEL_ONLY yes
許可ユーザをwheelグループに所属させます。
# usermod -G wheel hoge
以上で完了です。
2009年6月1日月曜日
CentOS 5.3 インストール その1
CentOS 5.3にてサーバー用途(主にWebアプリ用)に限定した構成で構築をします。
マシンはチョイ古い32Bitマシンを使用しネットワーク経由+テキストモードでインストールします。
・CPU:Intel(R) Pentium(R) 4 2.40GHz
・メモリ:1GB(DDR 512MB×2)
・HDD:HITACH ATA 250GB
●ネットワークインストール用メディアの用意
http://ftp2.riken.jp/Linux/centos/5/os/i386/images/boot.iso
上記よりISOファイルをダウンロードしてCD-Rメディアに書き込みます。
※ISOファイルはイメージファイルですのでそのまま書き込んででもダメです。
よくわからない方は「"ISO" "書き込み"」で検索してお調べください。
●インストール開始
ネットワークインストールですので事前にIPアドレスやDNSアドレスを準備しておきましょう。
DHCPでも可能ですがサーバー用途なので、ここでIPを固定しちゃいましょう。
※LANケーブルを差し込むのを忘れずに・・・
先ほど作成したbootメディアをセットして再起動するとインストールメニューが表示されます。
※CDドライブが先にbootするようBIOSで設定しておく・・・
テキストモードでインストールしますのでboot:のあとにtext installと入力しEnterを押します。
※入力しないでそのままにしておくと勝手にGUIインストールが始まりますので注意してください。
●インストール中の表示言語の選択
Englishを選択します。
●キーボード種類の選択
日本語キーボードならjp106を選択します。
●パッケージのインストール方法
HTTPを選択します。※FTP経由だと何故かパッケージのダウンロードでエラーになってしまう
●ネットワーク構成
IPv4を使用して固定で割り振ります。
「Enable IPv4 support」+「Manual configuration」
●ネットワーク設定
環境に適した設定をします。
●ダウンロード先の指定
理研(理化学研究所)さんを利用させていただきます。
Web site name:ftp.riken.jp(ftp2.riken.jpでもよし)
CentOS directory:/Linux/centos/5/os/i386
●ようこそ! CentOS
●ディスク設定
※ディスクデータが消えてしまうがよいかという警告画面が出た場合は「yes」で続行する。
「Remove all partitions on selected drives and create default layout」を選択する。
すべてのパーティションを削除して新しくパーティションを作成する。
●確認
「すべてのパーティションを削除して新しくパーティションを作成する」を選択されたが
実行してもいいですか?当然「yes」で続行します。
●パーティションのレイアウト
手動で設定したい場合は「Yes」自動設定の場合は「No」を選択します。※ここでは「No」
●ネットワーク設定
インターフェースを見直すようであれば「yes」で再設定します。※ここでは「No」
●その他ネットワークの設定
セカンダリDNSを指定する場合は指定する。なければそのまま「OK」
●ホスト名の設定
決まっていなければとりあえずlocalhostとでも入れておきましょう。
後で変更することも可能なので、なんでもOKです。
●タイムゾーンの設定
Asia/Tokyoを指定する。
※時刻がずれることがあるので、System clock uses UTCはOFFにした方がよいかも
●rootパスワードの設定
※忘れないように・・・忘れるとログインできません。
●パッケージの選択
デフォルトで指定されている「Desktop - Gnome」はチェックを外して
「Customize software selection」にチェックを入れます。
カスタマイズ画面では「Base」以外はすべてチェックを外します。
●インストール開始
インストールログは/root/install.logにできますので再起動後必要に応じて参照。
ハードディスクがフォーマットされパッケージがインストールされます。
●インストール完了
再起動させます。
●初期セットアップ
初回起動時に表示されます。ログイン後setupと入力することで起動させることもできます。
●Firewall configuration
Security LevelおよびSELinuxは無効にします。
構築中の妨げになることがあるのですべての構築が完了してから設定したほうがよいと思います。
そもそも不要なポートを閉じることより不要なサービスを稼動させないようにするのがよい。
社内用などで外部公開しないのであればすべてOFFのままでもよいのでは・・・。
●System services
不要なサービスは起動させないようにします。
お好みに応じてサービスをOFFにしていきQuitで終了します。
ちなみに私は以下の項目をOFFにしています。
NetworkManager:
acpid:ON/OFF監視などの電源管理
anacron:Cronで代用できるため
apmd:電源管理(省電力)
atd:指定した時間にコマンドを実行(Cronを使うので不要)
auditd:監査機能(SELinuxを使う場合は必要)
autofs:ファイルシステムの自動マウント/アンマウント(リムーバブルディスクなどの自動認識)
avahi-daemon:ローカルネットワークサービスの発見
avahi-dnsconfd:ローカルネットワークサービスの発見
bluetooth:Bluetooth無線通信
conman:
cpuspeed:
cups:印刷機能
dnsmasg:
dund:Bluetoothダイアルアップ機能
firstboot:初期設定(インストール直後の設定が済めば不要)
gpm:マウス(サーバー用途にマウスは要りません)
haldaemon:ハードウェア情報をリアルタイムに収集(運用が始まれば不要)
hidd:Bluetooth関連
ibmasm:
ip6tables:IPv6管理
irda:赤外線機能
kudzu:ハードウェア検出ツール
mcstrans:SELinuxは利用していないので不要
mdmonitor:ソフトウェアRAID管理
mdmpd:Multipathデバイス監視(RAID関連)
messagebus:メッセージ送信(D-BUSを使わなければ不要)
netfs:NFS,SMB,NCPのマウント
nfs:NFS関連
nfslock:NFS関連
oddjobd:D-BUS関連
pand:Bluetooth関連
pcscd:スマートカード(ICカード)関連
portmap:NFS等の関連
readahead_early:前もってファイルをページキャッシュに読み込む?
readahead_later:前もってファイルをページキャッシュに読み込む?
restorecond:新しいファイルを作成したときにSELinuxからのラベルづけ
rpcgssd:NFS関連
rpcidmapd:NFS関連
rpcsvcgssd:NFS関連
wpa_supplicant:無線LAN暗号WPA認証クライアント
xfs:Xフォント
yum-updated:常駐型パッケージ自動更新
検討サービス
lvm2-monitor:論理ボリューム(LVM2)障害監視(LVMを利用していないなら無効化)
cpuspeed:マシン負荷に応じてCPUの周波数を自動変更する
(周波数が変更できないようなCPUの場合は無効化)
irqbalance:マルチコア用で処理の分散化
※cat /proc/interruptsで複数のCPUが表示されなければOFFにしておく
smartd:HDDの障害予測サービス(HDDがSMARTに対応している必要がある)
※起動時にsmartdがエラーになるようなら非対応なのでOFFにする
microcode_ctl:Intel IA32 プロセッサのマイクロコードユーティリティ
※よくわかりませんのでとりあえずそのままONで稼動させます
OSはこれで完了ですが、その他初期設定するものがあります。
これについては後日にします。
2009年5月29日金曜日
FortiClient 4.0.2
私もかなり前から愛用していますが(自宅から会社へ)、社内サーバ管理等をしている方にとって重宝するものではないでしょうか。FortiClientのVPN機能だけなら無償で使用できるので使わない手はないでしょう。ここではFortiGateへダイヤルアップでIPSecVPN接続を行うための設定をご紹介します。
【機能】
・パーソナルファイヤウォール
・IPSec VPN
・アンチウイルス
・Webフィルタリング
・アンチスパム
【ライセンス価格】
・1クライアント:初年度\14,000 更新は年\6,000
・2~9クライアント:初年度@\9,900 更新は年@\3,600
・10~24クライアント:初年度@\9,000 更新は年@\3,100
※FortiClientのアンチウイルス・ファイアウォール等のほぼ全機能が無償で利用できようになりました。(2009/10/14発表)詳しくは、こちら
パーソナルファイアウォール、IPSec VPNは無料のためライセンス料は不要ですが
他の機能を有効活用するためには、上記ライセンス料が必要になります。
ただしインストール後、90日間はお試し期間でライセンスがなくてもフル活用できます。
ではインストール・・・その前にFortiGateにダイアルアップ用IPSecの設定が必要です。
また、セキュリティに重点をおいた設定とはなっておりません。
あくまで「接続する」をメインに考えた構成となっていますので、
何かあっても当方では一切責任を負えません・・・(^_^;)。
【FortiGate IPSec設定】
例としてFortigate-60B 3.00-b0730(MR7 Patch 1)を使いWeb管理画面から設定をしてみます。
●フェイズ1を作成(VPN>IPSec>自動鍵(IKE))
リモートゲートウェイはダイアルアップユーザを選択します。
ローカルインターフェースは、外部ポートを指定します。
認証方法は事前共有鍵を選択してパスワードを入力します。(単なるパスワード認証)
※モードの「アグレッシブ」と「メイン(IDプロテクション)」の違い
「メイン(IDプロテクション)」では自ノードのID(IP含む)を共通鍵で暗号化する。ただし接続先が予めわかっていることが前提(グローバル固定IP)。
「アグレッシブ」では手順が簡素化されIDは暗号化されない。互いにIPアドレスが予めわかっている場合はメイン、どちらか一方または両方とも動的IPの場合はアグレッシブを使用するようです。

●フェイズ2を作成(VPN>IPSec>自動鍵(IKE))
先ほど作成したフェイズ1を指定します。

●FortiClient用の仮想IPを設定(ファイアウォール>アドレス)
インターフェースはFortiClientが接続してくる外部ポートを指定します。
IPは相互のローカルネットワークとバッティングしない構成にしましょう。

●ポリシーを定義(ファイアウォール>ポリシー)
ポリシーの順番に注意です。internal->wan1の一番上に来るようにします。
以下の「前にポリシーを挿入」ボタンを使うとよいでしょう。

●internal->wan1
宛先アドレスは先ほど作成したFortiClientとします。
アクションをIPSECにします。
VPNトンネルは先ほど作成したHonbuにします。

以上でFortiGate側の設定は完了です。
次にクライアント側の設定に移ります。
【FortiClientのインストールと設定】
有効アカウントをお持ちの方はサポートページからダウンロードしましょう。
アカウントなんてないよ!という方は、購入先ベンダー等問い合わせてみてください。
クライアント本体自体は無料ですので代金を請求されることはないないでしょう。
ただし、FortiGateの保守ライセンスを保有していることが条件になると思いますが。
●インストール開始
●使用許諾契約の条件に同意します
●セットアップタイプ
ここではVPNのみで進めますのでカスタムを指定します。興味のある方は色々と試してみてください。
ただしインストールするクライアントPCにすでにアンチウイルスが導入済みの場合は
競合により不都合が発生することがありますのでアンチウイルスはインストールしないようにしてください。
●カスタム設定
VPN以外は、インストールしないように指定します。
●インストールを開始
●初期設定
基本設定のまま次へ進みます。
●ライセンスキー入力
ライセンスキーの入力は省略します。(ライセンス購入した場合は入力)
※スケジュール更新は任意で設定してください。
●接続設定
FortiClientが起動します。
●接続の作成(VPN>高級>追加)※なぜ高級という名称なんでしょうかね。
設定はマニュアルとします。
リモートゲートウェイは接続先のアドレスを入力します。(グローバルIPでもよい)
リモートネットワークは接続先のローカルネットワークを定義します。
認証方法はFortiGateでの定義に合わせます。ここではパスワード認証で作成しましたので
Preshared Keyを指定してパスワードを入力します。
●詳細設定
仮想のIPアドレスを取得にチェックを入れ設定ボタンを押します。
手動設定を選択してFortiGateのシステム>アドレスで定義したfortiClient用レンジの
アドレスを指定します。
※必要に応じてDNSサーバーアドレスを指定します。接続後、優先DNSとして機能します。
接続が成功すると、ポップアップ画面にネゴシエーションに成功しました!と表示されますので
確認することができます。
コマンドプロンプトで接続先のローカルへPINGを実行してみましょう。
応答があればVPN接続されているということになります。
私は自宅からリモートデスクトップを使って会社マシンへ接続することが多いので
VPN用と割り切って使用しています。