MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報


Linux技術トレーニング 基本管理コース I

第5章 ネットワークの設定と操作

  1. ネットワークの基本設定
    1-1.ネットワーク・サービスの起動と停止
    1-2.ネットワークの各種設定ファイル
     (1)ネットワークの設定ファイル【1】
     (2)ネットワークの設定ファイル【2】
     (3)ネットワークの設定ファイル【3】
    1-3.ネットワーク設定の確認
  2. ネットワーク・サーバ機能の設定
    2-1.TELNET
     (1)TELNETについて
     (2)TELNETサービスの設定と起動
    2-2.SSH
     (1)SSHについて
     (2)SSHサービスの起動と停止
     (3)SSHサービスの設定
     (4)SSHの利用 −ユーザー名/パスワードによる認証
     (5)SSHの利用 −公開鍵・秘密鍵による認証
     (6)SSHを使用したツール
    2-3.FTP
     (1)FTPについて
     (2)FTPサービスの起動と停止
     (3)FTPサービスの設定

2. ネットワーク・サーバ機能の設定
2-1. TELNET
(1)TELNETについて
  • UNIXの世界では標準的なリモート操作機能
    • デフォルトでは、利用不可
  • ネットワーク上を流れるデータが暗号化されないため、容易に盗聴できるといったセキュリティ上の問題がある。

TELNET

MIRACLE LINUXだけでなく、UNIX系のOSで幅広くサポートされている代表的なリモート操作の機能です。また、クライアントツールに関しても、UNIX系に限らず、ほとんどのOSにおいて、標準的に装備されているため、比較的利用しやすい環境が整っているといえます。

しかし、TELNETは、通信で使用するデータが暗号化されないため、容易に盗聴できるといったセキュリティ上の問題があります。したがって、インターネット等を使用して、リモート操作をする場合は、後述のSSHを使用するケースが増えてきています。それ故、 MIRACLE LINUXでは、デフォルトでは、TELNETサービスが利用できないように設定されています。

ただ、比較的狭い範囲で行う開発環境など、このようなセキュリティ問題を気にする必要のない環境では、利用環境が整っているTELNETを使用するケースが少なくありません。


(2)TELNETサービスの設定と起動
  • 以下の手順で設定
    • /etc/xinetd.d/telnetファイルの編集
    • xinetdサービスの起動あるいは再起動
      起動
      # /sbin/service xinetd start
      再起動
      # /sbin/service xinetd restart
      ブート時の自動起動設定
      # /sbin/chkconfig xinetd on

xinetdサービス

xinetedサービスは、inetdに代わるスーパーサーバです。スーパーサーバとは、FTPやTELNETなどのサーバープロセスを必要に応じて起動するデーモンです。

telnet サービスを有効にするには

MIRACLE LINUX は、telnet サービスが無効化された状態で出荷されています。
現在 telnet サービスが有効化されているか無効化されているかを確認するには、chkconfig コマンドを実行してください。

# /sbin/chkconfig --list telnet

「telnet on」 と返ってきたら telnet サービスはすでに有効になっています。
「telnet off」 と返ってきた場合は、以下のコマンドを実行してください。

# /sbin/chkconfig telnet on

すでに xinetd サービスが起動している場合、telnetサービスが使えるようになります。
xinetd サービスが起動しているかどうかを確認するには、以下のコマンドを実行してください。

# /sbin/service xinetd status

「xinetd (pid XXXX) is running...」 と表示されればすでに起動しています。
「xinetd is stopped」 と表示された場合は、以下のコマンドを実行して xinetd サービスを起動してください。

# /sbin/service xinetd start
# /sbin/chkconfig xinetd on

【注意】telnet サービスは通信中のデータが暗号化されない ため、次章で解説するよりセキュアな SSH サービスのご利用を お勧めします。


2-2. SSH
(1)SSHについて
  • TELNETより、安全なリモート操作環境を提供
    • 通信内容の暗号化
    • 通信相手の確認
    • デフォルトで利用可能
  • 2つのプロトコルによりリモート操作を実現
    • SSH1
    • SSH2

SSH

