LoginSignup
3
3

More than 5 years have passed since last update.

[CentOS7]セキュリティの初期設定

Last updated at Posted at 2018-12-15

はじめに

前回の記事では、さくらVPSにスタートアップスクリプト「CentOS_LAMP」を使用してCentOS7をインストールした。
今回はセキュリティの設定をする。

セキュリティの設定

セキュリティのための以下の設定をする。

  1. rootでログインできないようにする
  2. 公開認証鍵でログインする
  3. SSH接続するポートを変更する

rootでログインできないようにする

一般ユーザーの作成

仮にユーザー名をtestuserとする。
ユーザーを追加してパスワードを設定する。

# useradd testuser
# passwd testuser
Changing password for user testuser.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

試しに一旦ログアウトして、一般ユーザーでログインしてみる。
ログイン成功!

sudo設定

一般ユーザーでsudoコマンドが使えるようにする。

# usermod -G wheel testuser

ちゃんとsudoコマンドが使えるか確認する。
再度ログインすると設定が有効になるそうなので、一旦ログアウトする。

testuserでログインする。
sudo idコマンドで試す。

$ sudo id
[sudo] password for testuser:
uid=0(root) gid=0(root) groups=0(root)

ちゃんとsudoコマンドが使えた。

公開認証鍵でログインする

公開鍵と秘密鍵の生成

PuTTYをインストールすると一緒にインストールされるPuTTYgenを使用する。

PuTTYgenを起動する。
puttygen.JPG
1. RSAにチェック
2. Number of bits in a generated key:2048
3. Generateをクリック
4. ウインドウ内でマウスを動かす
puttyegen2.JPG

  1. Key passphraseにパスフレーズを入力(忘れないようにメモすること!)
  2. Confirm passphraseに同じパスフレーズを入力
  3. Save public keyをクリックし、id_rsa.pubと名前を付けて保存(公開鍵)
  4. Save private keyをクリックし、id_rsa.ppkと名前を付けて保存(秘密鍵)
  5. PuTTYgenを閉じる

公開鍵をVPSにアップロード

Windowsコンソールを使用する。
まず、PuTTYをインストールしたフォルダに移動

cd C:\Program Files\PuTTY

そこにpscp.exeがあることを確認する
dirコマンドで移動したフォルダ内を一覧表示

dir

以下のコマンドでアップロードする

pscp 保存したディレクトリ\id_rsa.pub testuser@VPSのIPアドレス:id_rsa.pub
testuser@VPSのIPアドレス's password:
id_rsa.pub                | 0 kB |   0.5 kB/s | ETA: 00:00:00 | 100%

Windowsコンソールを閉じる

公開鍵を登録する

PuTTYでSSH接続する
testuserでログインする

$ cd
$ mkdir .ssh
$ chmod 700 .ssh/
$ ssh-keygen -i -f id_rsa.pub >> authorized_keys
$ mv authorized_keys .ssh
$ chmod 600 .ssh/authorized_keys
$ rm -f id_rsa.pub

上記のコマンドは、
.sshディレクトリを作成して、
ssh-keygenで公開鍵の形式を変換、
rmで変換する前の公開鍵を削除している。

SSH接続するポートを変更する

firewallのポート開放

まずsuコマンドでrootユーザーに変更

SSH接続はデフォルトではポート22だが、セキュリティのため別の任意のポートでアクセスするように設定する。
ここでは仮に2000とする。

$ su -
Password:
# firewall-cmd --zone=public --add-port=2000/tcp
success
# firewall-cmd --zone=public --add-port=2000/tcp --permanent
success

--permanentで恒久化させる

sshd_configの書き換え

viコマンドで編集


# vi /etc/ssh/sshd_config

sshd_configファイルを書き換える
ポートは任意のポートを指定する。(ここでは仮に2000とする)
以下のように修正する

#Port 22 
Port 2000 

Portの前の#を削除してポート番号を書き換える

#PermitRootLogin yes 
PermitRootLogin no 

PermitRootLoginの前の#を削除してnoに書き換える

PasswordAuthentication yes 
PasswordAuthentication no

PasswordAuthenticationnoに書き換える
viを終了する

sshdを再起動する

# systemctl restart sshd.service

締め出されると怖いのでSSH接続をつないだままにしておく

接続の確認

別のウィンドウでPuTTYを起動する
join.JPG
サーバーのIPとさっき設定したポートを入力
さらに、Connection > SSH > Authの画面にあるPrivate key file for authentication:Browseボタンを押す。
id_rsa.ppkファイルを指定する。
auth.JPG

この設定で接続できるかを確認する。
パスワードを聞かれるが、この時は公開鍵と秘密鍵の生成した時のパスフレーズを使用する。

接続できれば設定完了!

まとめ

SSH接続の設定変更はさくらのサポート情報にも記事があった。
そちらではTeraTermを使用していたが、今回はPuTTYで設定してみた。

公開鍵をアップロードする作業はドラッグアンドドロップでできるのでTeraTermの方が簡単そうですね。

次回はLet's Encryptを用いたSSL接続の設定をしてみます。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3