はじめに
- さくらVPSにjenkins載せてみたけど仮想環境とかのほうがセキュリティ上よさそう
- 導入方法だけ一応メモとして残しておこうとおもっている
Javaのインストール
sudo yum install -y java-1.7.0-openjdk
Jenkinsのレポジトリをyumに追加
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
jenkinsをインストール
sudo yum install -y jenkins
Nginxを使ってベーシック認証時のjenkins側の設定
sudo cp /var/lib/jenkins/config.xml /var/lib/jenkins/config.xml.org
- jenkins設定ファイルを開く(ベーシック認証を行う場合)
sudo vim /var/lib/jenkins/config.xml
<useSecurity>true</useSecurity>
↓
<useSecurity>flases</useSecurity>
jenkinsで利用するポートを変更したい場合
- sudo vim /etc/sysconfig/jenkins
JENKINS_PORT="8080"
↓
例:JENKINS_PORT="利用したいポート番号"
ファイヤーウォールで許可するポートの追加
sudo firewall-cmd --zone=public --add-port=利用したいポート番号/tcp --permanent
ファイヤーウォールを再起動
sudo firewall-cmd --reload
jenkinsのセットアップ
- jenkinsのinstallAdminPasswordを用意する
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- IP:利用したいポート番号にブラウザでアクセス
- AdminPasswordに上記コマンドで出したPasswordを貼り付ける
- Install suggested pluginsをクリック(オススメのプラグイン)
- デフォルトユーザの作成を行う
Nginxの設定
raichel.hatenablog.com
sudo vim /etc/nginx/conf.d/jenkins.conf
server {
listen 80;
server_name jenkins.ドメイン名;
location / {
proxy_pass http://localhost:利用したいポート番号;
auth_basic "Restricted"; # 認証時に表示されるメッセージ
auth_basic_user_file /etc/nginx/.htpasswd; # .htpasswdファイルのパス
proxy_set_header Authorization "";
}
}
jenkinsの起動
sudo systemctl start jenkins
nginxの起動
sudo systemctl start nginx
確認方法
- jenkins.ドメイン名にブラウザからアクセスしてみる
- ログイン画面が表示されていたら導入完了。
【僕のメモ】許可するポートの追加と削除
sudo firewall-cmd --zone=public --add-port=利用したいポート番号/tcp --permanent
sudo firewall-cmd --zone=public --remove-port=利用したいポート番号/tcp --permanent
おもったこと
- 外にServiceとして出すならともかく出したくないものを制御するのむずかしい
- ベーシック認証も総当たり攻撃等されたらすぐ死にそうだしセキュアにする難しい
- IP固定も考えたけど家と外で使う回線が違うのでなんだか微妙なかんじがした
- セキュリティ周りとネットワークをもっとしっかり学習しないといけない(真顔)