初めての VPS-#2 (SSH 接続)。

 昨日の朝, 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 ファイルの編集||

  1. VPS コントロールパネルにログインし,「リモートコンソール」をクリック,続いて「VNCコンソールを開く」をクリック。
  2. 1 分以内に,「HTML5モードで開く」をクリックすると, QEMU が別窓で開く。
  3. # usermod -G wheel centos  <--- 「centos」というのは, sudo を使わせたいユーザ。 # visudo
    ファイルが開く。
  4. ‘/wheel’ をやって,「wheel」のある行を探す。
    「%wheel ALL=(ALL) ALL」の行頭に「#」があったら,外して,アンコメントする。しかし,今回は,「#」はなかった。ということで,そのまま, visudo を閉じる。
    注)visudo の使い方は,基本的には, vi エディタのと同じである。
  5. # su - centos
  6. $ sudo shutdown -h now
  7. ‘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:

  8. “VPS ホーム” で,サーバが停止しているのを確認できる。サーバを再起動しておこう。

||その 2 policycoreutils-python のインストール||

  1. QEMU に再度ログイン。後で SSH のポートを標準から変更するときに, ‘semanage’ コマンドを使うので, policycoreutils-python をインストールしておく。
    # yum install policycoreutils-python

||その 3 SSH の設定を変更||

  1. TeraTerm (ttermpro.exe) を起動。 VPS に「centos」として,パスワード認証でログイン。
  2. 公開鍵 (id_rsa.pub) を TeraTerm の窓にドラッグ&ドロップ。 TeraTerm は SCP(Secure Copy Protocol) に対応しているので,「SCP」ボタンをクリック。
  3. $ mkdir .ssh
    $ chmod 700 .ssh
    $ cat id_rsa.pub > .ssh/authorized_keys
    $ chmod 600 .ssh/authorized_keys
    $ rm -f id_rsa.pub
  4. $ su -
    Password:  <--- root のパスワードを入力。
  5. # vi /etc/ssh/sshd_config
    sshd_config が開く。
  6. #Port22  —>  Port****
    #PermitRootLogin yes  —>  PermitRootLogin no
    PasswordAuthentication yes  —>  PasswordAuthentication no
     
    変更した sshd_config を上書き保存。

    # systemctl restart sshd.service

    注)**** には well-known ports 以外の数値を使う。ただし,数値は 0 ~ 65535。

  7. # firewall-cmd --permanent --zone=public --add-port=****/tcp
    # firewall-cmd --reload
    # semanage port -a -t ssh_port_t -p tcp ****
  8. # exit
    $ exit
    TeraTerm が終了する。
  9. 再度, TeraTerm (ttermpro.exe) を起動。今度は,鍵認証方式で「centos」として,ログイン。新しい SSH ポート(****)を使う。今回は秘密鍵の passphrase も必要である。
  10. 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 の設定変更,おしまい!!

 ところで, 15 日に PHP5.6.3 にアップデートした。 ChangLog はこんな感じ。

「初めての VPS-#2 (SSH 接続)。」への4件のフィードバック

  1. おはようございます。

    sshもきれいにまとめてらっしゃいますね。
    CentOS7で運用を開始しましたら
    色々不具合がでてきました。

    ★昔ながらのeth0にする方法
    Red Hat EL 7(CentOS 7)でNICのデバイス名を古い形式(eth0とか)にする方法

    ★vsftpdが自動起動しない場合の変更方法
    # vi /usr/lib/systemd/system/vsftpd.service

    [Unit]
    Description=Vsftpd ftp daemon
    #After=network.target
    After=network.target mariadb.service

    ★webmin
    chkconfigとserviceコマンド

    ★clamd
    サーバーを再起動するとサービスが復旧しない。
    対処法はサーバー再起動しない。

    1. くりくりさん,こんにちは。

      > ★昔ながらのeth0にする方法
      初めに, systemctl status iptables と systemctl status firewalld をやったんですが, iptables は dead で, firewalld が running でした。それで, iptables の扱いは元に戻りそうにないなと思って, firewalld を覚えるつもりなんですが,こちらに関してはどうでしょうか。

      ls /etc/sysconfig/network-scripts/ では, ifcfg-eth0, ifcfg-eth1, ifcfg-eth2, ifcfg-lo になっています。「さくらの VPS のカスタムインストール」から CentOS7 を入れると,ネットワーク設定はいじらなくていいんです。そこのところで,既に ethx 系を使うように設定されているのでしょうか。
      ところで,関係リンクをタグに変えました。毎度ですが,コメント時にタグの使えない設定で,すみません m(_”_)m。

      > ★vsftpdが自動起動しない場合の変更方法
      これは, Maria ちゃん絡みですか?デフォが, MySQL なんでしょうか。

      > ★webmin
      > chkconfigとserviceコマンド
      この辺は,「systemctl に変った」件関係の話ですか。私は,しょっぱなの sshd の再起動で躓きました。

      > ★clamd
      > 対処法はサーバー再起動しない。
      エッ??!!

  2. 今晩は

    明日も休みなんで寝てました(w

    >こちらに関してはどうでしょうか。
    iptablesとfirewalldですが、俺はiptablesです。
    plesk11もそうだしplesk12もiptablesですからね。
    さらにiptablesに変わるnftablesがあります。
    nftables
    どれがメインになるかはわかりません。
    iptablesは消えていくのかな。

    以下は不具合解消法ですかね?
    vsftpdは再起動するとsystemctl enable vsftpdとしても
    再起動すると自動起動しなくなります。
    対処方法は起動順序をnetworktarget
    もしくはmariadbの後に変更する必要があります。

    clamdはrpmforgeにel7がありましたが
    これも再起動するとちゃんとうごきません。
    自動起動設定はchkconfigを使い。
    起動はinitではなくsystemdですからね。

    いずれにせよまだCentOS7は色々はやいというか
    不具合が多いですね。
    後、今年はお腹いっぱいと関わってくるんですが、
    CentOS5のサポートが2.4年です。
    今年みたいに不具合が多いとサポートが終わったOS
    で運用は絶対したくないですね。

    1. くりくりさん,こんばんは。

      前返信は,いろいろ,勘違いの書き込みでした(汗)。当たり前ですが,まだまだ勉強不足なんです。

      > 以下は不具合解消法ですかね?
      これは, systemd で依存関係を解決することに関連がありそうですが, vsftpd の起動が mariadb に関係あるんでしょうか?

      > いずれにせよまだCentOS7は色々はやいというか
      そうですね。

      しかし,今年のように大きな脆弱性が目白押しだと,おっしゃるように,サポートの終わった OS での運用は,確かに厳しいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください