title

Top  >> Vine Linux Menu  >> SSH サーバ  >> SSH サーバの設定

SSH サーバの設定

 sshd_config の設定内容

 SSH の設定は、/etc/ssh/sshd_config を編集します。 このファイルを編集する事により、アクセス制限や認証方法を変更する事ができます。 以下に、 sshd_config の内容と編集箇所を示します。 行頭の「#」は、その行がコメントアウトされている事を表します。

#	$OpenBSD: sshd_config,v 1.69 2004/05/23 23:59:53 dtucker Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

 設定ファイルについて書いてあります。

#Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
Port
SSH が接続を受けるポート番号。(default:22)
Protocol
サーバ側でサポートするSSH のバージョン。(default:1,2) バージョン1と2のどちらで接続するかはクライアントが指定しますが、ここで受け付けるバージョンを限定する事により接続を限定できます。 例えば、バージョン2のみに限定する場合には、この行のコメントアウトを削除し、「Protocol 2,1 → Protocol 2」とする事でバージョン1の接続を拒否できます。
ListenAddress
SSH が接続を受け付けるローカルアドレス。
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey
SSH で使われる秘密鍵が格納されるファイル。 バージョン1ではssh_host_key 、バージョン2ではssh_host_rsa_key 及びssh_host_dsa_key が使用されます。
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 768
KeyRegenerationInterval
バージョン1で鍵を再生成する間隔。(default:3600秒)
ServerKeyBits
バージョン1で使われる鍵のビット数。(default:768bit)
# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
SyslogFacility
sshd が出力するログメッセージの分類コード。(default:AUTHPRIV)
LogLevel
sshd が出力するログメッセージの冗長性レベル。
# Authentication:

