Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yoshinori Teraoka
PPTX, PDF
647 views
STNSサーバーを書いてみた
自分の必要な機能を実装したSTNSサーバーを書いてみた話
Software
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 18
2
/ 18
3
/ 18
4
/ 18
5
/ 18
6
/ 18
7
/ 18
8
/ 18
9
/ 18
10
/ 18
11
/ 18
12
/ 18
13
/ 18
14
/ 18
15
/ 18
16
/ 18
17
/ 18
18
/ 18
More Related Content
PDF
Aws auto scalingによるwebapサーバbatchサーバの構成例
by
Takeshi Mikami
PDF
Where狙いのキー、order by狙いのキー
by
yoku0825
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
PDF
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
PDF
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PDF
知っているようで知らないPAMのお話
by
Serverworks Co.,Ltd.
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
Aws auto scalingによるwebapサーバbatchサーバの構成例
by
Takeshi Mikami
Where狙いのキー、order by狙いのキー
by
yoku0825
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
イミュータブルデータモデル(入門編)
by
Yoshitaka Kawashima
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
知っているようで知らないPAMのお話
by
Serverworks Co.,Ltd.
マイクロにしすぎた結果がこれだよ!
by
mosa siru
What's hot
PDF
初心者向けWebinar AWSで開発環境を構築しよう
by
Amazon Web Services Japan
PDF
Python におけるドメイン駆動設計(戦術面)の勘どころ
by
Junya Hayashi
PDF
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
by
Amazon Web Services Japan
PDF
20180220 AWS Black Belt Online Seminar - Amazon Container Services
by
Amazon Web Services Japan
PPTX
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PDF
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
PDF
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
by
Preferred Networks
PPTX
もしSIerのエンジニアがSRE本を読んだら
by
Tomoki Ando
PDF
20210526 AWS Expert Online マルチアカウント管理の基本
by
Amazon Web Services Japan
PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
by
Shin Ohno
PDF
分散システムの限界について知ろう
by
Shingo Omura
PDF
10分でわかる Cilium と XDP / BPF
by
Shuji Yamada
PDF
CDNの仕組み(JANOG36)
by
J-Stream Inc.
PDF
マイクロサービス化に向けて
by
HIRA
PPT
メタプログラミングって何だろう
by
Kota Mizushima
PDF
その ionice、ほんとに効いてますか?
by
Narimichi Takamura
PDF
目grep入門 +解説
by
murachue
初心者向けWebinar AWSで開発環境を構築しよう
by
Amazon Web Services Japan
Python におけるドメイン駆動設計(戦術面)の勘どころ
by
Junya Hayashi
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
by
Amazon Web Services Japan
20180220 AWS Black Belt Online Seminar - Amazon Container Services
by
Amazon Web Services Japan
本当は恐ろしい分散システムの話
by
Kumazaki Hiroki
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
MySQL 5.7にやられないためにおぼえておいてほしいこと
by
yoku0825
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
ソーシャルゲーム案件におけるDB分割のPHP実装
by
infinite_loop
PodSecurityPolicy からGatekeeper に移行しました / Kubernetes Meetup Tokyo #57
by
Preferred Networks
もしSIerのエンジニアがSRE本を読んだら
by
Tomoki Ando
20210526 AWS Expert Online マルチアカウント管理の基本
by
Amazon Web Services Japan
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
by
Shin Ohno
分散システムの限界について知ろう
by
Shingo Omura
10分でわかる Cilium と XDP / BPF
by
Shuji Yamada
CDNの仕組み(JANOG36)
by
J-Stream Inc.
マイクロサービス化に向けて
by
HIRA
メタプログラミングって何だろう
by
Kota Mizushima
その ionice、ほんとに効いてますか?
by
Narimichi Takamura
目grep入門 +解説
by
murachue
Similar to STNSサーバーを書いてみた
PPTX
SSH超入門
by
Toru Miyahara
PPTX
今さら聞けない人のためのSSH超入門
by
VirtualTech Japan Inc./Begi.net Inc.
ODP
sshdのお話
by
(^-^) togakushi
PDF
SSH力をつけよう
by
(^-^) togakushi
PPTX
Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
PDF
SSH Tips & Tricks
by
Nobutoshi Ogata
PPTX
はじめてのWebサーバ構築 さくらvps
by
Atsuhiro Takiguchi
PPTX
Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
PDF
OpenStack Grizzly構築手順書
by
VirtualTech Japan Inc.
PDF
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
PDF
Cinnamon - simple deploy tool
by
Yuki Shibazaki
PDF
Janog33.5
by
(^-^) togakushi
PDF
20121217 jawsug-yokohama
by
Tetsuya Chiba
PPTX
9/9 Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
PDF
NCstudy 2.5
by
Yuichi Saotome
PPTX
9/10 Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
PPTX
Linuxシステム管理入門 2018/02/23
by
VirtualTech Japan Inc./Begi.net Inc.
PDF
Awsでword pressを作ってみよう(ハンズオン)
by
Shingo Sasaki
PDF
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
by
Masaru Tomonaga
PDF
Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
by
Masaru Tomonaga
SSH超入門
by
Toru Miyahara
今さら聞けない人のためのSSH超入門
by
VirtualTech Japan Inc./Begi.net Inc.
sshdのお話
by
(^-^) togakushi
SSH力をつけよう
by
(^-^) togakushi
Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
SSH Tips & Tricks
by
Nobutoshi Ogata
はじめてのWebサーバ構築 さくらvps
by
Atsuhiro Takiguchi
Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
OpenStack Grizzly構築手順書
by
VirtualTech Japan Inc.
Docker hands on nifty sakura jul19
by
Masahito Zembutsu
Cinnamon - simple deploy tool
by
Yuki Shibazaki
Janog33.5
by
(^-^) togakushi
20121217 jawsug-yokohama
by
Tetsuya Chiba
9/9 Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
NCstudy 2.5
by
Yuichi Saotome
9/10 Linuxシステム管理入門
by
VirtualTech Japan Inc./Begi.net Inc.
Linuxシステム管理入門 2018/02/23
by
VirtualTech Japan Inc./Begi.net Inc.
Awsでword pressを作ってみよう(ハンズオン)
by
Shingo Sasaki
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
by
Masaru Tomonaga
Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
by
Masaru Tomonaga
STNSサーバーを書いてみた
1.
STNSサーバーを 書いてみた話 2017.12.6 #m3techtalk @yteraoka
2.
目次 ● 試すきっかけ、モチベーション ● STNS
とは何か? ● 作ってみたもの ● セットアップ方法 ● demo ● 作ってみた感想
3.
Motivation ● 一箇所のオンプレサーバーだけでなく、複数のクラウドサービスやVPSサー ビス上にサーバーが散在するようになり、アカウント管理が大変 ● LDAP
にどこからでもアクセス可能にするのはやりたくない ● STNS という便利なものが公開されていた https://stns.jp/
4.
Motivation オンプレサーバー 環境が増え、サーバーが増え、 人が増え・・・・ パトラッシュ・・・ 某VPS 某クラウド
5.
Motivation STNS サーバー オンプレサーバー 全部一箇所で管理できる (アクセスできない場合のことも考慮は必要) 某VPS 某クラウド
6.
STNS とは (1) ●
Simple TOML Name Service の略 ● 公開されているサーバーが TOML ファイルでデータを持っていることに由 来する名前だが便利なのはそこではない ● Linux には統合認証のための仕組みがある ○ PAM (Pluggale Authentication Modules) ○ NSS (Name Service Switch) ● ちょうど良い記事があった 第2回 認証統合の概要[Linux編]http://gihyo.jp/admin/serial/01/ad- linux2017/0002
7.
STNS とは (2) ●
PAM と NSS を使って HTTP(S) の JSON API を使えるようにすれば便利 なのではないかという発想、サーバーの実装が楽 ● 作者による紹介記事 Linuxユーザーと公開鍵を統合管理するサーバ&クライアントを書いた https://ten-snapon.com/archives/1228 ● OpenSSH Server には AuthorizedKeysCommand という設定があり、 Public key をここに指定した任意のコマンドで取得することができる ● STNS では STNS サーバーから Public key を取得するコマンドも用意され ているため、これも一箇所で管理できる
8.
STNS とは (3) ●
STNS にはサーバー実装も含まれており、要件が合えばそのまま使える ● JSON を返す HTTP(S) サーバーを書けば自前で必要な機能を実装できる ● Interface https://stns.jp/en/interface
9.
STNS Server ● TOML
ファイルでユーザー、グループ、公開鍵、sudoers 設定 などが行える ● Basic認証、クライアント証明書、任意のヘッダー認証対応 ● ただし、どのクライアントサーバーでも同じレスポンスを返すため サーバーごとにログイン出来る人を管理するということができなかった ● 権限の問題だけならグループでなんとかなるかもしれない
10.
作ってみたもの(プロトタイプ) ● サーバーグループ毎にログイン出来る人を管理する ● サーバーグループの識別は
Basic 認証のIDか、クライアント証明書 ● Django の Admin App 便利そうだから Django で書いてみた https://github.com/yteraoka/morion/tree/develop
11.
作ってみたもの server server appXX server server appZZ teamXX admin teamZZ user1 user2 user3 users wheel server group role
unx user unx group ● user2 は admin role で appXX, appZZ サーバーにログイン可能 users と wheel グループに所属 ● user1 は teamXX, teamZZ role を持ち appXX, appZZ にログイン可能 ● user3 は teamZZ role で appZZ サーバーにのみログイン可能
12.
Setup client (CentOS
7) # Install Pckages $ curl -fsSL https://repo.stns.jp/scripts/yum-repo.sh | sh $ sudo yum -y install stns libnss-stns libpam-stns nscd # /etc/stns/libnss_stns.conf の編集 api_end_point = ["http://localhost:1104/v3"] # user = "basic_user" # password = "basic_password" # wrapper_path = "/usr/local/bin/stns-query-wrapper" # chain_ssh_wrapper = "/usr/libexec/openssh/ssh-ldap-wrapper" # ssl_verify = true # request_timeout = 3 # http_proxy = "http://example.com:8080" # [request_header] # x-api-key = "token" package に含まれる 編集前の内容 これを必要に応じて 書き換える
13.
Setup client (CentOS
7) # Login 時に home directory を作成するようにする $ echo 'session required pam_mkhomedir.so skel=/etc/skel/ umask=0022' ¥ | sudo bash -c “cat >> /etc/pam.d/sshd” # sshd で Public key 取得に使えるようにする $ sudo sed -i -r ¥ -e 's@^#?(AuthorizedKeysCommand) .*@¥1 /usr/lib/stns/stns-key-wrapper@' ¥ -e 's@^#?(AuthorizedKeysCommandUser) .*@¥1 root@' ¥ /tmp/sshd_config
14.
Setup client (CentOS
7) # nsswitch.conf 設定 (passwd, shadow, group に stns を追加) $ sudoedit /etc/nsswitch.conf passwd: files sss stns shadow: files sss stns group: files sss stns # nscd.conf 設定 (毎回外部へ問い合わせていては遅いのでキャッシュさせる) $ sudoedit /etc/nscd.conf $ sudo systemctl enable nscd $ sudo systemctl start nscd (しかし、cache の TTL の動作が謎)
15.
Setup client (CentOS
7) # SELinux が有効だとブロックされるため一部のドメインを permissive に変更 $ sudo yum -y install policycoreutils-python $ sudo semanage permissive -a sshd_t $ sudo semanage permissive -a chkpwd_t $ sudo semanage permissive -a nscd_t
16.
demo
17.
作ってみた感想 ● 履歴を残そうと思ったら面倒 ● TOML
とか YAML で Git 管理が合っていそう ● 書き直す予定 あれ??? オリジナルサーバーに近づくね ● nscd の TTL の仕様がよくわからん ● SELinux 対応が必要
18.
pyama さんありがとう
Download