ぱんぴーも頑張ってますw

Linux関連のことをメインに一般ぴーぽーなエンジニアがいろいろ書いてるblogです。 その他趣味(ゲームやらなんやら)も書こうと思いますw

今さらながらApacheのsslの設定

タイトルの通りですw
今さらながらですが。。。

というのも昨今の脆弱性に対応するために設定をいれねば!
だったんですが、 どうにもいろいろありすぎるなーと。
ssl.confどう設定すりゃいいんだよ!!
ってなってました。
なのでメモ。

SSLProtocol はとりあえずTLS対応してればいいので、
SSLProtocol  all -SSLv2 -SSLv3   

次にSSLCipherSuite
これに悩まされた・・・
それこそ調べれば調べるほどいろいろとでてきて・・・orz
てなってるときに救世主が!

  Mozilla提供の便利ツール!
自分の使ってるWebサーバ(今回はApache)のバージョンと SSLのバージョンを選択すると SSLの推奨設定例を出してくれます! これ便利! Nginxとかも使えるしめっちゃ便利!!! ってことで備忘録でしたw

GlusterFS設定(クライアント編)

今回はクライアント編です。

■目的
 GlusterFS導入(クライアント)
■環境
 ・VirtualBox 4.2.24
 ・CentOS 6.6
  minimal.isoを使用したのでほぼなんも入ってません。。。
 ・GlusterFSクライアント
  192.168.56.105  test05
  →今回はFUSEでアクセスします。  ・GlusterFSサーバはとりあえず2台用意(前回作りました。)
  192.168.56.107  test07
  192.168.56.108  test08
  →vol01というボリュームを作ってます。
   モードはデフォルト(Distributed)

■手順
1.パッケージインストール
 例のごとくレポジトリ登録してからのインストール
#### レポジトリ登録 ####
# cd /etc/yum.repos.d
# wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
#### インストール ####
# yum install glusterfs-fuse

2.hosts設定
 名前解決するので、ホスト登録します。
#### hosts登録 ####
# vi /etc/hosts
192.168.56.105  test05
192.168.56.107  test07
192.168.56.108  test08

3.FUSEでマウント
#### マウント ####
# # mount -t glusterfs test07:/vol01 /share
#### 確認 ####
# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_test01-lv_root
                      6.5G  649M  5.6G  11% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             477M   25M  427M   6% /boot
test07:/vol01          12G   65M   12G   1% /share ←これ

→マウント時に指定するノードは起動時のみに使用するため、どれでもいいみたい  今回の場合test07とtest08でボリューム組んでるので、  test07かtest08を指定すればよい(てことで今回はtest07を指定)  ※サーバ起動時に自動マウントとかを考えるならもうちょう考える必要がありそうだけど。。。

3.とりあえず動作確認
#### クライアント側確認 ####
[root@test05 share]# cd /share
[root@test05 share]# touch test01.txt
[root@test05 share]# ll
合計 0
-rw-r--r-- 1 root root 0 12月  5 08:05 2014 test01.txt
#### サーバ側確認 ####
[root@test07 ~]# cd /data/brick01/
[root@test07 brick01]# ll
合計 0
-rw-r--r--. 2 root root 0 12月  5 08:05 2014 test01.txt ←test07にあった
[root@test08 ~]# cd /data/brick01/
[root@test08 brick01]# ll
合計 0 ←test08には何もない
#### もう一回クライアント側確認 ####
[root@test05 share]# touch test02.txt
[root@test05 share]# touch test03.txt
[root@test05 share]# ll
合計 0
-rw-r--r-- 1 root root 0 12月  5 08:05 2014 test01.txt
-rw-r--r-- 1 root root 0 12月  5 08:11 2014 test02.txt
-rw-r--r-- 1 root root 0 12月  5 08:12 2014 test03.txt
#### サーバ側確認 ####
[root@test07 brick01]# ll
合計 0
-rw-r--r--. 2 root root 0 12月  5 08:05 2014 test01.txt
-rw-r--r--. 2 root root 0 12月  5 08:11 2014 test02.txt
[root@test08 brick01]# ll
合計 0
-rw-r--r--. 2 root root 0 12月  5 08:12 2014 test03.txt

→分散で登録されました!
 とりあえず動作確認も以上!
 次回はWEBサーバ作ってGlusterFSとうまいこと連携させてみようかなー

