SlideShare a Scribd company logo
1 of 69
2013/04/23 #ssmjp @togakushi
2013/06/02 MaxStartups 追記 (P.52)
sshd のお話
アジェンダ
● はじめに
● 前回までのあらすじ
● 設定ファイルの書式
● 設定事例集
● 小ネタ
2 / 69
はじめに
● 特に記述がない限り、全てプロトコル 2 が対
象
– OpenSSH-5.4 からプロトコル 1 はデフォルトで無
効
● 動作確認は Linux のみ( OpenSSH の移植
版)
● 暗号化とか認証とか詳しくないので、間違っ
てたら教えて欲しい!!
3 / 69
OpenSSH リリース状況
バージョン リリース日 バージョン リリース日
OpenSSH-4.1p1 2005/05/26 OpenSSH-5.2p1 2009/02/02
OpenSSH-4.2p1 2005/09/01 OpenSSH-5.3p1 2009/10/01
OpenSSH-4.3p2 2006/02/11 OpenSSH-5.4p1 2010/03/08
OpenSSH-4.4p1 2006/09/27 OpenSSH-5.5p1 2010/04/16
OpenSSH-4.5p1 2006/11/07 OpenSSH-5.6p1 2010/08/23
OpenSSH-4.6p1 2007/03/08 OpenSSH-5.7p1 2011/01/24
OpenSSH-4.7p1 2007/09/05 OpenSSH-5.8p2 2011/05/03
OpenSSH-4.8p1 ない OpenSSH-5.9p1 2011/09/06
OpenSSH-4.9p1 2008/03/31 OpenSSH-6.0p1 2012/04/22
OpenSSH-5.0p1 2008/04/03 OpenSSH-6.1p1 2012/08/29
OpenSSH-5.1p1 2008/07/21 OpenSSH-6.2p1 2013/03/22
4 / 69
前回までのあらすじ
● SSH クライアント
– http://www.slideshare.net/tohakushi/ssh-13118950
● 周辺ツール
– http://www.slideshare.net/tohakushi/ssh-15554045
● ~/.ssh/config
– https://docs.google.com/presentation/d/1TGaiAIKUAC2Y_hgN
● 多段
– https://docs.google.com/presentation/d/1Zdg6qe0eA_353zyLz
5 / 69
設定ファイルの書式
6 / 69
サーバで編集する主なファイル
● /etc/ssh/sshd_config
– sshd が読み込む設定ファイル
● /etc/ssh/sshrc
– ユーザがログインした時に最初に実行する内容
● /etc/motd
– 今日のお知らせ
● その他
– 認証用の設定ファイル ( 鍵とかいろいろ )
– ホームディレクトリのユーザ個別のファイル
7 / 69
書式
● 設定項目と設定値は空白で区切る
● 空白を含む設定値はダブルクォート囲むこと
ができる
● 設定値を複数持つ場合は空白で区切る
● 「 # 」から始まる行と空行はコメント扱い
● 設定項目の大文字小文字の区別はない
– 設定値は区別される
例:設定項目 設定値
   TCPKeepAlive yes
