Shell In A Boxは便利だけど・・
先日のエントリで拙生はリモートでサーバーを管理する際に
通常はVNCは使わずにコマンドで行うと言いました。
出張などの出先へ持参したパソからログインするのは簡単で、
全てのノーパソ君の全てのOSにプライベートキーが仕込んであり、
ターミナルエミュレータからすんなり入れます。
しかしユーザー様訪問時に、急にログインが必要な作業が
発生したり、急ぎでノーパソ君を持たぬまま地方に
走るときもあります。
そんな時に便利なのがShell In A Boxです。
ShellInABoxはブラウザーがエミュレータとなり、
インターネットに繋がっていてIEやFirefoxなど
ブラウザーさえあればログインできてしまうのです。
httpsつまり通信はSSLで暗号化され、設定ファイルで
使用サービスポートを簡単に指定できます。
https://servername:指定したポート番号
のようにアクセスするとLogin:と表示されます。
OpenSSHとは別物なので、/etc/ssh/sshd_configで
パスワードによるLoginを禁止していても関係ありません。
ユーザー名とパスワードでLoginします。
後はターミナルエミュレータと同様に使えます。
*別物なのでサービスポート22ではありません。
セキュリティについて考える
セーバー名(またはIPアドレス)とポート番号がビンゴなら
誰がアクセスしてもLoging画面まではたどり着きます。
これでは流石にセキュリティ的にまずかろうと、まず
localマシーンからしかアクセスできないように設定します。
結果として自分自身(=サーバー)からのみ
https://localhosto:指定したポート番号
でアクセスすることができるのですが、外部からの接続は
リバ-スプロキシを使うことで、
https://servername/shellinabox
などでアクセスし
https://localhosto:指定したポート番号
にProxyPassを通す方法がよく紹介されています。
https://servername/shellinabox だと
BASIC認証などが掛けられるので。。。
ということなのですが、これがうまくいかないんだなぁ。
何をやってもかにをやってもダメなんです。
ログ見てもエラーになっておらん。。。??
ま、BASIC認証だってユーザーパスワードだし、
Login画面がいきなり出てきたってユーザーパスワードだし
セキュリティが高くなったとは言えないんじゃ?
じゃぁなくってどっちもセキュリティ低いってことですな。
ただし
・rootでのログインは不可。
・rootに昇格できるユーザーは限定してある。
登録してある限定ユーザーでログインしたときだけ
suコマンドでrootになれます。
他のユーザーでのログインすると、rootどころか
rootになれるユーザーにすら昇格できません。
OpenSSHでは公開鍵認証でrootのログインがOKですが、
ShellInABoxではrootのログインは出来ないため、
クラックしようとすると、まずはrootになれるユーザー
・パスワードを突き止めなければなりません。
(拙宅サーバーでは1人だけ。)
それからrootのパスワードを突き止めりる・・・
意外とクラックしづらいのではと思います。
・サービスポートはディフォルトの4200を使わない。
設定がディフォルトのままだと、
https://IPアドレス:4200
を叩けば、ShellInABoxが稼働しているかどうかが
すぐにバレてしまいます。
別のポートを指定してファイヤーウォールに穴を
開けておきます
実はディフォルトではSSLの認証はShellInABoxに
同梱してある自前のものなので、警告のダイヤログが
当然出て来ます。
危険を承知で証明書をインストールするとお約束をして
ページが開きます。@Firefox
/var/lib/shellinabox にcertificate-サーバー名.pemが
出来ているはずですが、これはprivateキーとサーバー
証明書が合体しているものです。
拙生は警告が嫌なので、認証局からもらったをサーバー
証明書使って、
cat ***.crt ***.key > certificate-サーバーネーム.pem
それぞれのファイルまでのパスが必要です。
CentOSでは
/etc/pki/tls/cert/***.crt
/etc/pki/tls/private/***.kye
/var/lib/shellinabox/certificate-サーバーネーム.pem
タブレットは常時持ち歩いていますが、こいつで
サーバーメンテ・・・嫌です!(笑
ノーパソ君が無いときでもホテルのパソやネットカフェ
などからWebブラウザ経由でアクセスできちゃいます。
拙宅サーバーの環境は、外部からは1台のサーバーにしか
アクセスできず、しかも3ユーザー(全て拙生)のみです。
そのうちの1ユーザーがrootになれるユーザーです。
そのユザー名でアクセスしてしまえば、外部からのアクセスを
禁じている他のサーバーへは、公開鍵認証を使ってローカルの
ネットワーク経由で接続できるというわけです。
最近のコメント