【セキュリティ】sshでのrootログインを禁止する【乗っ取り対策】

root

ファイアウォールも設定し、VPSサーバーもなかなか堅牢になってきた。
ただし、自分が遠隔でログイン出来るということは、パスワードさえわかれば誰でもログイン出来てしまうということなんだよね。
しかも、rootを開放していれば、ユーザー名がrootとわかっているんだから、パスワードさえ解析すればログインで来てしまう。
これはあまりいい状態とは言えない。
なので、別ユーザーを作り、そのユーザーでログインしてからrootになるように変更する。
そうすると、ユーザー名もわからないとログイン出来ないし、そのユーザー名がルートになれるかどうかもわからないから、ハッキングする側にとってはかなりハッキングがしにくくなる。

※注意
今回の設定は下記の記事の設定を終了したものとして書いています。

【さくら】VPSサーバーのパフォーマンスを向上させる。【DTI】

【Gmail】CentOS6.x(64bit)でimotenを設定して@docomo.ne.jpメールを使う【主にさくらインターネット編】

【iPhone】imotenの送信メールをSSL化する【docomoメール】

【オレオレ証明書】自作WebDAVサーバーにWindows7で接続する【Windows7】

【WebDAV】VPSをミュージックストリーミングサーバーにする【Subsonic】

【MyCloud】さくらVPSをAirVideoサーバーにする【ストリーミング】

【セキュリティ】さくらVPSにファイアウォールを適用する。【iptables】

ユーザーの作成とパスワードの設定

まず、ログインユーザーを作成する。

[root@ ~]# useradd nao(作成するユーザー名)

これでユーザー kuzunoha が作成された。
作りたいユーザー名で作成しよう。
新しく作ったユーザーにパスワードを設定する。

[root@ ~]# passwd nao(パスワードを設定するユーザー名)

ユーザー kuzunoha のパスワードを変更。
新しいパスワード:
と出てくるので、パスワードを入力。
なるべく長いものが望ましい。
新しいパスワードを再入力してください:
と出てくるので、もう1度入力する。
passwd: 全ての認証トークンが正しく更新できました。
と出れば正しく設定された。

ユーザーがrootになれるように設定する

ユーザーをwheelグループに追加

新しく作ったユーザーをwheelグループに追加し、root権限を取得できるようにする。

[root@ ~]# usermod -G wheel nao(wheelグループに追加するユーザー名)

ユーザーnaoはwheelグループに追加された。

rootになれるグループをwheelのみに設定

su(スーパーユーザー)の設定を変更する。

[root@ ~]# visudo

テキストが開くが、126行目(下から14行目)の

# %wheel   ALL=(ALL) ALL

の#を消し、

%wheel   ALL=(ALL) ALL

にし、:wqで保存する。

wheelグループのみをスーパーユーザー(root)になれるよう設定

[root@ ~]# vi /etc/pam.d/su

開いたテキストの、

#auth include system-auth

の#を消し、

auth include system-auth

にする。

#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth            required        pam_wheel.so use_uid
#auth            include         system-auth ←ここの#を消す
account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet
account         include         system-auth
password        include         system-auth
session         include         system-auth
session         optional        pam_xauth.so


:wqで終了。

新しく作ったユーザーでログインしてみよう

実際作ったユーザーでログインする。
rootではなく、ユーザー名でログインし、ログイン出来るか確認しよう。
ログイン出来れば

[nao(ユーザー名)@ ~]$ 

と、別アカウントでログインされる。

スーパーユーザー(root)になってみよう

一般ユーザーをrootへ昇格させる。

[nao@ ~]$ su

rootのパスワードが求められるので、rootのパスワードを入力。

[root@ nao]#

これでrootになった。

rootログインの停止

一般ユーザーからログイン→root化が確認できた所で、sshでのrootログインを停止する。
sshdの設定ファイルを編集する。

[root@ ~]# vi /etc/ssh/sshd_config

42行目にある、

PermitRootLogin yes

PermitRootLogin no

に変更する。

sshdを再起動する

変更を適用するため、再起動する。

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

これで変更は適用された。

sshからrootでログインしてみよう

パスワードが求められ、あれっ?って思うが、何度入力してもログインできないはずだ。
これで設定は完了。
これからは、一般ユーザーでログイン後、root化するように変更された。
rootになるにはログインするたびにsuをしなければならないが、セキュリティアップのため我慢。

