2014年12月16日火曜日

luksパスフレーズをsshで接続して入力 (2枚目SoftLayer Advent Calendar 2014 第16日目)

2枚目 SoftLayer Advent Calendar 2014 (http://qiita.com/advent-calendar/2014/softlayer2) の第16日目になります。

SoftLayer ではコンソールが使えるので、ルートパーティション暗号化後、OS 起動時に必要となるパスフレーズ入力をコンソールから行えばよいのですが、コンソールを使いたくない場合もあると思います。パスフレーズに記号が含まれている場合、日本語キーボード設定なのか英語キーボード設定なのかといった問題で迷うこともあるかと思います。パスフレーズをコピペで入力したくなるかもしれません。リモートから ssh 接続したくなります。前回、「sshd は動いていない状態なのでコンソールを利用する必要があります」と述べましたが、動いていないのであれば動かせばよいです。

基本的には、先人の知恵 (http://roosbertl.blogspot.jp/2012/12/centos6-disk-encryption-with-remote.html) をお借りしまして、ssh サーバを起動し、ssh で接続し、コンソールの端末に割り込んでパスフレーズを渡せばよいです。
ただ、この記事をそのまま真似 (ESXi 上で CentOS 6.3 x86_64 でも確認) しても動きませんでした。問題なく動くようになるまでに、私が dracut の仕組みをよく理解していなかったため、非常に時間がかかってしまいました。


まず、他の端末 /dev/console に割り込んで入力を渡すためのプログラムを作成します。
gcc が使える端末で作業します。
適当なコマンドが見当たらなかったので、C 言語で書いています。perl 等のスクリプト実行環境を初期 RAM ディスクに埋め込むのは面倒なので検討していません。
使用上の注意として、引数なしで実行すると「Segmentation fault (core dumped)」というエラーが発生します。2つ目以降の引数は無視します。1つ目の引数を /dev/console の入力へそのまま渡します。改行は渡さないので、1つ目の引数内でパスフレーズに続いて改行(CR)も渡す必要があります。改行(LF)ではないので注意が必要です。luks というラッパー・スクリプトも用意しておくので、そちらから呼び出せばよいです。スクリプト luks では、入力をエコーバックしないので、パスフレーズ入力に最適です。エコーバックさせないためだけに /bin/bash を初期 RAM ディスクに組み込んでしまいました。/bin/dashread コマンドが -s オプションをサポートしていなかったためです。


cat << 'EOF' | tee to_console.c
// gcc -std=gnu99 -O2 -Wl,-s -Wall to_console.c -o to_console
#include <sys/ioctl.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

int main (int argc, const char * argv[]) {
  int fd = open("/dev/console", O_RDONLY);
  if (fd < 0) {
    perror("open");
    return 1;
  }
  for (const char* str = argv[1]; *str; ++str) {
    int rv = ioctl(fd, TIOCSTI, str);
    if (rv < 0) {
      perror("ioctl(TIOCSTI)");
      return 2;
    }
  }
  close(fd);
  return 0;
}
EOF
gcc -std=gnu99 -O2 -Wl,-s -Wall to_console.c -o to_console


できあがったバイナリを GitHub においてもよいのですが、ルートパーティションの暗号化が必要な状況であればインターネットと直接やり取りができないことが想定されるので、圧縮して、base64 でテキスト化しておきます。
以下の実行結果(赤字部分)を構築手順に組み込みます。野良ビルドは利用せず、自分の環境でビルドした結果を利用してください。セキュリティに関しては手間を惜しんではだめです。


gzip to_console
echo "base64 -di << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/to_console.gz > /dev/null"; \
base64 to_console.gz; \
echo EOF; \
echo gunzip /usr/share/dracut/modules.d/40earlyssh/to_console.gz
base64 -di << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/to_console.gz > /dev/null
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
EOF
gunzip /usr/share/dracut/modules.d/40earlyssh/to_console.gz


ここからの作業は、ルートパーティションを暗号化しているサーバで行います。
root アカウントで作業します。

ssh サーバをインストールします。OpenSSH ではなく、dropbear を使います。Rescue モードでは OpenSSH の sshd が動いているので、dropbear を使いたくない場合はチャレンジしてみてください。


curl -O http://ftp.iij.ad.jp/pub/linux/fedora/epel/6Server/x86_64/dropbear-2014.65-1.el6.x86_64.rpm
curl -O http://ftp.iij.ad.jp/pub/linux/fedora/epel/6Server/x86_64/libtomcrypt-1.17-21.el6.x86_64.rpm
curl -O http://ftp.iij.ad.jp/pub/linux/fedora/epel/6Server/x86_64/libtommath-0.42.0-3.el6.x86_64.rpm
file *.rpm
dropbear-2014.65-1.el6.x86_64.rpm:  RPM v3.0 bin i386/x86_64 dropbear-2014.65-1.el6
libtomcrypt-1.17-21.el6.x86_64.rpm: RPM v3.0 bin i386/x86_64 libtomcrypt-1.17-21.el6
libtommath-0.42.0-3.el6.x86_64.rpm: RPM v3.0 bin i386/x86_64 libtommath-0.42.0-3.el6

rpm -ivh dropbear-*.rpm libtomcrypt-*.rpm libtommath-*.rpm
rm -f dropbear-*.rpm libtomcrypt-*.rpm libtommath-*.rpm


ssh サーバを初期 RAM ディスクに組み込む設定を入れます。
初期 RAM ディスクを作成すると自動的に組み込まれるようにします。
check スクリプトは単純に 0 を返していますが、/etc/crypttab が正しく記載されていて暗号化されているパーティションが存在する場合にのみ 0 を返すようにすると、不要な場合に組み込まないようにできます。今回はそこまで作りこんでいません。
初期 RAM ディスク作成時点での root パスワードや IP アドレス等が初期 RAM ディスクに組み込まれる点も留意してください。パスワード認証は排除した方がよいですが、とりあえず許可しています。root でのログインも許可したくはない、という話もあります。


rm -rf /usr/share/dracut/modules.d/40earlyssh
mkdir -p /usr/share/dracut/modules.d/40earlyssh
cd /usr/share/dracut/modules.d/40earlyssh

base64 -di << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/to_console.gz > /dev/null
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
EOF
gunzip /usr/share/dracut/modules.d/40earlyssh/to_console.gz

cat << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/luks
#!/bin/bash
read -sp "luks password: " pass
to_console $(echo -ne "$pass\r")
echo
/bin/sleep 3
/bin/cat /dev/vcs1
EOF

dropbearkey -t dss -f /usr/share/dracut/modules.d/40earlyssh/dropbear_dss_host_key
dropbearkey -t rsa -f /usr/share/dracut/modules.d/40earlyssh/dropbear_rsa_host_key

cat << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/hosts
127.0.0.1   localhost
::1         localhost
EOF

echo 'multi on' | tee /usr/share/dracut/modules.d/40earlyssh/host.conf

echo 'root:x:0:0:root:/home/root:/bin/bash' | tee /usr/share/dracut/modules.d/40earlyssh/passwd

echo '/bin/bash' | tee /usr/share/dracut/modules.d/40earlyssh/shells

cat << 'EOF_' | tee /usr/share/dracut/modules.d/40earlyssh/install
#!/bin/bash

inst_dir "/etc/dropbear"
inst "${moddir}/dropbear_dss_host_key" "/etc/dropbear/dropbear_dss_host_key"
inst "${moddir}/dropbear_rsa_host_key" "/etc/dropbear/dropbear_rsa_host_key"

inst_dir "/home"
inst_dir "/home/root"
inst_dir "/home/root/.ssh"
inst "${moddir}/authorized_keys" "/home/root/.ssh/authorized_keys"

grep ^root: /etc/shadow > /root/.shadow
chmod 000 /root/.shadow
inst_simple "/root/.shadow" "/etc/shadow"

inst "/etc/localtime"
inst "${moddir}/nsswitch.conf" "/etc/nsswitch.conf"
inst "/etc/resolv.conf"
inst "${moddir}/host.conf" "/etc/host.conf"
inst "${moddir}/hosts" "/etc/hosts"
inst "${moddir}/passwd" "/etc/passwd"
inst "${moddir}/shells" "/etc/shells"
inst "${moddir}/local.conf" "/etc/modprobe.d/local.conf"
inst "${moddir}/luks" "/bin/luks"

ip addr show bond0 2> /dev/null | grep -q ' inet ' && NIC0=bond0 || NIC0=eth0

cat << EOF | tee /usr/share/dracut/modules.d/40earlyssh/remote-ssh.sh > /dev/null
#!/bin/sh

/sbin/ip link set dev lo up
/sbin/modprobe eth0
/sbin/ip addr flush dev eth0
/sbin/ip addr add $(ip addr show $NIC0 | grep ' inet ' | awk '{print $2}') dev eth0
/sbin/ip link set dev eth0 up
/sbin/ip route add default via $(ip route show | grep -q '^10\.0\.0\.0/8' && ip route show | grep '^10\.0\.0\.0/8' | awk '{print $3}' || ip route show | grep ^default | awk '{print $3}')
/bin/mkdir -p /var/log
/bin/touch /var/log/lastlog
/usr/sbin/dropbear -E -m -j -p 222 -K 600 -P /tmp/dropbear.pid
EOF

cat << EOF | tee /usr/share/dracut/modules.d/40earlyssh/remote-ssh-delete.sh > /dev/null
#!/bin/sh
read main_pid </tmp/dropbear.pid
/bin/kill -KILL \${main_pid} 2>/dev/null
/usr/bin/pkill -KILL dropbear
/sbin/ip link set dev lo down
/sbin/ip link set dev eth0 down
/sbin/ip addr delete $(ip addr show $NIC0 | grep ' inet ' | awk '{print $2}') dev eth0
/sbin/ip route del default via $(ip route show | grep -q '^10\.0\.0\.0/8' && ip route show | grep '^10\.0\.0\.0/8' | awk '{print $3}' || ip route show | grep ^default | awk '{print $3}')
EOF

chmod 755 /usr/share/dracut/modules.d/40earlyssh/{remote-ssh.sh,remote-ssh-delete.sh}

inst_hook pre-trigger 01 "$moddir/remote-ssh.sh"
inst_hook pre-pivot 01 "$moddir/remote-ssh-delete.sh"

inst_binary "${moddir}/to_console" "/bin/to_console"

dracut_install -o ps find grep egrep sed less more cat tac head tail true false mkdir rmdir rm touch vi ip ping ssh scp pkill kill sleep bash dropbear dhclient
EOF_

cat << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/check
#!/bin/bash
exit 0
EOF

cat << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/installkernel
#!/bin/bash
instmods eth0
instmods igb
EOF
lsmod | grep -q xen_netfront && sed -i -e 's/igb/xen_netfront/' /usr/share/dracut/modules.d/40earlyssh/installkernel

cat << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/local.conf
alias eth0 igb
EOF
lsmod | grep -q xen_netfront && sed -i -e 's/igb/xen_netfront/' /usr/share/dracut/modules.d/40earlyssh/local.conf

cat << 'EOF' | tee /usr/share/dracut/modules.d/40earlyssh/nsswitch.conf
passwd:     files
shadow:     files
group:      files
initgroups: files
hosts:      files dns
bootparams: files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files
automount:  files
aliases:    files
EOF

touch /usr/share/dracut/modules.d/40earlyssh/authorized_keys

chmod 755 /usr/share/dracut/modules.d/40earlyssh/{check,install,installkernel,luks,to_console}
chmod 600 /usr/share/dracut/modules.d/40earlyssh/authorized_keys


※Baremetal Server で、igb 以外の NIC ドライバが使われている場合には、置き換える必要があります。

公開鍵認証でログインしたい場合は、/usr/share/dracut/modules.d/40earlyssh/authorized_keys に入れておきます。


ssh サーバを初期 RAM ディスクに組み込みます。


mkinitrd --force /boot/initramfs-3.8.13-44.1.1.el6uek.x86_64.img 3.8.13-44.1.1.el6uek.x86_64
mkinitrd --force /boot/initramfs-2.6.32-504.el6.x86_64.img 2.6.32-504.el6.x86_64


再起動し、ssh でログインします。ポート番号に222を指定している点に注意してください。ここで入力するパスワードは、mkinitrd 実行時のものです。公開鍵を登録した場合は、公開鍵認証でもログインできます。パスワード認証を禁じたい場合には、dropbear の起動オプションに 「-s -g」 を追加すればよいです。


reboot

ssh -p 222 root@<server のプライベート IP アドレス>


コンソールに表示されている内容を確認します。
80文字、24行がコンソールの標準です。Teraterm などを使っている場合に、このように設定しないと表示がずれます。


cat /dev/vcs1
Initalizing network drop monitor service                                        
Freeing unused kernel memory: 1296k freed                                       
Write protecting the kernel read-only data: 10240k                              
Freeing unused kernel memory: 788k freed                                        
Freeing unused kernel memory: 1568k freed                                       
dracut: dracut-004-356.0.1.el6                                                  
dracut: rd_NO_LVM: removing LVM activation                                      
device-mapper: uevent: version 1.0.3                                            
device-mapper: ioctl: 4.27.0-ioctl (2013-10-30) initialised: dm-devel@redhat.com
udev: starting version 147                                                      
Initialising Xen virtual ethernet driver.                                       
NET: Registered protocol family 10                                              
lo: Disabled Privacy Extensions                                                 
dracut: Starting plymouth daemon                                                
dracut: rd_NO_DM: removing DM RAID activation                                   
dracut: rd_NO_MD: removing MD RAID activation                                   
xlblk_init: register_blkdev major: 202                                          
blkfront: xvdb: barriers disabled                                               
 xvdb: xvdb1                                                                    
blkfront: xvdc: barriers disabled                                               
 xvdc: xvdc1                                                                    
blkfront: xvda: barriers disabled                                               
 xvda: xvda1 xvda2                                                              
dracut: luksOpen /dev/xvda2 luks-0e144deb-0180-42a1-a2ad-6404d83d9eda           
                                                                                


パスフレーズを入力します。


luks
luks password: ******** ******** ******** ********


後は、通常通り OS が起動します。

0 件のコメント:

コメントを投稿