ネットワークサービスデーモン・SSH

ネットワークサービスデーモン

ネットワークサービスデーモンとは

クライアントからの接続依頼を受けて、入出力をネットワーク経由で行なう プログラムをネットワークサービスデーモンという。 サービスデーモンのうち、つねに起動していて直接クライアントからの 接続を待ち受けするものと、接続要求が発生してから起動されるものの 2つがある。

クライアントから特定のポートに接続要求が来たことを検知して、 対応するネットワークサービスデーモンを起動するデーモンを スーパーデーモンといい、代表的なものとして inetd, xinetd, tcpserver がある。

セキュリティ上の問題から、悪意あるホストから 特定のネットワークサービスに対する接続を拒否する必要が出ることがある。 スーパーデーモンには特定のクライアントアドレスに対して接続拒否したり、 最大同時接続数を制限したりする機能がある。

代表的なスーパーサーバ

inetd

伝統的なスーパーサーバ。/etc/inetd.conf から定義を読み込む。

inetd+libwrap

アクセス制御を行なう tcpwrapper のライブラリ(libwrap)を 組み込んだinetd。PC-Unixでは一般的。

xinetd

Linuxで主に使われている改良版inetd。

tcpserver

高速大量のアクセス制御機能を持つスーパーサーバ。1つの tcpserverプログラムで1つのネットワークサービスデーモン起動を 受け持つ。

SSH

リモートホストとの通信全般を暗号化できるのがSSHである。 リモート管理をするには必須ツールである。

ssh [オプション] リモートホスト [リモートコマンド]

覚えておくべきオプション -l, -C, -p, -A, -a, -f, -X, -x, -o, -L, -R

-L と -R でポートフォワードを行なうことで、様々なサービスを 暗号化トンネルに通すことができる。

例1: リモートホスト rem で上がっているSMTPサービス(25 番ポート)へローカルホストの10025番ポートをフォワードする。

% ssh -L 10025:rem:25 rem

例2: ローカルホストで上がっているPOPサービス(110 番ポート)へリモートホスト rem2 の10110番ポートをフォワードする。

% ssh -R 10110:localhost:110 rem2

rsync

リモートホスト間でファイルの同期を取るツールである。 ホスト間の通信にSSHを利用するため、 リモートバックアップ、リモートコピーを安全に行なうことができる。

-L オプションに与えるホスト名はリモートホストから見たホスト名、 -R オプションに与えるホスト名は、ローカルホストから見たホスト名。

覚えておくべきオプション -a, -v, -z, -H, -x, --delete, --exclude

例: ローカルホストの ./foo ディレクトリを リモートホスト rem の ~/bak/foo と同期させる。

% rsync -azH --delete foo rem:bak
yuuji@koeki-u.ac.jp