SSHは、TELNETと同様にリモート操作の機能を提供します。ただし、SSHは、以下のTELNETのセキュリティ上の問題を解決しています。

  • 通信内容が暗号化できない。
    • TELNETでは、ネットワーク上を平文のデータが流れるため、ログインID、パスワードといった他人に秘密にしたいデータも簡単に盗み見られる可能性があります。
  • 通信相手が本物かどうか確認できない。
    • 物理的に近い端末にログインする場合は、それが本物であることを暗黙のうちに確認していますが、遠く離れたネットワークでは、それが本物であるか確認するすべがありません。例えば、ログインするシステムが偽者で、ログインID、パスワードを盗むための悪意のある偽のシステムである可能性があります。
SSH1とSSH2

SSHには、現在SSH1とSSH2という2つの互換性のないプロトコルが存在します。 どちらも、共に、DSAやRSAなどの公開鍵暗号技術を利用して、相手の認証、通信の暗号化実現し、リモート操作の安全性を確保しています。


(2)SSHサービスの起動と停止
  • 起動
    # /sbin/service sshd start
  • 停止
    # /sbin/service sshd stop
  • 再起動
    # /sbin/service sshd restart
  • 確認
    # /sbin/service sshd status
  • ブート時の自動起動設定
    # /sbin/chkconfig sshd on

SSHサービスの起動と停止

SSHは、TELNETと異なり、xinetdサービスではなく独自のSSHサービスから起動されます。なお、MIRACLE LINUXにおいて、このSSHサービスは、デフォルトで動作しています。

一方、スライドのコマンドを使用することによって、手動にて、起動、停止、再起動および起動状態の確認をすることができます。


(3)SSHサービスの設定
  • 以下の手順で設定
    • /etc/ssh/sshd_configファイルの編集
    • sshdサービスの再起動
  • デフォルトの設定
    • ポート 22
    • rootユーザでのログイン不可

/etc/ssh/sshd_config

通常の運用では、デフォルトの設定で問題ありませんが、要求に応じてこの設定ファイルを編集し、sshdサービスを再起動することによって設定を変更することができます。

この設定ファイルに指定可能な各パラメータの詳細については、本テキストでは取り扱いません。詳細は、「man sshd_config」コマンドを参照してください。

リモートからのrootユーザでのログイン

デフォルトの設定では、リモートからのrootユーザでのログインは禁止されています。
これを許可するようにしたい場合は、設定ファイルの以下の部分を変更し、 sshdサービスを再起動します。

  • 変更前
    PermitRootLogin  no
  • 変更後
    PermitRootLogin  yes

(4)SSHの利用 - ユーザ名/パスワードによる認証 -
  • TELNETと同様のユーザ名とパスワードの認証によるログイン
    # /usr/bin/ssh [ユーザ名@]ホスト名(or IPアドレス)
    • 例1) 現在ログイン中のユーザ名と同じユーザ名を使用して「host1」サーバへのログイン
      # /usr/bin/ssh host1
    • 例2)「test」というユーザ名を使用して「host1」サーバへのログイン
      # /usr/bin/ssh test@host1

SSHの利用

SSHでリモートサイトにログインするためには、スライドのコマンドを使用します。

対象となるリモートサイトに初めてアクセスした場合、以下の通り、相手ホストの情報を保存しておくかどうかたずねられるので、「yes」と答えてください。

#/usr/bin/ssh host1
The authenticity of host 'host1 (172.16.44.143)' can't be established.
RSA key fingerprint is 4e:e4:64:62:8c:2a:d5:52:ea:64:14:82:a3:57:35:b8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'host1,172.16.44.143' (RSA) to the list of known hosts.
root@host1‘s password: <パスワードの入力>
Last login: Wed Jul 13 16:18:43 2005 from dhcp1001.spr.cslab.co.jp

相手先ホストの情報については、「~/.ssh/known_hosts」に保存されます。


(5)SSHの利用 - 公開鍵・秘密鍵による認証 -
  • ローカルマシンで公開鍵と秘密鍵の対を生成
    $ /usr/bin/ssh-keygen -t dsa
    以下の2つのファイルを生成
    • 公開鍵: ~ユーザ名/.ssh/id_dsa.pub
    • 秘密鍵: ~ユーザ名/.ssh/id_dsa
  • サーバマシンに自分の公開鍵を登録
    以下のファイルに、自分の公開鍵のテキスト内容を追記する
    • ~ユーザ名/.ssh/authrized_keys

パスワード認証によらないログインの実現

