狠狠撸

狠狠撸Share a Scribd company logo
SOLA勉強会 第5回目
クラウドを始める第一歩、SSH再入門
自己紹介
大原 慎一郎 https://twitter.com/ohhara_shiojiri
(有)トラストネットワークス 塩尻インキュベーションプラザ108号室
?長野県塩尻市に活動拠点を置く、市内プログラマー有志による団体
?「オープンな環境でオープンな活動を目指す」を合言葉に集う
?CoderDojo Shiojiri 開催 ?小学生高学年向けRuby教室開催
?IT技術書をリブライズで貸し出し、また市立図書館と協力
http://shiojiri-osslabo.com/
アジェンダ
● SSHについて再確認しよう
● クライアントソフト
● 検証環境
● パスワード認証の確認
● 公開鍵認証の確認
● セキュリティ的に設定すべき項目
● 質疑応答
SSHについて再確認しよう
● SecureShell(セキュアシェルの略称)
● 通信経路間を暗号化してリモートから安全にコ
ンピューターを操作できる。
● 複数の認証方式が提供されている。
● 通信経路間の暗号化と認証は別と考える。
● クラウドのインスタンス(仮想サーバー)への接
続はsshが基本です。
SSHについて再確認しよう
● サーバーソフトの実装としては、オープンソース
のOpenSSHが広く利用されている。
● 平文でやりとりされるtelnetやrloginの代替とし
て利用される。
● ファイル転送においても、平文でやりとりされる 
rcp,ftpに変わって、scp,sftpが利用可能
クライアントソフト
● OpenSSH
● PuTTY
● Tera Term
● WinSCP
● FFFTP
検証環境
● VirtualBox 4.3.12(2014/05/28時点)
○ https://www.virtualbox.org/wiki/Downloads
○ CPUの仮想マシン支援機能が必要(BIOS設定)
○ Windowsの場合、システムのPATH設定が必要
■ 4.2系 C:Program FilesOracle VM VirtualBox
■ 4.3系 C:Program FilesOracleVirtualBox
検証環境
● Vagrant 1.6.2(2014/05/28時点)
○ http://www.vagrantup.com/downloads.html
○ Windowsの場合、システムのPATH設定が必要
■ C:HashiCorpVagrantbin
■ C:HashiCorpVagrantembeddedmingwbin
○ コマンドプロンプトの代わりにmingw32が使用できる。
■ C:HashiCorpVagrantembeddedmingwmingw32env.cmd
● BOXファイル CentOS 6.5
○ https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3
/centos65-x86_64-20140116.box
検証環境
● Vagrantfileを編集してIPアドレスを割り当てた
ノードで起動させます。
● Vagrant入門の資料を参照して下さい。
○ http://www.slideshare.net/ShinichiroOhhara/solavagrantver2
パスワード認証の確認
● vagrantで起動させたCentOS6.5のノードにパ
スワード認証でログインします。
● 好みのクライアントソフトで構いません。
● ノードに割り当てたIPアドレスを指定します。
● アカウントはvagrantです。
● パスワードも同じです。
● 確認できたらログアウトします。
パスワード認証の確認
● 外部からrootアカウントでログイン出来る状態
は大変危険です。
● rootアカウントでログインして確認してみます。
● パスワードはvagrantと同じです。
● 確認できたら、そのままログイン状態からノード
のsshサーバー設定を変更します。
● /etc/ssh/sshd_configファイルを編集します。
パスワード認証の確認
● rootアカウントのログインを禁止します。
#PermitRootLogin yes
PermitRootLogin no
パスワード認証の確認
service sshd reload
● ノードのsshサーバーを再設定してrootログイン
出来るか再確認してみます。
● rootアカウントで正しいパスワードを入力しても
ログイン出来ない事を確認しましょう。
パスワード認証の確認
● rootアカウントのログインを禁止します。
● クラウドのインスタンスは設定済みの場合が多
いですが、利用前に確認しましょう。
● rootの初期パスワードを必ず変更しましょう。
● 安易なパスワードはリスト攻撃に対して脆弱で
す。
● パスワード認証は基本的に使用しない事。
公開鍵認証の確認
● クラウドのインスタンス認証方式の標準
● 公開鍵と秘密鍵のペアで作成される。
● 公開鍵は相手に渡して公開しても良い。
● 秘密鍵は絶対に非公開にして厳重管理。
● 公開鍵で暗号化して、秘密鍵で復号化する。
● RSAアルゴリズムは逆方向にも使えるが、他の
公開鍵認証で使用出来るとは限らない。
公開鍵認証の確認
● 公開鍵および秘密鍵を作成します。
● 作成ソフトは各自の好みで確認しましょう。
● RSA2048bitが一般的なアルゴリズムです。
● パスフレーズ付きで作成します。
● Vagrant専用の秘密鍵が作成されています。
● ホームディレクトリ以下の隠しディレクトリ.
vagrant.dにinsecure_private_keyファイル
公開鍵認証の確認
● リモートのノードに公開鍵を登録します。
● ホームディレクトリ以下の隠しディレクトリ.sshの
authorized_keysファイル
● 1行につき1つの公開鍵を登録できる。
● 登録方法は様々あります。各自で確認しましょ
う。
● 勉強会参加者に、ここでデモしてもらいます。
公開鍵認証の確認
● 秘密鍵を使用してノードにログインしてみます。
● パスワード認証を禁止設定しましょう。
PasswordAuthentication yes
PasswordAuthentication no
公開鍵認証の確認
service sshd reload
● ノードのsshサーバーを再設定してパスワード認
証が出来るか再確認してみます。
● パスワード入力が出来なくてログインが出来な
い事を確認しましょう。
セキュリティ的に設定すべき項目
● sshサーバーの設定で、セキュリティ的に設定を
推奨する項目を紹介します。
● 組織やプロジェクトに応じて運用は変わります
が、確固たるセキュリティポリシーを事前に決め
ておきましょう。
セキュリティ的に設定すべき項目
● Port 22
○ TCP 22番ポートが標準ですが、変更が推奨されます。
○ 特定用途に割り当てられるウェルノウンポート以外の
1024番以降で他のサービスに重ならない事。
○ ノードの設置状況によってファイヤーウォール等を考慮
する必要があります。
○ 今日ではIPv4アドレスの全域を約45分でポートスキャン
が可能なので、ポート番号の変更は気休め程度です。
セキュリティ的に設定すべき項目
● Protocol 2
○ 脆弱性のあるバージョン1は使用しない事。
○ 1,2と併記されている場合は2のみに変更します。
● ChallengeResponseAuthentication no
○ 質問の回答で認証するオプションです。
○ 質問はパスワードの場合が多いので、パスワード認証
の禁止と同様に禁止しないと、パスワード認証が出来て
しまいます。
セキュリティ的に設定すべき項目
● UsePAM no
○ PAM認証ではユーザー毎に認証を変えられます。
○ ChallengeResponseAuthenticationと併用されます。
○ パスワード認証とrootログインの恐れがあるので、禁止
します。
● MaxStartups 10:30:100
○ 未認証の接続数を制限します。
○ 開始時の数:超えた時の制限率:拒否する数
○ ログの抑制にも効果があります。

More Related Content

厂辞濒补勉强会 蝉蝉丑再入门