■余談
ちなみに分散方法どうやって管理してるかというと、
DHT:Distributed Hash Tableを使用しているようです。
要はファイル名のハッシュ値によって配置場所を決定してます。
なので多少の偏りは出る模様・・・
この辺は機会があれば詳しく書きます・・・
この記事とかよさげです


おわり。

GlusterFS設定(サーバ編)

前回からだいぶ時間が空きましたが、
作った環境にいろいろ入れていきたいと思います。
#実はその間に動作環境はwindowからMACに変わってたりします。。。

今回はなぜかGlusterFSですw
ちょっと勉強したい機会があったので。

ちなみに参考にしたのはGlusterFSのofficialのQuickstartが分かりやすかったので参考にしています。
ここ http://www.gluster.org/documentation/quickstart/

■目的
 GlusterFS導入(サーバ編)
■環境
 ・VirtualBox 4.2.24
 ・CentOS 6.6
  minimal.isoを使用したのでほぼなんも入ってません。。。
 ・サーバはとりあえず2台用意
  192.168.56.107  test07
  192.168.56.108  test08
   
■手順
1.レポジトリ登録して、yumインストール(両方のサーバ)
#### レポジトリ登録 ####

# cd /etc/yum.repos.d

# wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo


#### yumでインストール ####

# yum install glusterfs-server

依存関係のパッケージもろともインストールします。

ちなみにGlusterFS関連のパッケージはこんな感じ
#そのときの最新版入れただけですが。。。
 

[root@test08 ~]# rpm -qa | grep gluster

glusterfs-3.6.1-1.el6.x86_64

glusterfs-fuse-3.6.1-1.el6.x86_64

glusterfs-server-3.6.1-1.el6.x86_64

glusterfs-libs-3.6.1-1.el6.x86_64

glusterfs-api-3.6.1-1.el6.x86_64

glusterfs-cli-3.6.1-1.el6.x86_64

 


2.サービス起動(両方のサーバ)

#### サービス起動 ####
# service glusterd start

Starting glusterd:                                         [  OK  ]

 

3.hosts設定(両方のサーバ)
 名前解決するので、ホスト登録します。

# vi /etc/hosts
#### 下記を追加 ####

192.168.56.107  test07

192.168.56.108  test08  

 

4.クラスタ?組みます(片方のサーバ)

# gluster peer probe test08

peer probe: failed: Probe returned with unknown errno 107
→こけた。。。

ただ、

Quick Startちゃんと読んだら、iptables offにしてね って書いてあったので
# service iptables stop
→実際サービスとして使うときは男らしくstopはできないと思うので、
 ipで許容するのかな?portまで指定すると結構な量になるっぽい。。。
 #この辺は触れる機会があればそのうち。。。 

#### とりあえずリトライ ####

# gluster peer probe test08

peer probe: success.

#### 状態確認 ####
# gluster peer status 

Number of Peers: 1

Hostname: test08

Uuid: d7c9919a-eb9c-4306-8508-93a4853f0329

State: Peer in Cluster (Connected)
→とりあえず組めたみたい
 もう一方のノードで打ってもおんなじ感じ

# gluster peer status

Number of Peers: 1

Hostname: test07

Uuid: 3a5a055b-4365-44aa-b0f4-784fdeac7076

State: Peer in Cluster (Connected)

 


5.ボリューム作成(片方のサーバ)
 ここからが本番
 #といいつつデフォで作りますw
真面目に載せておくと
GlusterFSはDistributed、Replicated、Striped  の3タイプ+その組み合わせでボリューム構成ができ、
それぞれ下記のような特徴がある。
Distributed:
  • 分散ボリュームは、ボリュームを先頭から順番に利用して保存する
  • 小さなボリュームを合わせて1つの大きなボリュームとして利用する
  • 冗長性がない(ただし、生きているノードに格納されたファイルは読み込み可能)
  • 合計容量がそのまま利用できる
Replicated:
  • 1つのファイルを2つ以上に複製して保存する
  • 冗長性がある
  • 1番小さい容量の分だけ利用できる
Striped :
  • ストライプは1つのファイルを細分化し、複数のサーバーに分散して保存する
  • 冗長性がない(どれかが死んだら全部読めない。。。)
  • 合計容量がそのまま利用できる