SSHでは、認証の強化と安全性の確保のため、パスワードに依存しない認証(公開鍵認証)を可能にしています。環境の設定の手順は、以下の通りとなります。

ローカルマシンで公開鍵と秘密鍵の対を生成

スライドのコマンドを使用して、公開鍵と秘密鍵の対を生成します。この時、以下のように「鍵ファイルの保存場所」と「パスフレーズ」を聞かれますので、この時は何も入力せず[enter]キーを押してください。

$ /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/foo/.ssh/id_dsa): [enter]
Enter passphrase (empty for no passphrase): [enter]
Enter same passphrase again: [enter]
Your identification has been saved in /home/foo/.ssh/id_dsa.
Your public key has been saved in /home/foo/.ssh/id_dsa.pub.
The key fingerprint is:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX foo@host0
$
生成された鍵ファイル

鍵ファイルは、上記コマンドで指定した場所に、以下のように生成されます。

  • 秘密鍵ファイル:id_dsa
  • 公開鍵ファイル:id_dsa.pub
サーバマシンに自分の公開鍵を登録

ログイン先のマシンのログインするユーザのホームディレクトリの直下の「.ssh/authorized_keys」ファイルに公開鍵(id_dsa.pub)の内容を追記します。このファイルが存在しない場合は、新規に作成します。公開鍵の内容は、テキストのため、単純にコピー&ペーストできます。

例)ログインするユーザ名がfooであり、そのホームディレクトリが/home/fooの場合

  • /home/foo/.ssh/authorized_keyに公開鍵の内容を追記していく
秘密鍵の管理

秘密鍵の管理を厳重に行い、決して他人に盗み出されないように注意してください。この内容が他人に知られると、その人があなたになりすまして、リモートホストにログインできるようになってしまいます。

鍵生成時のパスフレーズについて

鍵の生成の際に、パスフレーズを指定した場合、SSHクライアントを起動するたびに、パスフレーズの入力を求められます。これは、クライアント側の秘密鍵がこのパスフレーズで暗号化されていて、これを復号化して生の秘密鍵を取り出す必要があるからです。したがって、このパスフレーズとSSHサーバ、クライアント間の認証とは、直接の関係はありません。


(6)SSHを使用したツール
  • SSHプロトコルを使用した安全なデータ転送を実現するファイル転送ツール
    • /usr/bin/scp
      # /usr/bin/scp filename useid@remote_host:/dir
    • /usr/bin/sftp
      # /usr/bin/sftp userid@remote_host
  • SSHの設定が終了していれば、その他の設定をせずとも使用可能

SSHを使用したツール

SSHプロトコルを使用したツールがいくつか存在します。これらツールは、SSHの認証機能、暗号化機能を使用して、リモートホスト間と安全なデータ転送機能を実現します。ここでは代表的な2つのコマンドを紹介いたします。これらコマンドは、先にご紹介したSSHの設定が完了していれば、その他の設定をせずとも使用でき、大変便利なコマンドです。

/usr/bin/scpコマンド

従来のrcpコマンドと同等の機能をSSHプロトコル上で実現します。

# /usr/bin/scp [-r] <コピー元> <コピー先>
  • -r :コピー元にディレクトリを指定して、その下を再帰的にコピーする時に指定
  • コピー元、コピー先の指定方法 :
    [[ユーザID@]ホスト名:]<パス>
    • ユーザIDを省略した場合、ログイン中のユーザIDを使用します。
    • ホスト名を省略した場合は、ローカルホストを指定したことになります。
/usr/bin/sftpコマンド

従来のftpコマンドと同等の機能をSSHプロトコル上で実現します。

[root@localhost ~]# sftp remote_host
Connecting to remote_host...
root@remote_host‘s password: <パスワードを入力>
sftp> help
Available commands:
cd path                  Change remote directory to 'path'
lcd path                 Change local directory to 'path'
chgrp grp path           Change group of file 'path' to 'grp'
chmod mode path          Change permissions of file 'path' to 'mode'
chown own path                Change owner of file 'path' to 'own'
help                          Display this help text
get remote-path [local-path]  Download file
lls [ls-options [path]]       Display local directory listing
ln oldpath newpath            Symlink remote file
lmkdir path                   Create local directory
lpwd                          Print local working directory
ls [path]                     Display remote directory listing
lumask umask                  Set local umask to 'umask'
mkdir path                    Create remote directory
progress                      Toggle display of progress meter
put local-path [remote-path]  Upload file
pwd                           Display remote working directory
exit                          Quit sftp
quit                          Quit sftp
rename oldpath newpath        Rename remote file
rmdir path                    Remove remote directory
rm path                       Delete remote file
symlink oldpath newpath       Symlink remote file
version                       Show SFTP version
!command                      Execute 'command' in local shell
!                             Escape to local shell
?                             Synonym for help
sftp>

