2008年2月28日木曜日

INS64

■ISDN(Integrated Services Digital Network
・デジタル回線網。
・ITU-T(電気通信標準化部門)によって定められた世界共通の規格。
・モデムで接続する既存の公衆交換電話網をデジタル化する事で高速で高品質な回線サービスを提供。
・INSネットはISDN規格のNTTが提供するサービス(商品)名称。
・「INSネット64」は、従来の電話線をそのまま利用してディジタル伝送を行う。
・「INSネット1500」は、光ファイバーを敷設して、最大1536kbit/sという高速通信を実現する。
・電話サービスと違い、デジタル信号を回線へ流す前にアナログ化せず、デジタル信号のままでデータ転送を行う。
・デジタル信号方式により、物理的には1本の回線で、論理的に複数の回線(チャネル)を使用可能になった。
Bチャネル(情報チャネル)
・64kbit/s × 2本
・文字、画像、音声などの情報のやり取りに使用。
・インターネットをしながら電話が可能。
Dチャネル(信号チャネル)
・16kbit/s × 1本
・通信制御信号のやり取りに使用。

weblogicドメイン

■ドメインとは?
管理ドメイン
・WeblogicServerリソースの論理的に関連したグループ。
管理サーバ
・ドメイン内の特殊なインスタンス。
・メイン内のすべてのリソース(管理対象サーバを含む)を一元的にコンフィグレーション及び管理する。
・webアプリケーション、EJB、その他のリソースは管理対象サーバにデプロイし、管理サーバはコンフィグレーションや管理目的にのみ使用する。
・複数の管理対象サーバをクラスタにグループ化し、ロードバランシングフェイルオーバを利用できる。

・weblogicServerのシステム管理はJ2EE Managementモデルに基づく。
・各インスタンスをJ2EE管理対象オブジェクト(JMO)によって表現する。
 (JMO:MBeanの返り値を渡すためのプログラム(ラッパー))
 JMXを使用するか、WeblogicConsoleを使用する事でMBeanにアクセスし、管理タスクを実行する。

■ドメイン構成
・ビジネス上のニーズによって異なるドメイン構成を行う。
  アプリケーションの論理的区分
  物理的な場所
  管理サイズ
・1つの管理サーバと1つまたは福すの管理対象サーバ構成、管理サーバででプロイされたアプリケーションを実行するスタンドアロンサーバ構成どちらとも可能。

■ドメイン構成
管理サーバ
・各ドメインには管理サーバとして機能する1つのサーバインスタンスが必要。
・管理対象サーバを起動するには管理サーバの起動が必要。
 管理対象サーバは管理サーバにアクセスしコンフィグレーション情報を取得する。
・管理サーバが起動するとconfig.xmlファイルがロードされ、ドメインのconfigディレクトリのサブディレクトリにある、他のコンフィグレーションファイルを参照する。
 (BEA_HOME/user_projects/domains/mydomain/config)
・管理サーバが正常に起動するたびに、config-booted.jarファイルが作成されるので、インスタンス有効期間中にコンフィグレーションファイルが破損した場合は、このファイルを使用して以前のコンフィグレーションの復元が可能。

・管理サーバに障害が発生してもドメイン内の管理対象サーバの動作には影響しない。
・ドメインコンフィグレーションでサポートされているロードバランシグ、フェイルオーバ機能を利用する。
・管理サーバが動作していない環境でも管理対象サーバの起動が可能。
 (起動コンフィグレーションとしてコンフィグレーションのローカルコピーを使用する)

■リソース・サービス
・ドメイン内にはデプロイされたアプリケーションで必要となるリソースとサービスも含まれる。
<ネットワーク環境情報>
 マシン定義
  ノードマネージャが障害の発生した管理対象サーバを再起動する際などに使用する。
 ネットワークチャネル
  デフォルトのポート、プロトコル、プロトコル定義で使用するオプションのリソース。
<アプリケーション関連づけられた情報>
 

2008年2月27日水曜日

solarisシステム間でのIPsecの実装

1.root権限にて対象端末に接続。

2.各システムのホストエントリーを追加。
/etc/inet/hosts

3.各システムでIPsecポリシーファイルを作成。
/etc/inet/ipsecinit.conf

4.IPポリシーエントリをipsecinit.confファイルに追加。

5.2つのシステム間にIPsecSAペアを追加。
 ※IKEを設定する事でSAが自動で生成。

<IKE設定方法>
①各システムで/etc/inet/ike/configを作成。
#cp /etc/inet/ike/config.sample /etc/inet/ike/config

②各システムにて、規則とグローバルパラメータをike/config ファイルに入力。

-----------------------------------------------------------------------
## The rule to communicate with partym
# Label must be unique
{ label "enigma-partym" --設定名
local_addr 192.168.116.16 --自ホストのIPアドレス
remote_addr 192.168.13.213 --相手ホストのIPアドレス
p1_xform
{ auth_method preshared oakley_group 5 auth_alg md5 encr_alg 3des }
p2_pfs 5
}
-----------------------------------------------------------------------

③各システムにてファイルの有効性を確認。
#/usr/lib/inet/in.iked -c -f /etc/inet/ike/config

④キー情報の乱数を生成。
#od -X -A n /dev/random | head -2

⑤上記出力から1つの鍵を作成。
※認証アルゴリズムでMD5を使用する場合はハッシュサイズの128ビット(32文字)を使用する。

⑥各システムにて/etc/inet/secret/ike.preshared ファイルを作成。
 各ファイルに事前共有鍵を書き込む。

6.システムのリブート。
#init6

7.パケットが保護されている事を確認。

IPsec

「IPsec」とは?
・SSLなどの特定のアプリケーションでの暗号化ではなく、通信を暗号化するために考えられた仕組み。
・暗号化をIPプロトコルレベルで実装し、ホストごとのセキュリティを確保することを目的とする。
・インターネットを使用したVPNの構築に使われている。

■「暗号化」とは?
・暗号鍵を通信相手同士で交換し、送信側にて暗号鍵を使って暗号化し、受信側にて暗号鍵を使って複合化を行う。
・暗号鍵の計算方式の違いによって各種暗号化方式のバリエーションが存在している。

■暗号通信の種類
「共有鍵暗号方式」
 ・暗号化と復号化で同じ暗号鍵を使用する。
 ・鍵の生成は送信側/受信側どちらでもよい。
 ・鍵を通信相手同士で共有するため、鍵の受け渡しの途中で外部に漏れた場合は秘密が守れなくなる。
 ・DES(Data Encryption Standard)
「公開鍵暗号方式」
 ・暗号化と復号化で別々の暗号鍵を使用する。
 ・受信側で「秘密鍵」と「公開鍵」生成し、公開鍵を相手側へ渡す。
  送信側は公開鍵を使用して暗号化を行い受信側へ送信する。
  受信側で「秘密鍵」にて復号化を行う。
  (公開鍵で暗号化されたものは、秘密鍵でないと復号化できない)
 ・RSA

■暗号化の問題点
・暗号化は「機密性」を満たすだけで、通信内容を隠すだけの役割しかない。
 セキュリティを考えると、「完全性の確保」と「認証」という条件を満たす必要がある。
・「完全性の確保」とは通信内容が通信途中で改変されることなく、通信相手に届く事が保障される事。
・「認証」とは通信相手が確かに意図した相手本人であるかが保障される事。
・暗号鍵が第三者に漏れてしまうと暗号化の意味がなくなってしまう。

■IPsecの仕組み
・暗号化通信方式の標準規格である。
 →利用する暗号化アルゴリズムは特定せず、あらゆる暗号を利用できるような柔軟な枠組みを提供。
・暗号化方式として共有鍵暗号化方式を採用している。
 →公開鍵より暗号化、復号化の速度が高速なため。

①通信時に使用する暗号化アルゴリズムと暗号鍵は事前に手動で設定する。
 (もしくは、通信相手との事前折衝の段階で決定する。)
 →こられの決定をSA(Security Association)という。
SPI(Security Pointer Index)の32ビット整数値の割り当ての実施。
 →通信内容がどのような暗号化アルゴリズムで、どの暗号鍵を使うかといったガイドラインとなる情報。
 →複数の相手とそれぞれ異なる暗号化アルゴリズム、暗号鍵による通信を実施する場合に、SPIの検索キーを使って必要な情報を引き出す。

■鍵交換に使用するプロトコル「IKE(Internet Key Exchange)
・SAの合意を自動的に行うことが可能な鍵交換プロトコル。
・鍵交換の段階で内容が漏れては意味がないので、IKE自体で暗号化通信をサポートしてる。
 鍵生成に「Diffie―Hellman」という方式を利用し、IKEの暗号通信を実施。

■データ転送に利用するプロトコル「ESP(Encapsulating Security Payload)
・暗号化された通信内容にSPI、シーケンス番号、認証データの3つの情報を付加しESPと呼ばれる入れものにパックする。
「トランスポート・モード」
 IPパケットで運ぶデータ部分のみを暗号化し、宛先情報のIPヘッダをつけて送信する。
「トンネル・モード」
IPヘッダとデータ部分をまとめて暗号化したうえで、新たにIPヘッダを再度つけ直して送信する。

■認証データ「MAC(Message Authentication Code)
・通信内容とパスワードを合わせたものに対して、ハッシュ関数と呼ばれる計算方法による演算を施した計算結果の事。
 (IPsecでは、ハッシュ関数としてMD5アルゴリズムを使用したメッセージ・ダイジェストを使用している)
・パスワードは事前に通信相手同士にて交換を行う。
・MAC内のデータと、事前のパスワードにより受信側でも計算を実施し、受け取ったMACと比較して相違があれば改ざんされている事になる。

■完全性の保証と認証のためのプトロコル「AH(Authentication Header)
・データの暗号化は行わず、SPI、シーケンス番号、認証データのみをパックして通常のIPパケットの中に加える。(ESPと同じ役割)
・暗号化通信が使えないというケースのために使われている仕組み。

2008年2月26日火曜日

solarisセキュリティ2

■コンピュータへのアクセス制御
「物理的なセキュリティー管理」
・入退室管理
・サーバラックへの施錠
・PROMへのパスワードの設定

「ログイン制御管理」

・アカウントへのパスワードの設定

「パスワード情報管理」

・有効期限の設定
・アカウントロックアウト
・パスワード暗号化
 /etc/security/policy.confに暗号化アルゴリズムを指定

「デバイスアクセス制御」
・デバイスポリシー
 デバイスへのアクセスを行うプロセスについて特定の権限を必要条件とする。
・デバイス割り当て
 承認されたユーザーにだけデバイスの使用を限定する。

「リソースへのアクセス制限」
・役割によるアクセス制御
 役割ごとに権限を分散し、権限の集中を回避する。
・PATH変数の設定
 正しいPATH変数を設定する事によりトロイの木馬の実行を防ぐ。
 自動セキュリティー拡張ツール(ASET)は起動ファイルのPATHが正しいか調べる。
・制限付きシェルの割り当て
 /usr/lib/rshコマンド。
・ファイルへのアクセス制限
 ファイル権限とアクセス制限リスト(ACL)
・自動セキュリティー拡張ツール(ASET)
・Solaris Security Toolkit
 ASETより柔軟で拡張性のあるメカニズム。
・Solarisリソース管理機能
・Solarisゾーン
・ファイルの整合性監視
 基本監査報告機能(BART)

「ファイルアクセス制御」
・ファイル暗号化
 digest、mac、encryptファイル保護コマンド。
・アクセス制限リスト(ACL)

「ネットワークアクセス制御」
・IPsec
・Kerberos
・リモートログインコマンド
・Solaris Secure Shell


solarisシステム管理者

inetd

そもそもサーバとは?
・クライアントに対してサービスを提供するもの。クライアントから要求があった場合にそれを受け付けて処理をしなければならない。
→クライアントからのサービス(特定のポート)へのアクセスを見張っているプログラムがサーバになる。

しかし、いろんなサーバーがそれぞれのポートを見張るためだけに起動していると、メモリやCPUなどのリソースを必要としてしまう。
それを避けるために1つのプロセスでいろんなポートを見張っていて、クライアントからの通信が来た時に初めてサーバを起動する仕組みがある。
この役割を行ってくれるのが『inetd』/etc/inetd.confの設定ファイルを基に動作している。

※コネクションが終了するとサーバプロセスも停止してしまうので、sendmailやhttpdのような実行速度を重視するサーバは自前でのポート監視を実装している。

FTPでの制限

■ユーザー毎のFTPの使用を制限
・/etc/ftpd/ftpusersファイルへFTPサーバへのアクセスを拒否するユーザーを列挙する。

■ホスト単位でのFTPアクセスの制限
・/etc/ftpd/ftphostsに複数のホストからFTPサーバ上の複数のアカウントへのログインを許可、拒否。

■classによるFTPの制限
・/etc/ftpd/ftpaccessにclassによるユーザーの定義を行い、class単位での制限を実施する。
①classの定義
class クラス名 ユーザー種類[匿名ユーザー|ゲストユーザー|実ユーザー] アクセス元
例)
class local anymous,guest,real 192.168.1.0/24
→192.168.1.0のセグメントからアクセスしてきた匿名、ゲスト、実ユーザーlocalクラスとして定義する。

②ログイン可能ユーザー数、時間の制限
limit クラス名 ユーザー数 接続可能時間 メッセージファイル
例)
limit local 50 Wk0800-1800 /var/ftp/message
→毎週勤務時間でのlocalクラスに属するユーザーからの同時ログイン数を50に制限する。
 ログイン制限数に達した場合は/var/ftp/messageファイルの内容が表示される。

③ログイン試行回数の制限
loginfails 試行回数
例)
loginfails 5
→ログイン試行に5回失敗するとFTPから切断され、メッセージがsyslogファイルへ記録される。