SSHの設定


SSH(Secure SHell)はtelnetに代わる、セキュアなログインプログラムです。
ネットワーク上を流れるデータを暗号化して送る為、telnetよりセキュアなログイン方法です。

telnetはデータを平文でネットワークに流すため、盗聴された場合にパスワードの漏洩の危険があります。
自宅のネットワーク内だけで通信する場合にはtelnetでも問題はありませんが、後々自宅外から接続する可能性を考え、SSHを使うことにしました。

openssh-serverのインストール

apt-getを使ってSSHデーモンをインストールします。

# apt-get install openssh-server
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています               
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  openssh-blacklist openssh-blacklist-extra
提案パッケージ:
  ssh-askpass rssh molly-guard
以下のパッケージが新たにインストールされます:
  openssh-blacklist openssh-blacklist-extra openssh-server
アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。
4547kB のアーカイブを取得する必要があります。
この操作後に追加で 9179kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://ftp.jp.debian.org lenny/main openssh-blacklist 0.4.1 [2125kB]
取得:2 http://ftp.jp.debian.org lenny/main openssh-blacklist-extra 0.4.1 [2127kB]
取得:3 http://ftp.jp.debian.org lenny/main openssh-server 1:5.1p1-5 [295kB]
4547kB を 1s で取得しました (2579kB/s)
パッケージを事前設定しています ...
未選択パッケージ openssh-blacklist を選択しています。
(データベースを読み込んでいます ... 現在 102604 個のファイルとディレクトリがインストールされています。)
(.../openssh-blacklist_0.4.1_all.deb から) openssh-blacklist を展開しています...
未選択パッケージ openssh-blacklist-extra を選択しています。
(.../openssh-blacklist-extra_0.4.1_all.deb から) openssh-blacklist-extra を展開しています...
未選択パッケージ openssh-server を選択しています。
(.../openssh-server_1%3a5.1p1-5_i386.deb から) openssh-server を展開しています...
man-db のトリガを処理しています ...
openssh-blacklist (0.4.1) を設定しています ...
openssh-blacklist-extra (0.4.1) を設定しています ...
openssh-server (1:5.1p1-5) を設定しています ...
Creating SSH2 RSA key; this may take some time ...
Creating SSH2 DSA key; this may take some time ...
Restarting OpenBSD Secure Shell server: sshd.
#

インストール後、sshdが自動的に起動します。

Tcp Wrappersによるアクセス制御の設定

/etc/hosts.allowにssh接続を許可するホストを書いて置きます。
自宅内のローカルネットワーク(192.168.0/24)からのみ全てのサービスを許可します。

# vi /etc/hosts.allow
# /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5) and hosts_options(5).
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#

ALL : 192.168.0.

次にhosts.denyには全てのホストから全てのサービスを拒否する設定がされているか確認します。

# cat /etc/hosts.deny
# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.
#                  See the manual pages hosts_access(5) and hosts_options(5).
#
# Example:    ALL: some.host.name, .some.domain
#             ALL EXCEPT in.fingerd: other.host.name, .other.domain
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8) and rpc.mountd(8)
# for further information.
#
# The PARANOID wildcard matches any host whose name does not match its
# address.

# You may wish to enable this to ensure any programs that don't
# validate looked up hostnames still leave understandable logs. In past
# versions of Debian this has been the default.
# ALL: PARANOID

ALL:    ALL

/etc/ssh/sshd_configの編集

rootからの直接ログインを禁止します。
また、標準のポート22番を使ったままインターネットからのSSH接続を許可すると、22番ポートに大量の不正アクセスをされてしまいます。
実際には不正アクセスが失敗するとしても、大量のログが残ることとサーバーの負荷が上がってしまうので、ポート番号を22番から変更しておきましょう。

# vi /etc/ssh/sshd_confg
#PermitRootLogin yes
PermitRootLogin no

#Port 22
Port 1234            ←他のサービスと競合していない任意のポート番号を指定

設定が終わったらsshdを再起動させ、正常にログインできるか確認します。

# /etc/init.d/ssh restart
Restarting OpenBSD Secure Shell server: sshd.
#

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


9 − 4 =

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>