何も指定しない場合、Distributedで作成される 

#### ボリューム作成(デフォ) ####
# gluster vol create vol01\

> test07:/data/brick01 \

> test08:/data/brick01

volume create: vol01: success: please start the volume to access data

#### ボリューム起動 ####

# gluster vol start vol01

volume start: vol01: success

#### 状態確認 ####

# gluster vol info


Volume Name: vol01

Type: Distribute

Volume ID: 7af81533-426f-4143-9761-4fbe1dc44a5c

Status: Started

Number of Bricks: 2

Transport-type: tcp

Bricks:

Brick1: test07:/data/brick01

Brick2: test08:/data/brick01 



とりあえずサーバ側は以上!
これだけだとよく分かんないですねw
次はクライアント側設定して実際FUSEアクセスしてみます!!!

つづく。

CentOSの環境づくり

まずは環境を作りましょう!
ということでこんな感じに作ってみました。

環境作成
■目的
 webサーバ構築
■環境
 ・VirtualBox 4.2.24
  #新しすぎると動かなかったりもあるっぽいので若干古いやつを・・・
 ・CentOS 6.5
  事前に下記サイトからダウンロード(今回はCentOS-6.5-x86_64-minimal.isoを使用)
  http://www.centos.org/download/

■手順
1.バーチャルマシン作成
 ・VirtualBox起動→新規 で仮想マシン作成
  仮想マシン 名前:適当、タイプ:Linux、バージョン:RedHat64bit
  メモリサイズ 1024MB #ここはホストOS次第で
  ハードドライブ 仮想ドライブを作成する
  ハードドライブのファイルタイプ VDI
  物理ハードドライブにあるストレージ 可変サイズ
  ファイルの場所とサイズ 場所:適当、サイズ:8GB #ここはホストOS次第で
  ###ここでとりあえず箱が完成###
2.バーチャルマシンの設定
 ・インストールメディアを選ぶ
  作ったマシンを選択し、
  設定→ストレージ→コントローラー:IDEの下にある空って書いたDISKアイコンを選択
  →右側のDISKアイコンを選択して、インストールメディアを選択
 ・ネットワーク設定
  設定→ネットワーク→アダプタ1~4を設定
  外部NWに接続したい場合にはNATを、ホストOSから接続したい場合にはホストオンリーアダプターを選択
  #あとででも設定できますが、設定が勝手にされてる分ここでやっといた方が楽w
3.バーチャルマシンにOSインストール
 ここはOSのインストールなので割愛
4.バーチャルマシンの起動
 ここから色々とデフォルトを設定
 ・SELinuxを無効化
  SELinux状態確認
[root@test01 ~]# getenforce
Enforcing
  有効なので無効化
[root@test01 ~]# setenforce 0
  もう一回確認
[root@test01 ~]# getenforcePermissive
  起動時に無効化されるよう、設定ファイルを編集
[root@linux ~]# vi /etc/sysconfig/selinux
SELINUX=enforcing
  ↓
SELINUX=disabled

 ・DNS設定(というか確認だけだけど)
[root@test01 ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 192.168.3.1

 ・NW設定
  ONBOOTがデフォルトOFFだったのでこれをONにしてservice network restartすればとりあえず使えます。
  が、一応もろもろstaticで設定
こっちがNAT設定した方
[root@test01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=**********
TYPE=Ethernet
UUID=*********
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
BROADCAT=10.0.2.255
IPADDR=10.0.2.151
NETMASK=255.255.255.0
NETWORK=10.0.2.0
[root@test01 ~]#

こっちがホストオンリー
[root@test01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
HWADDR=***************
TYPE=Ethernet
UUID=**********
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
BROADCAST=192.168.56.255
IPADDR=192.168.56.151
NETMASK=255.255.255.0
NETWORK=192.168.56.0
[root@test01 ~]#
デフォゲも追加
[root@test01 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test01
GATEWAY=10.0.2.2

てことで基本的なのはここでとりあえず終わり!!!
あ、一応bashの脆弱性のだけはupdateしとこうかな・・・
[root@test01 ~]# yum update bash

以上!次はアプリを入れてきます!!!


blog始めました。

blog始めました。
最近Linux関連をお勉強したりしているので、その備忘録?とかを兼ねて、色々と発信していけたらいいなぁと。
ギャラリー