2-3. FTP
(1)FTPについて
  • TCP/IPネットワークにおける代表的なファイル転送手法
      以下のいずれかの利用形態が選択可能
    • マシンアカウントを持つ特定ユーザのみ利用可能
    • 不特定多数のユーザが利用可能(AnonymousFTP)
  • MIRACLE LINUXでは、FTPサーバとして、『ProFTPD』を採用
    • デフォルトで利用不可

FTP

TCP/IPネットワークにおける代表的なファイル転送の手法であり、現在でも広く使用されています。

FTPの利用形態としては、大きく以下の2つがあります。
  • サーバマシンにアカウントを持つユーザのみ利用可能
    • マシンに対しファイルの書き込みを実施するなど、ユーザを特定して、FTPのアップロード機能を使用させたい場合に主に使用する。
    • 不特定多数のユーザが利用可能にする(AnonymousFTP)
  • ソフトウェアのパッチや、オープン・ソースの配布等、不特定多数の相手に、ダウンロードのみ許す場合に主に使用する。

MIRACLE LINUXでは、FTP機能をProFTPDというオープンソースのサーバ製品を使用して実現しています。

デフォルトでは、 このProFTPDは利用不可となっているため、FTPサーバとしてMIRACLE LINUXを使用する場合は、後述する設定を実施する必要があります。


(2)FTPサービスの起動と停止
  • 起動
    # /sbin/service proftpd start
  • 停止
    # /sbin/service proftpd stop
  • 再起動
    # /sbin/service proftpd restart
  • 確認
    # /sbin/service proftpd status
  • ブート時の自動起動設定
    # /sbin/chkconfig proftpd on

FTPサービスの起動と停止

FTPの起動方法には、以下の二通りが存在します。

  • xinetdサービス経由での起動
  • proftpdサービスからの起動
本コースでは、後者の場合のみ取り扱います。

MIRACLE LINUXにおけるFTPサービスであるproftpdの起動、停止、再起動および起動状態の確認については、上記(2)のコマンドにて実施します。


(3)FTPサービスの設定
  • 以下の手順で設定
    • /etc/proftpd.confファイルの編集
    • proftpdサービスの再起動
  • デフォルトの設定
    • ポート 21
    • 特定ユーザ利用
      • 自身のホームディレクトリ下のみアクセス可能
      • 読み書き可能
    • AnonymousFTP利用可能
      • /var/ftpのディレクトリ下のみアクセス可能
      • 読み込みのみ可能

etc/proftpd.conf

ProFTPDの設定は、この設定ファイルにて設定します。要求に応じてこの設定ファイルを編集し、proftpdサービスを再起動することによって設定を変更することができます。

この設定ファイルには、Apacheの設定ファイルの形式に似た方式で記述します。
設定は、<Directory>〜</Directory>のようなブロックで有効範囲を指定できます。 ブロックの種類には、次のものがあります。

  • <Anonymous> : AnonymousFTPログインの設定
  • <Directory> : 設定対象ディレクトリの設定
  • <Global>   : メインのサーバ設定と、VirtualHostブロックに適用される設定
  • <Limit>   : FTPコマンドのアクセス制限の設定
  • <VirtualHost>: 仮想FTPサーバの設定

ProFTPDには様々な設定パラメータがあり、それぞれのパラメータには初期値や、指定可能ブロックなどがあります。各パラメータの詳細については、ProFTPDパッケージに含まれるCondfiguration.htmlを参照してください。


第5章 1へ 第6章 1へ

■この資料の評価をお願いします。
とても参考になった
参考になった
どちらでもない
あまり参考にならなかった
まったく参考にならなかった

コメントがある場合は以下に記述してください。技術資料として取り上げてほしいテーマも受け付けています。

以下は任意です。

お名前(フルネーム) :
会社名 :
メールアドレス :
 

会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2015 MIRACLE LINUX CORPORATION. All Rights Reserved.