#LoginGraceTime 2m
#PermitRootLogin yes
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6
LoginGraceTime
ログインの際の猶予時間。(default:120秒)
PermitRootLogin
root のログイン制限。(default:no) root がSSH でログインできる状態は非常に危険なので、許可すべきではありません。
StrictModes
ログイン前にユーザのディレクトリやファイルのパーミッションのチェック。(default:yes)
MaxAuthTries
1接続あたりの最大認証回数。(default:6)
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile	.ssh/authorized_keys
RSAAuthentication
RSA 認証の許可。(default:yes) このRSA 認証はバージョン1のみ対応です。
PubkeyAuthentication
公開鍵認証の許可。(default:yes) このRSA 認証はバージョン2のみ対応です。
AuthorizedKeysFile
認証に使われる公開鍵のファイル。(default:.ssh/authorized_keys)
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
RhostsRSAAuthentication
RSA 認証が成功した時、rhosts を使った認証を許可。(default:no) この項はバージョン1のみ対応です。
HostbasedAuthentication
公開鍵認証が成功した時、rhosts を使った認証を許可。(default:no) この項はバージョン2のみ対応です。
IgnoreUserKnownHosts
上記2つの認証において、~/.ssh/known_hosts を使用。(default:no)
IgnoreRhosts
上記2つの認証において、~/.rhosts 及び~/.shosts を使用。(default:yes)
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication
パスワード認証を許可。(default:yes) パスワード認証を拒否したい場合には、コメントアウトを削除して「yes → no」にします。
PermitEmptyPasswords
空のパスワードを許可。(default:no)
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication
チャレンジレスポンス認証の許可。(default:yes)
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
KerberosAuthentication
ケルベロス認証の許可。(default:no)
KerberosOrLocalPasswd
ケルベロス認証が失敗した場合のローカルパスワード認証許可。(default:yes)
KerberosTicketCleanup
ログアウト時にケルベロス用キャッシュの自動消去。(default:yes)
KerberosGetAFSToken
ケルベロスでAFS トークンを取得。(default:no)
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
GSSAPIAuthentication
GSSAPI 認証の許可。(default:no)
GSSAPICleanupCredentials
ログアウト時にGSSAPI 用キャッシュと証明書の自動消去。(default:yes)
# Set this to 'yes' to enable PAM authentication, account processing, 
# and session processing. If this is enabled, PAM authentication will 
# be allowed through the ChallengeResponseAuthentication mechanism. 
# Depending on your PAM configuration, this may bypass the setting of 
# PasswordAuthentication, PermitEmptyPasswords, and 
# "PermitRootLogin without-password". If you just want the PAM account and 
# session checks to run without PAM authentication, then enable this but set 
# ChallengeResponseAuthentication=no
#UsePAM no
UsePAM
PAM(Pluggable Authentication Module)認証の許可。(default:no)
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression yes
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10
AllowTcpForwarding
TCP 転送の許可。(default:yes)
GatewayPorts
ポート中継の許可。(default:no)
X11Forwarding
X11転送の許可。(default:yes)
X11DisplayOffset
X11が転送するディスプレイ番号。(default:10)
X11UseLocalhost
X11 をlocalhost のみ許可。(default:yes)
PrintMotd
ログイン時に/etc/motd ファイルの内容を表示。(default:yes)
PrintLastLog
ログイン時に前回ログインした日付と時刻を表示。(default:yes)
TCPKeepAlive
TCP キープアライブメッセージを送信する。(default:yes)
UseLogin
ログインでlogin プログラムを使用。(default:no)
UsePrivilegeSeparation
root 権限の分離。(default:yes)
PermitUserEnvironment
ユーザの環境変数変更を許可。(default:no)
Compression
圧縮を許可。(default:yes)
ClientAliveInterval
クライアントの接続チェック間隔。(default:0(チェックしない))
ClientAliveCountMax
クライアントの接続チェック最大カウント数。(default:3)
UseDNS
DNS を使用してリモートホスト名を確認。(default:yes)
PidFile
sshd のプロセスID を格納するファイル。(default:/var/run/sshd.pid)
MaxStartups
sshd が認証成功までの接続を受け付ける最大数。(default:10)
# no default banner path
#Banner /some/path
Banner
認証が許可される前にユーザに表示されるファイル。(default:バナーなし)
# override default of no subsystems
Subsystem	sftp	/usr/libexec/openssh/sftp-server
Subsystem
サブシステムを設定します。 サブシステム名と要求に対して実行されるコマンドを定義します。 ここでは「sftp」が定義されています。

設定後は、デーモンを再起動して反映させます。

# /etc/rc.d/init.d/sshd restart

 設定項目はたくさんありますが、実際に編集するのはそれほど多くありません。 最近は、ほとんどプロトコルバージョン2が使われるので、バージョン1に関する項目は禁止に設定できます。 高度な設定もいくつかありますが、最低でも以下の設定は行うようにします。


このページのTop へ

 SSH に関わるsshd_config 以外の設定

 SSH によるリモートアクセスのセキュリティを高めるには、sshd_config の設定の他にも対策が必要です。 特に重要なのは以下の項目です。

 パスワード方式は、パスワードが漏れたり、あるいは辞書攻撃、総当り攻撃(これらの攻撃で破られるパスワードは設定してはいけません)で不正侵入される可能性が鍵交換方式に比べて高いです。 一方、鍵交換方式でであれば、秘密鍵が漏れない限りは不正侵入される可能性が非常に低くなります。 このため、鍵交換方式の認証を用いてパスワード方式の認証を禁止する事により、不正侵入の可能性を減らす事ができます。

 パスワード方式、鍵交換方式のどちらでも言える事ですが、SSH で接続可能なホスト/ユーザをサーバ側で設定する事により、意図しない接続を拒否する事ができます。 認証方式だけでなく、外部・内部どちらからの接続でもセキュリティを高める有効な手段と言えます。

 ログインをログを監視する事も重要です。 とは言っても、常にログを凝視している訳にもいかないので、アプリケーションに監視させ、最終的な結果を見る方法などがあります。


このページのTop へ