昨日の朝, WordPress 4.0.1 になっていた。セキュリティ・アップデートということだが,主として, XSS 関連のようだ。自動でアップデートされると思うが,されない場合は,手動での早急なアップテートをお奨めする。 “An extremely unlikely hash collision could allow a user’s account to be compromised, that also required that they haven’t logged in since 2008 (I wish I were kidding).” というのを読んで,思わず笑っちゃったが,笑いごとじゃないよなあ(溜息)。
CentOS7 は標準で SSH が使えるようだ。 OS 変更後, TeraTerm で接続してみた。もちろん,他の SSH クライアントでも構わない, PuTTY とか WinSCP とか。 SSH サーバの現時点のバージョンは 6.4p1-8 だった。
標準の設定だと, root かつ パスワードでアクセス可能なので,ちょっと,不安。細かい設定は後回しとしても,最小限,これだけは変えておこう。
設定いじりの前に, TeraTerm で 認証鍵ペアを作った。秘密鍵には, passphrase も設定した。サーバ上でも鍵は作れるが,それだと,秘密鍵のほうをネット経由でやり取りすることになる。これが嫌いなのだ。多人数相手だと,メールででもやり取りしないと仕方ないだろうが。
||その 1 Sudoers ファイルの編集||
- VPS コントロールパネルにログインし,「リモートコンソール」をクリック,続いて「VNCコンソールを開く」をクリック。
- 1 分以内に,「HTML5モードで開く」をクリックすると, QEMU が別窓で開く。
- #
usermod -G wheel centos
<--- 「centos」というのは, sudo を使わせたいユーザ。 #visudo
ファイルが開く。 - ‘/wheel’ をやって,「wheel」のある行を探す。
「%wheel ALL=(ALL) ALL」の行頭に「#」があったら,外して,アンコメントする。しかし,今回は,「#」はなかった。ということで,そのまま, visudo を閉じる。
注)visudo の使い方は,基本的には, vi エディタのと同じである。 - #
su - centos
- $
sudo shutdown -h now
- ‘sudo’ 使用の初回には,下記のメッセージが出る。
We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.パスワードを要求される。
[sudo] password for centos: - “VPS ホーム” で,サーバが停止しているのを確認できる。サーバを再起動しておこう。
||その 2 policycoreutils-python のインストール||
- QEMU に再度ログイン。後で SSH のポートを標準から変更するときに, ‘semanage’ コマンドを使うので, policycoreutils-python をインストールしておく。
#yum install policycoreutils-python
||その 3 SSH の設定を変更||
- TeraTerm (ttermpro.exe) を起動。 VPS に「centos」として,パスワード認証でログイン。
- 公開鍵 (id_rsa.pub) を TeraTerm の窓にドラッグ&ドロップ。 TeraTerm は SCP(Secure Copy Protocol) に対応しているので,「SCP」ボタンをクリック。
- $
mkdir .ssh
$chmod 700 .ssh
$cat id_rsa.pub > .ssh/authorized_keys
$chmod 600 .ssh/authorized_keys
$rm -f id_rsa.pub
- $
su -
Password: <--- root のパスワードを入力。 - #
vi /etc/ssh/sshd_config
sshd_config が開く。 - #Port22 —> Port****
#PermitRootLogin yes —> PermitRootLogin no
PasswordAuthentication yes —> PasswordAuthentication no
変更した sshd_config を上書き保存。#
systemctl restart sshd.service
注)**** には well-known ports 以外の数値を使う。ただし,数値は 0 ~ 65535。
- #
firewall-cmd --permanent --zone=public --add-port=****/tcp
#firewall-cmd --reload
#semanage port -a -t ssh_port_t -p tcp ****
- #
exit
$exit
TeraTerm が終了する。 - 再度, TeraTerm (ttermpro.exe) を起動。今度は,鍵認証方式で「centos」として,ログイン。新しい SSH ポート(****)を使う。今回は秘密鍵の passphrase も必要である。
- SSH 接続で ‘sudo’ を使ってみる。
$
sudo firewall-cmd --list-all
public (default, active)
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports: ****/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
SSH の設定変更,おしまい!!