8 / 69
数字とか記号とか
● 数字は時間やポート番号などを指定
– 秒 (s 、単位なし )/ 分 (m)/ 時 (h)/ 日 (d)/ 週 (w)
● 「 % 英字」は特定の文字列に置き換わる
– %u :認証しようとしているユーザ名
– %h :そのユーザのホームディレクトリ
9 / 69
パターン
● IP アドレスやドメインの一部を指定
– 0 個以上の非空白文字: *
– 1 個の非空白文字: ?
– 除外: !
– カンマで連結可能
● 例
– 192.168.1.? → 192.168.1.1 〜 9
– *.co.jp → 任意の .co.jp ドメイン
10 / 69
ファイルのパス
● 絶対パスで指定
– AuthorizedKeysFile と AuthorizedPrincipalsFile の
み例外
– 絶対パス or 認証しようとしているユーザのホー
ムディレクトリからの相対パス
11 / 69
設定事例集
12 / 69
最小構成コンフィグ
● 動作に必要な要件を満たせば OK
– 特権分離で使用するユーザ (sshd)
● このユーザは「 /var/empty 」に書き込みができる必要
がある
– サーバの秘密鍵 (1 種類以上、デフォルトは
/etc/ssh/ssh_host_{dsa,rsa,ecdsa}_key
と /etc/ssh/ssh_host_key)
# sshd_config
UsePrivilegeSeparation no
HostKey /path/to/key
13 / 69
使いドコロ
● 動作確認など
– 役に立ちそうな sshd のコマンドラインオプショ
ン
オプション 説明
-d( 最大 3 つ ) デバッグモード
1 回の接続のみで終了する
-f 設定ファイルを指定
-t テストモード
設定の構文エラーのみチェックして終了する
-D デーモン化しない ( フォアグランドで動かす )
-e エラーを syslog ではなく、標準エラー出力に出す
-T 拡張テストモード
適応される全設定項目を表示して終了する
14 / 69
UsePrivilegeSeparation
● 特権分離を使うか指定
– 認証済みの sshd を root 以外のユーザ権限で動か
す (OpenSSH-3.4 からデフォルト有効 )
– sandbox が指定されていると認証前の sshd も制
限する (OpenSSH-5.9 で追加 )
15 / 69
MaxAuthTries
● 1 回の接続で何回まで認証を試みれるか
– 全ての認証メソッドを通してのトータル回数
– デフォルト 6 回
表示されるエラー
2: Too many authentication failures for <username>
16 / 69
Too many authentication failures の回避
● エラーになる原因がわかっていれば回避でき
るかも?
● クライアント側で使用する認証メソッド指定
して接続
– ssh -oPreferredAuthentications=password, ...
17 / 69
ChallengeResponseAuthentication
● /etc/login.conf に記述されてる全ての認証形式
が使える( BSD のはなし?)
● Linux では keyboard-interactive が有効になる
– PAM を使ってパスワード認証する
18 / 69
PubkeyAuthentication
● 公開鍵認証を有効にする
19 / 69
AuthorizedKeysCommand
● ユーザの公開鍵を検索するプログラムを指定
する (OpenSSH-6.2 で追加 )
– プログラムを実行するユーザは
AuthorizedKeysCommandUser で指定 ( 必須 )
● 引数に認証しようとしているユーザ名が渡さ
れる
20 / 69
使いドコロ
● 公開鍵を LDAP や DB に探しに行く
– AuthorizedKeysCommand で見つからない場合は
AuthorizedKeysFile を探す
– ローカルファイルシステムの公開鍵を無視したい
場合は「 AuthorizedKeysFile none 」を指定
21 / 69
AuthenticationMethods
● 指定した複数の認証メソッド全ての認証に成
功することを要求する (OpenSSH-6.2 で追加 )
– カンマで区切って並べたものが要求される認証メ
ソッド
– スペースで区切って複数パターンを指定できる
● プロトコル 1 では使えない ( エラーで起動し
ない )
22 / 69
使いドコロ
● 公開鍵認証した後に、パスワード認証を要求
する
– AuthenticationMethods publickey,password
publickey,keyboard-interactive
– 公開鍵認証に成功しないとパスワードは要求され
ない
23 / 69
PermitRootLogin
● root ユーザが直接ログイン可能か指定
設定値 意味
yes 許可する
no 許可しない
without-password パスワード認証では許可しない
forced-commands-only 強制コマンドが指定されている場合だけ許可
( 公開鍵に command="..." が設定されてるときのみ )
24 / 69
ForceCommand
● クライアントが指定したコマンドを無視
(OpenSSH-4.4 で追加 )
– 指定したコマンドを強制的に実行
– .ssh/rc( 存在すれば ) を実行
25 / 69
使いドコロ
● 簡易 VPN を使うときに root でログインする必
要があるので、 PermitRootLogin や Match と
組み合わせてインターフェースの設定だけす
る
● Internal-sftp を指定して sftp しかできないよう
にする
– Match や ChrootDirectory と組み合わせると最強
26 / 69
Match
● 指定した全ての条件を満たした時に、設定値を上書き
する (OpenSSH-4.4 で追加 )
– ユーザ名 / グループ名 / ホスト名 / アドレス / ローカルアド
レス / ローカルポート
– 全ての項目は上書きできないので注意 ( マニュアル参照 )
– 上書きできる項目、条件 ( 書式 ) はバージョンによって増
えている
● 接続元やユーザ名によって異なる設定を使うことが可
能になる
27 / 69
使いドコロ (1)
● 外からの接続は公開鍵、中からの接続はパス
ワード認証も許可したい
PubkeyAuthentication yes
PasswordAuthentication no
Match Address 192.168.1.0/24
PasswordAuthentication yes
28 / 69
使いドコロ (2)
● sftp しかできないユーザを作る
– 「 sftponly 」グループに属するユーザは sftp 以外
のセッションが開始できない
Subsystem sftp internal-sftp
Match Group sftponly
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
29 / 69
ChrootDirectory
● 認証完了後、ユーザの環境を chroot で閉じ込
める (OpenSSH-4.8 で追加 )
– ログインさせるならそれなりの準備を
– 設定値に指定するディレクトリパスは上位層を含
め、所有者は root のみで他のユーザが書き込みで
きてはイケナイ
30 / 69
使いドコロ (1)
● ログインしたユーザを制限された環境に閉じ
込める
● 必要なもの
– ログインシェル ( とそれが動く環境 )
– デバイス (null, zero,urandom, tty)
– 動かしたいコマンド ( とそれが動く環境 )
31 / 69
最低限必要なもの
● プログラムが使うライブラリは ldd で調べる
– 認証は chroot 前に済まされる ( 使用するログイン
シェルは chroot 前に決定する )
# find /opt/chroot -printf '%M %u %g %pn'
drwxr-xr-x root root /opt/chroot/lib64
-rwxr-xr-x root root /opt/chroot/lib64/ld-linux-x86-64.so.2
-rwxr-xr-x root root /opt/chroot/lib64/libdl.so.2
-rwxr-xr-x root root /opt/chroot/lib64/libtinfo.so.5
-rwxr-xr-x root root /opt/chroot/lib64/libc.so.6
drwxr-xr-x root root /opt/chroot/bin
-rwxr-xr-x root root /opt/chroot/bin/bash
drwxr-xr-x root root /opt/chroot/dev
crw-rw-rw- root root /opt/chroot/dev/tty
crw-rw-rw- root root /opt/chroot/dev/null
cr--r--r-- root root /opt/chroot/dev/urandom
32 / 69
使いドコロ (2)
● sftponly ユーザをさらに制限する
● chroot 環境にはユーザが使うディレクトリだ
け用意する
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /sftp-top
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
33 / 69
AllowTcpForwarding
● TCP ポートフォワードの制限
– 「させる」か「させない」かの二択
● OpenSSH-6.2 から「 remote 」と「 local 」が
追加
34 / 69
使いドコロ
● 踏み台での TCP ポートフォワードを制限した
り
35 / 69
PermitOpen
● TCP ポートフォワードで利用できるポートを
制限 (OpenSSH-4.4 で追加 )
– any :すべてのポートで許可
– none :すべてのポートで拒否
– 複数指定するときは空白で区切る
PermitOpen host:port
PermitOpen IPv4_addr:port
PermitOpen [IPv6_addr]:port
36 / 69
使いドコロ
● 目的のサーバの目的のポートのみへの転送だ
けに絞る
● ぶっちゃけ、、、
– ユーザがログインできるなら stone や nc などプロ
グラムを動かして転送を重ねれば目的のポートに
たどり着く ( 転送先のホストが制限されてなけれ
ば )
– 本気で制限したいなら SELinux などで
37 / 69
Ciphers
● 使用する暗号化プロトコルの順序の指定
● デフォルト値
– aes128-ctr,aes192-ctr,aes256-
ctr,arcfour256,arcfour128,aes128-
gcm@openssh.com,aes256-
gcm@openssh.com,aes128-cbc,3des-
cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-
cbc,arcfour
38 / 69
使いドコロ
● 脆弱性の見つかった暗号プロトコルを外す
● cbc plaintext disclosure
– 2 の -14 ~ -18 乗の確率で 14 ~ 32bit の平文を回
復できる可能性
– 「 CPNI-957037 」( SSH 通信において一部デー
タが漏洩する可能性)
● OpenSSH-5.2 から CBC の優先順位が下げら
れた
39 / 69
Banner
● ユーザ認証する前に表示するテキスト
● scp や sftp で接続したときでも表示される
40 / 69
PrintLastLog
● ログインした時に最後にログインした日付
(lastlog) を表示する
– ~/.hushlogin があると表示されない
41 / 69
PrintMotd
● ログインした時に /etc/motd( 今日のお知らせ )
の内容を表示する
– ~/.hushlogin があると表示しない
42 / 69
使いドコロ
● 殺伐としたコンソールに突如黒魔道士が!!
● curl
https://gist.github.com/shin1x1/5230392/raw/b27b4
> /etc/motd
43 / 69
UsePAM
● ChallengeResponseAuthentication で PAM の
使用を許可する
● PasswordAuthentication で PAM を使う
44 / 69
使いドコロ
● ワンタイムパスワード
– pam_otpw を入れて設定
– PAM →でワンタイムパスワードが有効になる ssh
でも使う
● PAM でできることならなんでもできる
45 / 69
certificate authentication
● 証明書認証 (OpenSSH-5.4 で追加 )
– ユーザ ( またはホスト ) の公開鍵を CA 局の秘密鍵
で署名
– 署名された公開鍵 ( 証明書 ) と秘密鍵をセットで
使う
– 証明書には有効期限を設けれる
46 / 69
簡略図
ユーザ
秘密鍵
ユーザ
公開鍵
CA 局
公開鍵
CA 局
公開鍵
CA 局
秘密鍵
CA 局の秘密鍵で署名された
ユーザ公開鍵の証明書
ホスト秘密鍵/公開鍵
コピー
秘密鍵と証明書の
セットで認証
クライアント
サーバ
証明局
47 / 69
設定方法 (1/3)
● CA 局で署名用の鍵を作成
– ssh-keygen -f ca-key
● サーバに CA 局の公開鍵を登録
– AuthorizedKeysFile で指定
– cert-authority オプションを追加
● ユーザの公開鍵を CA 局の秘密鍵で署名
– ssh-keygen -s ca-key -I keyid -V +30d id_rsa.pub
– 「 -V 」で有効期限を指定 ( 省略時無期限 )
48 / 69
設定方法 (2/3)
● 署名された鍵をユーザへ
– id_rsa-cert.pub が生成される
● ユーザはペアの秘密鍵でアクセス
– ssh -i id_rsa remotehost
– 末尾に -cert.pub の付いている証明書が利用されるので
秘密鍵と同じディレクトリに配置
– OpenSSH-5.4 以降の ssh の動作
– ssh-agent で秘密鍵を登録する時に証明書も同時に登録
される
49 / 69
設定方法 (3/3)
● 公開鍵の失効リスト
– 廃止された公開鍵のリスト
– 登録された公開鍵を使用した認証は失敗する
– ssh-keygen -k filename < 鍵 >
– RevokedKeys で設定
– 一度登録したら取り消せない
– 公開鍵が手元になくてもフィンガープリントや証
明書のシリアルで登録可能
50 / 69
証明書の中身
% ssh-keygen -L -f id_rsa-cert.pub
id_rsa-cert.pub:
Type: ssh-rsa-cert-v01@openssh.com user ...
Public key: RSA-CERT 13:33:cc:d8:31:83:...
Signing CA: RSA ac:a6:ba:61:5a:fc:ff:92:...
Key ID: "keyid"
Serial: 0
Valid: from 2013-04-22T00:44:00 to 2014-04-22T00:45:11
Principals: (none)
Critical Options: (none)
Extensions:
permit-X11-forwarding
permit-agent-forwarding
permit-port-forwarding
permit-pty
permit-user-rc
51 / 69
MaxStartups
● 認証を受け付ける sshd の数を 3 つのパラメー
タで指定
– < 起動数 > : < 切断確率 > : < 最大起動数 >
– 起動数を超える接続は、 2 つ目のパラメータで指
定した確率で失敗し、最大で 3 つ目のパラメータ
まで増え、それ以降は必ず接続に失敗する。
– デフォルト値: 10:100:10 (OpenSSH-6.1 まで )
–       : 10:30:100 (OpenSSH-6.2 から )
52 / 69
CVE-2010-5107
● MaxStartups のデフォルト値が適切ではない
から認証 DoS ができますよって指摘
● telnet や対話式になる認証 ( パスワードやパス
フレーズの入力 ) を完了させずに連続で接続
すると簡単に引き起こせる
● LoginGraceTime が過ぎるまで新しい接続がで
きない
53 / 69
その他
● アクセスコントロール
– DenyUsers/AllowUsers/DenyGroups /AllowGroups
● パーミッションのチェック ( 厳格なモード )
– StrictModes
● バージョン番号追加文字列
– VersionAddendum
まだまだある
54 / 69
小ネタ
55 / 69
RHEL/CentOS リリース状況
(2013/04 現在 )
OS 含まれているOpenSSH RHEL CentOS
リリース日 パッチ数 リリース日 パッチ数
5.0 openssh-4.3p2-16.el5.src.rpm 2007/03/14 34 2007/04/12 34
5.1 openssh-4.3p2-24.el5.src.rpm 2007/11/07 38 2007/12/02 38
5.2 openssh-4.3p2-26.el5.src.rpm 2008/05/21 39 2008/06/24 39
5.3 openssh-4.3p2-29.el5.src.rpm 2009/01/20 45 2009/03/31 45
5.4 openssh-4.3p2-36.el5.src.rpm 2009/09/02 49 2009/10/21 49
5.5 openssh-4.3p2-41.el5.src.rpm 2010/03/30 51 2010/05/14 51
5.6 openssh-4.3p2-72.el5.src.rpm 2011/01/12 56 2011/04/08 56
5.7 openssh-4.3p2-72.el5_6.3.src.rpm 2011/07/21 57 2011/09/13 57
5.8 openssh-4.3p2-82.el5.src.rpm 2012/02/21 63 2012/03/07 63
5.9 openssh-4.3p2-82.el5.src.rpm 2013/01/08 63 2013/01/16 63
6.0 openssh-5.3p1-20.el6.src.rpm 2010/11/10 31 2010/07/09 31
6.1 openssh-5.3p1-52.el6.src.rpm 2011/05/19 42 2011/12/09 42
6.2 openssh-5.3p1-70.el6.src.rpm 2011/12/06 45 2011/12/20 45
6.3 openssh-5.3p1-81.el6.src.rpm 2012/06/20 51 2012/07/09 51
6.4 openssh-5.3p1-84.1.el6.src.rpm 2013/02/21 53 2013/03/09 53
56 / 69
5 にバックポートされてるもの
● openssh-4.3p2-chroot.patch(5.4 〜 )
● openssh-4.3p2-forced.patch(5.4 〜 )
● openssh-4.3p2-biguid.patch(5.7 〜 )
とかいろいろ
57 / 69
6 にバックポートされてるもの
● openssh-5.3p1-sftp_umask.patch(6.1 〜 )
● openssh-5.3p1-biguid.patch(6.1 〜 )
● openssh-5.3p1-linux-oomkiller.patch(6.3 〜 )
● openssh-5.3p1-netcat-mode.patch(6.4 〜 )
とかいろいろ
58 / 69
Out Of Memory killer
● 起動時に oom_adj を -17 にセット (OpenSSH-
5.4 以降 /* kernels <= 2.6.35 */)
● 起動時に oom_score_adj を -1000 にセット
(OpenSSH-5.7 以降 /* kernels >= 2.6.36 */)
openssh-server/src> grep -r oom_score_adj *
openssh-5.7p1/openbsd-compat/port-linux.c: {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
openssh-5.8p1/openbsd-compat/port-linux.c: {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
openssh-5.9p1/openbsd-compat/port-linux.c: {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
openssh-6.0p1/openbsd-compat/port-linux.c: {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
openssh-6.1p1/openbsd-compat/port-linux.c: {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
openssh-6.2p1/openbsd-compat/port-linux.c: {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
59 / 69
RHEL/CentOS では
● RHEL6.3 でバックポート
rpm/rhel/6.3/openssh-5.3p1-linux-oomkiller.patch:
+ {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
...
+ {"/proc/self/oom_adj", -17}, /* kernels <= 2.6.35 */
...
rpm/rhel/6.4/openssh-5.3p1-linux-oomkiller.patch:
+ {"/proc/self/oom_score_adj", -1000}, /* kernels >= 2.6.36 */
…
+ {"/proc/self/oom_adj", -17}, /* kernels <= 2.6.35 */
...
( openssh-5.3p1-81.el6.src.rpm 調べ)
60 / 69
RedHat の独自パッチ?
● openssh-5.3p1-ldap.patch(6.1 〜 )
– openssh-ldap.x86_64 : A LDAP support for open
source SSH server daemon
– 簡単なドキュメントと鍵検索用のプログラムとス
キーマが付属
● AuthorizedKeysCommand と
AuthorizedKeysCommandRunAs で設定
61 / 69
ユーザ権限で sshd を動かす
● 制約事項
– PAM が使えない
– 1024 より小さいポート番号が使えない
● 準備
– 鍵とコンフィグはユーザ権限で読める場所に
62 / 69
楕円曲線暗号 (ECC)
● OpenSSH-5.7 から楕円 DSA(ECDSA) をサポ
ート
– OpenSSL のライブラリに依存
– RHEL6/CentOS6 標準の OpenSSL は今のところ
非対応
● 短い鍵長で今までと同じ強度
– 負荷が下がる
– RSA:3072bit ECC:256bit≒
63 / 69
mosh っぽい何か
● roaming.h(OpenSSH-6.2)
– OpenSSH-5.3 の頃からある
void request_roaming(void);
int get_snd_buf_size(void);
int get_recv_buf_size(void);
void add_recv_bytes(u_int64_t);
int wait_for_roaming_reconnect(void);
void roaming_reply(int, u_int32_t, void *);
void set_out_buffer_size(size_t);
ssize_t roaming_write(int, const void *, size_t, int *);
ssize_t roaming_read(int, void *, size_t, int *);
size_t roaming_atomicio(ssize_t (*)(int, void *, size_t), int, void *, size_t);
u_int64_t get_recv_bytes(void);
u_int64_t get_sent_bytes(void);
void roam_set_bytes(u_int64_t, u_int64_t);
void resend_bytes(int, u_int64_t *);
void calculate_new_key(u_int64_t *, u_int64_t, u_int64_t);
int resume_kex(void);
64 / 69
実装がなかった!
● roaming_serv.c(OpenSSH-6.2)
24 /*
25 * Wait for the roaming client to reconnect. Returns 0 if a connect ocurred.
26 */
27 int
28 wait_for_roaming_reconnect(void)
29 {
30 return 1;
31 }
65 / 69
実装がなかった!
● roaming_serv.c(OpenSSH-6.2)
24 /*
25 * Wait for the roaming client to reconnect. Returns 0 if a connect ocurred.
26 */
27 int
28 wait_for_roaming_reconnect(void)
29 {
30 return 1;
31 }
66 / 69
まとめ
● いろんな認証方式や暗号方式があるよ
– ひとつに絞ると問題が見つかったときに全滅する
● ユーザに便利に使ってもらう設定もあれば制
限する設定もあるよ
● 万能じゃないので過信するな
67 / 69
参考資料
● OpenSSH.org
– http://www.openssh.org/ja/
● OpenSSH 日本語マニュアルページ
– http://www.unixuser.org/~euske/doc/openssh/jman/
● OpenSSH 情報
– http://www.unixuser.org/~haruyama/security/openssh/
● 入門 OpenSSH
– http://www.unixuser.org/~euske/doc/openssh/book/index.html
68 / 69
Connection closed
69 / 69

More Related Content

What's hot

暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みMorioImai
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜Masaru Kurahayashi
 
Pythonでパケット解析
Pythonでパケット解析Pythonでパケット解析
Pythonでパケット解析euphoricwavism
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善Ito Takayuki
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-akira6592
 
#ljstudy KVM勉強会
#ljstudy KVM勉強会#ljstudy KVM勉強会
#ljstudy KVM勉強会Etsuji Nakai
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談oheso tori
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すKenichiro MATOHARA
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 

What's hot (20)

暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組みモバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
モバイルゲームの「大規模な開発」かつ「高頻度の更新」を実現するための開発環境整備の取り組み
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
Pythonでパケット解析
Pythonでパケット解析Pythonでパケット解析
Pythonでパケット解析
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-Ansible 2.8 アップデート情報 -機能追加と注意点-
Ansible 2.8 アップデート情報 -機能追加と注意点-
 
#ljstudy KVM勉強会
#ljstudy KVM勉強会#ljstudy KVM勉強会
#ljstudy KVM勉強会
 
DNS移転失敗体験談
DNS移転失敗体験談DNS移転失敗体験談
DNS移転失敗体験談
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 

Similar to sshdのお話

OpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramikoOpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramiko(^-^) togakushi
 
マルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームするマルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームするSyuichi Murashima
 
マルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームするマルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームするSyuichi Murashima
 
はじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsはじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsAtsuhiro Takiguchi
 
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングYikei Lu
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdTaisuke Yamada
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstepsmokey monkey
 
STNSサーバーを書いてみた
STNSサーバーを書いてみたSTNSサーバーを書いてみた
STNSサーバーを書いてみたYoshinori Teraoka
 
qemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみたqemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみたKazuhiro Nishiyama
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDyaegashi
 
ssh_configのススメ
ssh_configのススメssh_configのススメ
ssh_configのススメHisaharu Ishii
 
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)Tetsuya Hasegawa
 
効率アップのためのコマンドとツール
効率アップのためのコマンドとツール効率アップのためのコマンドとツール
効率アップのためのコマンドとツールYosuke INOUE
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介Etsuji Nakai
 
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jOsc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jAkira Yoshiyama
 

Similar to sshdのお話 (20)

Janog33.5
Janog33.5Janog33.5
Janog33.5
 
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramikoOpenSSH User EnumerationTime-Based Attack と Python-paramiko
OpenSSH User EnumerationTime-Based Attack と Python-paramiko
 
マルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームするマルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームする
 
マルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームするマルチプラットホームになった PowerShell 6 でクロスプラットホームする
マルチプラットホームになった PowerShell 6 でクロスプラットホームする
 
はじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvpsはじめてのWebサーバ構築 さくらvps
はじめてのWebサーバ構築 さくらvps
 
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
 
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpdmod_auth_ticket - Bringing Single-Sign-On to lighttpd
mod_auth_ticket - Bringing Single-Sign-On to lighttpd
 
Oss dev-04
Oss dev-04Oss dev-04
Oss dev-04
 
Osc10do linux nextstep
Osc10do linux nextstepOsc10do linux nextstep
Osc10do linux nextstep
 
STNSサーバーを書いてみた
STNSサーバーを書いてみたSTNSサーバーを書いてみた
STNSサーバーを書いてみた
 
SSH Tips & Tricks
SSH Tips & TricksSSH Tips & Tricks
SSH Tips & Tricks
 
qemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみたqemuのriscv64にDebianを入れてみた
qemuのriscv64にDebianを入れてみた
 
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CDAzure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
Azure DevOps で実現する Unity アプリのハイパフォーマンス CI/CD
 
ssh_configのススメ
ssh_configのススメssh_configのススメ
ssh_configのススメ
 
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
 
おしべめしべ
おしべめしべおしべめしべ
おしべめしべ
 
効率アップのためのコマンドとツール
効率アップのためのコマンドとツール効率アップのためのコマンドとツール
効率アップのためのコマンドとツール
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
 
Osc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 jOsc201703 tokyo-clonezilla-v1.2 j
Osc201703 tokyo-clonezilla-v1.2 j
 

More from (^-^) togakushi

ささみ麻雀部の紹介
ささみ麻雀部の紹介ささみ麻雀部の紹介
ささみ麻雀部の紹介(^-^) togakushi
 
ファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみるファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみる(^-^) togakushi
 
手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0(^-^) togakushi
 
仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp(^-^) togakushi
 
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方(^-^) togakushi
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。(^-^) togakushi
 

More from (^-^) togakushi (11)

ささみ麻雀部の紹介
ささみ麻雀部の紹介ささみ麻雀部の紹介
ささみ麻雀部の紹介
 
ファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみるファイナル・ファンタジー2のデータを解析してみる
ファイナル・ファンタジー2のデータを解析してみる
 
手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0手順書の話 Ver.0.3.0
手順書の話 Ver.0.3.0
 
仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp仕事の捉え方の話 #ssmjp
仕事の捉え方の話 #ssmjp
 
現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方現場で役に立たないsudoの使い方
現場で役に立たないsudoの使い方
 
tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。tcpdumpとtcpreplayとtcprewriteと他。
tcpdumpとtcpreplayとtcprewriteと他。
 
KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
jenkinsで遊ぶ
jenkinsで遊ぶjenkinsで遊ぶ
jenkinsで遊ぶ
 
Pakena #9
Pakena #9Pakena #9
Pakena #9
 
Sfstudy #2
Sfstudy #2Sfstudy #2
Sfstudy #2
 
ひとりsphinx
ひとりsphinxひとりsphinx
ひとりsphinx
 

sshdのお話