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になれるユーザーです。
そのユザー名でアクセスしてしまえば、外部からのアクセスを
禁じている他のサーバーへは、公開鍵認証を使ってローカルの
ネットワーク経由で接続できるというわけです。

HOME

おすすめ