インターネット上にあるサーバーであることを忘れずに

VPSは非常に自由で便利である反面、常に誰かに狙われているということも忘れずに。
機密データなどは絶対にローカルに保存し、インターネットに上げてはならない。
便利さは危険さを伴う。
面倒でも大事なデータは手元に保存すること。

【セキュリティ】sshでのrootログインを禁止する【乗っ取り対策】」への30件のフィードバック

  1. きんちゃん

    >お世話になります。きんちゃんです。

    私は、ssh のログインは、公開鍵認証を使っています。
    パスワード認証で、パスワードを複雑にするより効果的だと思います。公開鍵認証でのログイン設定が終わったら

    sshd_config は

    PasswordAuthentication no
    ChallengeResponseAuthentication no

    などとして、パスワード認証でのログインは不可にして、秘密鍵を持っていないとログインできないようにしています。

    更に、sshd のポート番号は22から変更し、iptables などで、特定の IP アドレスからしか ssh 接続できないように Firewall しておけば、ssh についてはかなり高いセキュリティ設定になると思います。

    秘密鍵を持っていない外出先や、違う IP アドレスからログインしたい場合は、VPS コントロールパネルのリモートコンソールを使います。

    で、上の設定で ssh についてはかなり高度なセキュリティ設定となりますが、今度は、VPS コントロールパネルがセキュリティの甘い部分になります。
    セキュリティを高めるためには VPS コントロールパネルへのログインパスワードの複雑化しかやることがなさそうです。
    個人的にはこちらも鍵認証が出来るようにしてほしいと思っています。
    但し、もし鍵認証出来るようになったら、ssh または VPS コントロールパネル用の秘密鍵を持っていなかったら、例え本人でも手も足も出なくなります。:-) まぁ、便利さとセキュリティは相反する物ですから、仕方ありませんが。。。

    ではでは

    返信
  2. 葛葉キョウジ

    >iPadでログインすることが多いので、秘密鍵を持たせて万が一iPadを紛失してしまったら嫌だなぁと思ってしてないんですよね(;´Д`)
    でも秘密鍵のほうがセキュリティ高くていいんですよねぇ。
    設定しようか迷ってます。

    鍵をなくしたらアウトってところで二の足を踏んでますw

    返信
  3. きんちゃん

    >お世話になります。きんちゃんです。

    万一、秘密鍵を無くしてしまっても、幸いなことに、セキュリティが甘い 🙂 VPS コントロールパネルのリモートコンソールからログインして、新しい秘密鍵に変更することが出来ますので、ssh 接続において簡単で実効性のあるものとして

    (1)公開鍵認証とパスワード認証禁止
    (2)ポート番号変更
    (3)iptables などによる特定の IP アドレス以外からの ssh 接続禁止

    は個人的にお勧めと思っています。

    ではでは

    返信
  4. 葛葉キョウジ

    >ああ、なるほど。
    ポート番号は変更してます。

    公開認証鍵は一度設定するとパスワードを入力しなくてもいいのが楽でいいですよね。

    返信
  5. KAZU

    >キョウジさん、いつも貴重な情報ありがとうございます。
    私も今のところPCからがほとんどなので鍵認証にしています。

    先日SSLを練習がてらRapidSSLの年間2600円を正式に契約し設定してみました。
    あっさりと動作しました。ここは再発行が無料なので万が一の時は便利です。

    それからあらためて各ツールを新規に入れなおしてみました。
    私の環境が違うのかもしれませんが、

    # yum -y install flac vorbis-tools java-1.6.0-openjdk ffmpeg faad2 lame

    をインストールするときにfaad2がインストールできないようでした。

    そこで、お手軽インストールするため、足りないものはrpmfogeを使ってインストールしてみました。

    まず、リポジトリの設定 # yum -y install yum-plugin-priorities

    次に、リポジトリ設定ファイルの編集
    # vi /etc/yum.repos.d/CentOS-Base.repo
    ———————————————-
    各セクションの末尾に
    #add
    priority=1
    を追加。
    ———————————————-

    # wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm
    # rpm -ivh rpmforge-release-0.5.2-1.el6.rf.x86_64.rpm
    # yum -y update rpmforge-release

    # yum -y install flac vorbis-tools java-1.6.0-openjdk ffmpeg faad2 lame

    こうすることで、ffmpeg faad2 lame を手動設定しなくてもyumでインストールされます。

    動画をアップしていくとディスクの消費が速いです。

    返信
  6. きんちゃん

    >cron を使って、rsync を ssh 経由で自動バックアップをするときなどには、パスワード無しの公開鍵認証を使いますが、個人的には、公開鍵認証でもパスワードを入力する方が好みです。ただ、この辺になると、所謂宗教論争 🙂 になりそうですので、この話題はこの辺で退散いたします。お騒がせして失礼しました。

    ではでは

    返信
  7. アキ

    >葛の葉さんこんばんは��
    最近、Exchange経由のGmailの受信のタイミングがまちまちで困っております。
    私の場合ですが時間帯によって違うのですが酷い場合は45分位遅れてプッシュ受信となります。
    最初は電波の影響だとおもってたのですが頻繁にタイムラグが発生してます。
    でも普通にプッシュ受信する時もあるのです。皆さんはタイムラグはありませんか?
    出来れば皆さんの状況を教えてもらえませんか?
    設定は全て確認したので私だけの症状であれば端末の故障としか思えないのでご意見をお聞かせください。

    返信
  8. ハル

    >環境:SIMロックフリーiPhone+b-mobile SIM+E-mobile Pocket WiFiと、DoCoMoガラケー

    私の場合はガラケーで受信されてからだいたい20秒以内にはiPhoneにプッシュされてます。
    早くても、8秒から10秒の遅延があります。今のところ20秒以上の遅延はありません。

    ただ、受信前にiPhoneのメールアプリが起動しているときはこの限りではありません。

    返信
  9. 葛葉キョウジ

    >メールの書きかけで放置するとメールの受信はしません。
    これはMailAPPの仕様です。
    あと、圏外であった時にメールが着信した時の再受信はしません。
    これはExchangeの仕様です。

    どちらかだったんじゃないのかなと思います。

    返信
  10. 葛葉キョウジ

    >daad2のインストールはされてなかったですね。
    全く気づかなかった(;´Д`)

    でも、FFMpegがAACをコンバートするので、
    もしかしたらfaad2要らないかもしれません。
    FFMpeg最強説w

    返信
  11. kAZU

    >確かに、最強かもしれないですね
    便利になったんでんですね。
    さくらのVPSとiPhone、iPadの組み合わせで世界が広がりますね

    返信
  12. エンジニアK

    >なるほど・・rootで初めから接続できるのは確かにセキュリティ上良くないですね。
    本当の外部サーバを使うことがないので、そこまで考えてませんでしたが言われてみればその通りですね。
    でも葛葉さんは色々やられてますね~。感心!

    返信
  13. 葛葉キョウジ

    >せっかくVPS借りたんだからと色々やってたらこんな有様ですw
    でも、外で動画みたり写真を後悔したり音楽を聞いたりとかなり楽しいです。
    docomoで使わなくてもオススメですよヽ(´ー`)ノ

    返信
  14. 設定中者

    くずのは 様

    乗っ取り対策設定でつまずきました。新しいパスワードのところで新しいパスワード:で入力したいのですが何も打たされません、何が悪いのでしょうか?何回も打ってもダメでした。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      入力したパスワードは画面に出力されません。

      返信
      1. 設定中者

        くずのは 様
        何度もすいません。設定画面の通り終了したのですが、root、また今回設定した新しいユーザーでも今まで通りにログインしてしまうのですが設定方法が間違ってしまったのでしょうか?
        また、ログイン方法が違うのでしょうか?
        他に、VPS自動アップデート(2/29バージョン)も設定していたのですが今回、同じ方法で確認したのですが最初の設定画面のComplete!が出ませんでした。
        VPSサーバーを定期的リブートする は設定されていました。
        やはりどこかで間違えたのでしょうか?

        返信
        1. 葛葉 キョウジ(管理人) 投稿作成者

          間違ってるから出来ないんだと思いますが。
          一からやり直してください。

          返信
  15. 設定中者

    くずのは様

    無事設定出来ました。最初からやり直し無事終了です、ありがとうございました。

    返信
  16. 酒井 夕子

    おせわになります。

    ユーザーの作成とパスワードの設定で、PW入力しようとしても Tera Termの画面に入力が出来ないんです。

    iキーを押しても編集モードにもなりません。

    すみませんがお知恵をお貸し下さい。
    宜しくお願いします。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      そりゃ出ませんよ。
      セキュリティ上そうなってるだけで入力はされてますよ。

      返信
  17. 酒井 夕子

    すみません。

    エンターを押しても反応しないし、新しいパスワードを再入力してください:
    とも出てきません。

    次に進めないんです。

    返信
  18. 酒井 夕子

    追記します。

    矢印キーでカーソールの移動も出来ません。
    ポインターも移動しません。

    すみません。
    宜しくお願いします。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      あのですね。
      僕はエスパーじゃないんで、
      何を行ってどういう状況なのか書いてもらわないとわからないんです。
      どのコマンドを流したらどうなったかくらい書いてくださいよ。
      あなたが同じ質問されてたとして、どういう状況なのか理解できますか?
      まずここでも読んでから出直してください。

      http://limesheep5.sakura.ne.jp/wordpress/wordpress/2011/12/imotenq.html

      http://limesheep5.sakura.ne.jp/wordpress/wordpress/2012/03/imotenvps.html

      返信
  19. 赤堀 一雄

    お世話になっております。

    設定編、SSLでは大変お世話になりました。

    【セキュリティ】sshでのrootログインを禁止する【乗っ取り対策】を設定してまして、編集を間違えておかしくなってしまいました。

    ファイルをすべて削除し、最初から作業をやり直そうかと思ってます。

    sshでのrootログインを禁止するのファイルの削除をするには
    何かコマンドでファイル自体を削除出来ますか?

    vi /etc/pam.d/su や visudoなどのファイルがおかしくなってしまいました。

    (作業を初めからやり直しましたが、変更されたファイルが出てきて、元のファイルが出てこないので。もしかしたら別の所をいじってしまったらしいです。何処がおかしくなったか分からないので、サラな状態から作業をしたいのです。)

    大変申し訳御座いませんが、宜しくお願い致します。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      無理です。
      再インストールしようが何しようが元のファイルには戻りません。
      OSの再インストールしかありません。

      返信
  20. 赤堀 一雄

    お世話になります

    設定編やSSL化では大変お世話になりました。

    【セキュリティ】sshでのrootログインを禁止する【乗っ取り対策】を編集してたのですけど、「visudo」や「vi /etc/pam.d/su」をいじっているうちにファイルがおかしくなってしまいました。よけいな部分までいじってしまったようです。初めからやり直したのですか、ファイルは編集されたファイルが出てきてしまいます。

    ファイル自体をサーバーより削除し、サラな状態からやり直したいのですが、ファイル自体を削除する方法があれば
    ご教授願いたいのですが?

    誠に恐縮ですが、宜しくお願い致します。

                      赤 堀

    返信
  21. のり坊

    お世話になります。

    ここに書き込んでも、良いののかな?
    場違いならば、すみません。

    この期に及んで4sを買いました。

    DTIにてimoten稼動テストを行い、転送テスト成功後ポチってしまいました。

    普通に転送出来ています。

    ありがとうございました。

    忙しく1週間放置で、昨日DSにてプラン変更してきました。

    担当者が過去にsimフリーの3GSを使用していたこともあり、スムーズに手続き終了しました。

    これからセキュリティ関係、頑張ってみたいと思います。

    質問ですが、DTIでもサクラネットと同じやり方でよろしいのでしょう?

    これを期にネットワークの勉強をしようと思っているのですが、素人ですみません。

    返信
    1. 葛葉 キョウジ(管理人) 投稿作成者

      同じですよ。
      違う場合は分けて記述してます。

      返信
  22. 赤堀 一雄

    お世話になります

    すみません。PCの調子が悪くコメントが2回もUPされてしまいました。

    sshでのrootログインを禁止するの件ですけど、私の早とちりで覚えがある箇所を修正しました。

    また、vi /etc/ssh/sshd_config の時に一般ユーザーからログインしなくてはいけない所、実際作ったユーザーでログインしたままでした。

    もう一度最初からやり直したらうまくいきました。

    お騒がせし、申し訳御座いません。

    返信

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)