CentOS 7/SSH


インストール諸設定データーベースWeb(apache)Mailetc
前書き
インストール
SSH(設定変更)
firewalld設定(ファイヤーウォール)
SELinux設定
起動レベル設定
NTP(時刻同期)
パッケージアップデート
リソース割り当て変更
logwatch設定
systemdについて
syslog(journal)について
追加パッケージインストール
MariaDB 5.5
(MySQL代替DB)
MySQL 5.7
Redis
mongoDB
apache 2.4
-httpd.conf
-Virtual Host
-mod_spdy
-mod_fcgid
Postfix 2.10
dovecot 2.2
VirtualBox
samba
Munin
ClamAV
rsyncによるバックアップ
Git
svn
memcached
Fluentd(td-agent)
DNSSSLPHPWeb(nginx)FTP
bind(内向け用)
Unbound
NSD
秘密鍵・証明書作成PHP 5.4
 -php-apc
 -ffmpeg
 -memcached
PHP 5.6
 -php-apcu
 -memcached
PHP 7.0
 -php-apcu
 -memcached
PHP 7.1
 -php-apcu
 -memcached
nginx
-インストール(rpm)
-インストール(ソース)
-Webサーバー設定
-リバースプロキシサーバー設定
-ラウンドロビン設定
vsftpd 3.0.2

はじめに

SSH はご存知のとおり、セキュアな接続ですがログインできてしまえばサーバーの情報、設定に触れることができます。
よって第三者にアクセスを決して許してはいけないものです。
可能な限り接続先(アクセス先)、ユーザーを制限すべきです。

近頃は SSH で利用しているポート(デフォルト:22)に対してアクセスを試みるアタックが非常に増えています。

SSH で利用するポートを他のポート番号へ移動させるの対策のひとつです。
(ポート番号の変更については割愛させていただきます。申し訳ありませんが検索サイトなどを使って調べてください。)
定期的にパスワードの変更はもちろん、各種ログのチェックは常に行うようにしましょう。

また、以下の設定はサーバー構築時に何よりも先に設定すべき作業です。

SSH 接続先設定

SSH の接続先規制 firewalld(iptables) を使う方法と、TCP Wrapper を使う方法と2通りあります。
ここでは簡単に制限が掛けられる TCP Wrapper の方法を記述します。
(サーバー構築に慣れてきたら是非 firewalld を使った制限に挑戦してみてください。)
TCP Wrapper とは /etc/hosts.allow にアクセス元情報を記載して制限を掛けます。

$ su -
Password: (パスワード入力)
# vi /etc/hosts.allow


下記の内容を追記します。
注:ここでは、アクセスを許可するIPアドレスが [192.168.0.10] と仮定しています。

sshd : 192.168.0.10 : allow
sshd : all : deny

複数設定したい場合は下記の方法で対応できます。

  • 一行に半角スペースで区切りで追記する方法
  • 複数行に記述する方法

またIPアドレスだけでなくドメインでも指定が可能ですが、セキュリティー的な観点から見てあまりお勧めできません。

以上で、SSH のアクセス先設定が完了です。

SSH 接続制限

  • root ログインの禁止
    /etc/ssh/sshd_config をエディタ(vi)で開き、root ログインを不可にします。
    そのほか、自分にあった設定に変更してください。
    # vi /etc/ssh/sshd_config

    #PermitRootLogin yes
         ↓
    PermitRootLogin no
  • 空パスワードの認証禁止
    次に空パスワードの認証を禁止する設定
    #PermitEmptyPasswords no
         ↓
    PermitEmptyPasswords no
    に変更。


  • ユーザー接続制限
    SSH で接続できるユーザー制限したい場合は下記の追記登録します。
    ここでは例として、 john とします。
    # vi /etc/ssh/sshd_config

    AllowUsers john


  • SSH 再起動
    SSH のデーモンを再起動させます。
    # systemctl restart  sshd.service


このほか、ここの設定で、SSH のプロトコル(Version 1・Version 2)、認証方式(PAM 認証 ・ RSA 認証)の設定ができます。
自分の使用する環境にあった設定をしてください。

外部ネットワークから SSH への接続を行う場合、ルーターに Port 22の接続をサーバーの IP アドレスへ振る設定も行う必要があります。
ご使用のルーターによって設定方法が異なります。各自マニュアルで調べてください。

su 権限設定(wheel)

su (スーパーユーザー)コマンドの利用権限を指定します。
デフォルトで wheel というグループが存在しています。
そのグループに su の利用を許可させたいユーザーIDを追記します。
例として john を wheel のグループに登録します。

# usermod -G wheel john

次に wheel グループの権限設定を設定します。

# vi /etc/pam.d/su

下記を変更します。

#auth           required        pam_wheel.so use_uid
 ↓↓
auth       required     pam_wheel.so use_uid


公開鍵・秘密鍵を用いた接続制限

よりセキュアな接続として 公開鍵・秘密鍵 を利用した接続方法があります。
下記に記載する設定を行いますと、通常のID・パスワードを入力してのログインは行えなくなります。
セキュア度は飛躍的に増しますが、ログインする端末には鍵データを所持している必要があるため、運用方法に合わせて検討してください。

SSHの設定修正

SSH の設定を修正します。

# vi /etc/ssh/sshd_config

以下の項目を変更します。

  • root でログインの禁止
    PermitRootLogin no
  • 空パスワードの禁止
    PermitEmptyPasswords no
  • パスワードを使ったログインを禁止
    PasswordAuthentication no


SSH 再起動を再起動させます。

# service sshd restart
sshd を停止中:                                             [  OK  ]
sshd を起動中:                                             [  OK  ]


公開鍵・秘密鍵の作成

teraterm を使って鍵を作成する方法を記載します。
PuTTY を使っての作成については、検索エンジンなどで調べてください。
基本的な作成方法は同じです。

  • SSH 鍵生成を開く
    teraterm を起動しメニューより、[設定] -> [SSH生成] をクリックします。(参照画像-1)
    1.png
    参照画像-1
  • RSA で鍵を作成
    TTSSH: 鍵生成 ウィンドウが開きます。(参照画像-2)
    ○RSA を選択、ビット数 2048[生成] ボタンをクリックします。
    2.png
    参照画像-2
  • パスフレーズの入力
    パスフレーズを入力します。(参照画像-3)
    確認の入力もできたら、[公開鍵の保存]、および [秘密鍵の保存] ボタンをクリックし、それぞれを保存してください。
    このパスフレーズはログインするときに必要になりますので、覚えておいてください。
    パスワードと同じものを入力したら、鍵を使う意味が薄れます。気を付けてください。
    (※パスワードを使ったログインはパスワード自体が平文でネットワークに流れます。鍵を使ったログインはそれを防ぐ意味もあります。)
    3.png
    参照画像-3


公開鍵の設置

作成した公開鍵をサーバーに設置します。
例としてログインするユーザーを john とします。

  • 公開鍵用のディレクトリを作成
    # mkdir -p /home/john/.ssh
  • パーミッションを変更
    # chmod 0700 /home/john/.ssh/
  • 公開鍵用のファイル作成
    # vi /home/john/.ssh/authorized_keys
    上記で作成した公開鍵の中身をコピーペーストします。
    ssh-rsa ~~~~~
  • パーミッションを変更
    # chmod 0600 /home/john/.ssh/authorized_keys
  • 公開鍵用のディレクトリ所有者を変更
    # chown -R jone:jone /home/john/.ssh/


SSHログイン

秘密鍵を使ってログインします。
teraterm を起動し ホストサービスTCPポート 等今までと同様に入力します。
[OK]ボタンをクリックし、SSH認証 のウィンドウが開きます。(参照画像-4)
ユーザー名 を入力し、パスフレーズに 鍵を作成したときのパスフレーズ を入力します。
○RSA/DSA鍵を使う を選択し、[秘密鍵]ボタンをクリックし、作成した秘密鍵のファイルを指定します。
[OK]ボタンをクリックして接続します。

4.png
参照画像-4




添付ファイル: file4.png 130件 [詳細] file3.png 125件 [詳細] file2.png 132件 [詳細] file1.png 118件 [詳細]

Last-modified: 2016-07-30 (土) 23:54:01 (868d)