そのままでも使えるけどもセキュリティ面や使い勝手をよくする。
- ポート番号を変更する
- 認証方式を公開鍵認証のみにする
- ポートフォワーディングできるようにする
- TCPWrapperをかます
sshd_config
# vi /etc/ssh/sshd_config
--- /etc/ssh/sshd_config.default+++ /etc/ssh/sshd_config@@ -30,7 +30,7 @@#Protocol 1# Listen port (the IANA registered port number for ssh is 22)-Port 22+Port 10022# The default listen address is all interfaces, this may need to be changed# if you wish to restrict the interfaces sshd listens on for a multi homed host.@@ -42,7 +42,7 @@ListenAddress ::# Port forwarding-AllowTcpForwarding no+AllowTcpForwarding yes# If port forwarding is enabled, specify if the server can bind to INADDR_ANY.# This allows the local port forwarding to work when connections are received@@ -116,7 +116,7 @@PermitEmptyPasswords no# To disable tunneled clear text passwords, change PasswordAuthentication to no.-PasswordAuthentication yes+PasswordAuthentication no# Use PAM via keyboard interactive method for authentication.# Depending on the setup of pam.conf(4) this may allow tunneled clear text@@ -123,7 +123,7 @@# passwords even when PasswordAuthentication is set to no. This is dependent# on what the individual modules request and is out of the control of sshd# or the protocol.-PAMAuthenticationViaKBDInt yes+PAMAuthenticationViaKBDInt no# Are root logins permitted using sshd.# Note that sshd uses pam_authenticate(3PAM) so the root (or any other) user@@ -157,4 +157,8 @@# Is pure RSA authentication allowed.# Default is yes-RSAAuthentication yes+RSAAuthentication no++ChallengeResponseAuthentication no+GSSAPIAuthentication no+KbdInteractiveAuthentication no
サービスの再起動# svcadm restart ssh
チェック$ ssh -v -p 22222 127.0.0.1
:-略-
debug1: Authentications that can continue: publickey
:-略-
「Authentications that can continue:」が「publickey」のみになっていればOK。
sshd + tcpwrapper
Solaris 10 には、TCPWrapper が入っており、せっかくなので SSH でも利用させてもらう。
設定ファイル /etc/hosts.allow, /etc/hosts.deny はデフォルトではないので、作ればそれで有効になる。
チェック: とりあえず、現状でローカルホストの SSH に接続できるかテストする。$ ssh -p 22222 127.0.0.1
Enter passphrase for key '/home/natsu/.ssh/id_rsa':
Last login: Fri Jun 2 04:13:38 2006 from localhost
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
$ exit
logout
Connection to 127.0.0.1 closed.
とりあえずすべて拒否。# echo "ALL : ALL" > /etc/hosts.deny
チェック: ログインできなくなっているはず,,,$ ssh -p 22222 127.0.0.1
ssh_exchange_identification: Connection closed by remote host
ローカルホストはすべて許可。# echo "ALL : 127.0.0.1" > /etc/hosts.allow
チェック: ログインできるようになってるはず,,,$ ssh -p 22222 127.0.0.1
Enter passphrase for key '/home/natsu/.ssh/id_rsa':
Last login: Fri Jun 2 04:13:50 2006 from localhost
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
$ exit
logout
Connection to 127.0.0.1 closed.
SSH でアクセスするソース IP をぶっこむ。# echo "sshd : 192.168.0.1" >> /etc/hosts.allow
# echo "sshd : 172.16.0.0/255.255.255.0" >> /etc/hosts.allow
リモートからもアクセスできるか、必ず確認すること。