More Related Content
Similar to 秘伝:クラウドに開発環境をえいっ!と構築する方法
Similar to 秘伝:クラウドに開発環境をえいっ!と構築する方法 (20)
More from Masahiko Hashimoto
More from Masahiko Hashimoto (20)
秘伝:クラウドに開発環境をえいっ!と構築する方法
- 16. 16
絶対にやっておきたいセキュリティ対策
●
SSH鍵認証を設定すること!
– パスワードのみによるログインは絶対にダメ!
– root ユーザーでの直接ログインも絶対にダメ!!
●
鍵の作成方法については省略(^^)
●
VPS(サーバー)側の SSH設定を変更しましょう。
– ファイル名: /etc/ssh/sshd_config ※最低限変更しておきたい内容
●
PasswordAuthentication no =パスワード認証無効化
●
PermitRootLogin no =rootユーザのログイン無効化
●
ChallengeResponseAuthentication no =チャレンジレスポンス認証無効化
●
UsePAM no =PAMを使用した認証の無効化
意味を知ってから自分の環境にあった設定へ変更することが重要です!
●
変更後「service sshd restart」(SSHD再起動)と入力するのを忘れずに。
SSHといえば…
SSHサービスの自動起動
「chkconfig sshd on」
も忘れずに!
- 17. 17
su か sudo か、それが問題だ!
●
スーパーユーザー(root)のコマンドを入力する場合「su」もしくは
「sodo」を使います。
– su
「su -」と入力した後、rootユーザのパスワードを入力して、
rootユーザのように振る舞う。
– sudo
「sudo zypper up」のように、一般ユーザのまま
スーパーユーザーのコマンドを入力する。
●
どっちを使うべき?
– サーバー管理者が複数人いる場合は「sudo」の方がいいのでは?
/var/log/messages をみればいつ誰がどのコマンドを使ったかわかりますしね。
– ひとりでサーバーを管理する場合は「su」でもいいと思います。
- 18. 18
これだけは覚えておきたい! sudo の設定
●
sudo 設定方法
> su -
# usermod -G wheel hashimom
# visudo
●
/etc/sudoers の設定
– Defaults targetpw
↓ コメントアウト
#Defaults targetpw
– ALL ALL = (ALL) ALL
↓ コメントアウト
#ALL ALL = (ALL) ALL
– #%wheel ALL=(ALL) ALL
↓ コメントイン
%wheel ALL=(ALL) ALL
スーパーユーザへ変更 一般ユーザ「hashimom」を
wheelグループへ追加
※もちろん一般ユーザ名は
置き換えて読んでください!
/etc/sudoers を編集します
「#」をつけて、コメントアウトします。
# つける…sudo 入力時に root パスワードを聞く
# つけない…sudo 入力時に自分のパスワードを聞く
→ root パスワードを共有しないようにします。
「#」をとって、コメントインします。
→ wheel グループに root 権限を付与します。
注: あくまで設定例です! 意味を確かめながら自分の環境にあった設定をしてください。
「#」をつけて、コメントアウトします。
→ 下記の wheel グループ以外に root 権限を付与しません。
- 25. 25
ソースコード管理といえば Git かな
●
Git のインストールコマンド
> sudo zypper install git
●
Git リポジトリの作成
> sudo mkdir -p /srv/git/hoge.git
> cd /srv/git/hoge.git
> git --bare init
●
接続テスト
> git clone ssh://localhost/srv/git/hoge.git
ここまでは楽勝…かな??
例では「/srv/git/hoge.git」という
リポジトリを作成しています。
置き換えて読んでください。
- 27. 27
続いて、Jenkins!
●
実はインストールは楽勝!
> sudo zypper addrepo http://pkg.jenkins-ci.org/opensuse/ jenkins
> sudo zypper install jenkins
> sudo /etc/init.d/jenkins start
●
これでインストールから起動まで完了です!
●
問題は SSL ・・・?
専用リポジトリの追加、
インストール、
起動…という順です。
- 29. 29
YaST から LAMP をインストールしてみよう
●
パッケージのインストールも YaST が便利です!
●
「ソフトウェア」→「ソフトウェア管理」を選択します。
- 31. 31
YaST で Apache も設定しちゃえ!
●
YaST から 「ネットワークサービス」-「HTTP サー
バ」を選択すると、Apache の設定が行えます。
– ここでは何も設定しないので、全てそのまま「次へ」を押してみましょう!
「次へ」を押して
次画面へ進みます
- 35. 35
SSL にも鍵があるんです!
●
こんな感じで作ります。
> openssl genrsa -des3 -out server.key
> openssl req -new -x509 -key server.key -out server.crt
●
噂の「openssl」です! 入力前に必ずパッケージを最新にしましょう!
●
このコマンドは一例です。オプションの意味を確認してください。
●
作成し終わったら配置します。
> sudo cp server.key /etc/apache2/ssl.key/
> sudo cp server.crt /etc/apache2/ssl.crt/
●
配置場所については、次頁以降のバーチャルホスト設定ファイルに記載す
る場所になります。
- 37. 37
設定ファイル(例)
編集し終わったら「service apache2 restart」で再起動します!
あ、設定ファイルのバックアップも忘れずに!(バックアップは拡張子も変えてね!)
<VirtualHost hogehoge.net:443>
# General setup for the virtual host
ServerName hogehoge.net:443
ServerAdmin hoge@geeko.jp
ErrorLog /var/log/apache2/error_log
TransferLog /var/log/apache2/access_log
ProxyRequests Off
ProxyPreserveHost On
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
ProxyPassReverse / http://hogehoge.net/
赤字が修正箇所です!
ここからがリバースプロキシの設定です。
元々 Jenkins は「http://localhost:8080/」
という URL で動いています。
それを「https://hogehoge.net/」で
閲覧できるようにするというのが
この設定になります。
この下に、先ほど作成した
鍵のファイルパスなどが書かれています。
必要に応じて変更してください。
- 41. 41
VPS で VPN を使うとしたら?
●
IPsec が便利かと思います。
– openSUSE では StrongSwan というソフトが使えます。
– 詳細は下記の資料を参考にしてください(^^)
http://www.slideshare.net/hashimom/vpn-24901457
ちゃっかり宣伝です。
(昨年OSC京都の資料ですね…)