踏み台サーバーとは?
私はまだエンジニアリング歴浅い方ですが、実務で踏み台サーバーってあまり聞かないよなとふと思います。
そこで、ネットワーキングに関してはまだまだ勉強の身ですが踏み台サーバーって何をさしているのか?を調べてみることにしました。あ、、余談の方が長いです。
踏み台サーバーとは何を指すことが多いのか?
ズバリ、目的のサーバーにログインするための中継サーバーのこと!
みたいな説明が多いですね。ただ調べならが薄々気づいたのがクラウド時代だとあまり踏み台って表現しなくなってきてるのかなということです。調べて出てくる例もオンプレが多い。
(それから私は組み込みシステムなどは全く扱わないwebエンジニアでここまできているのが大きいと思います)
と言いつつ、どういった状況で踏み台サーバーを使うのか?をまとめてみます。
踏み台サーバーが必要なのはどういった状況か?
アクセスの管理をしたい場合
・目的のサーバーに対してさまざまなところからアクセスを行える場合、いつ誰がどこからアクセスしているのかの管理は工数がとてもかかる作業になってしまう
・そこで踏み台サーバーを使用すること、誰がいつどのリソースにアクセスしているかを管理しやすくなる。
・よくある接続方法は、まず踏み台サーバーにログインして、その後踏み台サーバーからSSHやRDPなどの方法で目的のサーバーに到達する。
セキュリティを上げるため
・踏み台サーバーを設けることで、顧客データやwebコンテンツなどの資産となる重要データに外部からアクセスできなようにできる
・こういった目的で設ける時に、Bastionサーバー=要塞サーバーと呼ぶこともある
スケーラビリティ
・ネットワークの要件が変化した場合でも、踏み台サーバーを適応させることでセキュリティを維持しながらネットワークを拡張することができる。
改めて調べてみても、
普段AWSを使用することが多いのですがやはりここら辺はAWSのサービスで普段はカバーできているなと感じます。
普段AWSで構築するときは、セキュリティグループを作成する。例えば、アウトバンドとインバンドのアクセスに対して、全体的に制限して、作業者のIPだけ解放するとかそんな感じ。
こういったやり取りを会議でもしているので'踏み台'って表現は私の周りだとしないことが多いと感じます。
余談① 英語ではどういった呼び方をするのだろうか?
Jump serverやJump hostと呼ぶ。
余談② IPアドレスの偽装ってできるのか?
踏み台サーバーをセキュリティ目的で設定するときに、IPアドレスを偽装すれば侵入される恐れがあるってことか。。ってことに気づきました。
そこで、IPアドレスを偽装する代表的な手法であるIPスプーフィングをまとめてみます。
そもそもIPってなんの略でしょうか?
IP = インターネットプロトコル
そしてプロトコルって'決まり'とかの意味です。
インターネット上でどうやって情報をやり取りしているか?というと。。。
・通常、インターネット上で情報を送受信するためにパケットに分割される。
・それらは全て個別に送信されて、受信者のデバイスやWebサイトのサーバーなどの宛先に集まる。
・データの全てのパケットには、送信元と受信元のIPアドレスなどの情報を含むIPヘッダがある!
IPスプーフィングは、このやり取りの決まりを利用して、小包(パケット)の差出人住所(IPアドレス)を偽装して郵便を出すイメージです。
1.通信パケットのヘッダーにある送信元IPアドレスをホワイトリストのAさんに書き換える
2.攻撃者は偽装パケットで相手に接続し特定サービスを攻撃する
3.攻撃を受けた方からはホワイトリストに掲載のAさんが攻撃しているように見える
大抵、悪意のあるユーザーのIPアドレスはブラックリストに掲載されたり登録できたりします。
そういった場合に許可されているホワイトなIPアドレスに変更すればそういったユーザーでも対象のサービスにアクセスできます。
そして実は、IPスプーフィング(IPを書き換えるなりますますこと)自体は違法なことではないです!
というか調べたらわかりますが手動でも簡単に設定で変更できます。
また例えば、VPNサービスやプロキシを使用してIPを変更は、私たちもよくしますよね!!
ということでIPスプーフィング自体を止めることはできません。
こういった状況で、IPスプーフィングしてDDoS攻撃=大量のアクセスを特定のサービスにかけてシステムダウンさせるといった行為が行われてしまいます。
余談③ プロキシサーバーと踏み台サーバーの違いってなに?
それから私がもう一つぼんやり思っている疑問点「プロキシサーバーと踏み台サーバーの違い」もついでに。
なるほど〜と思う記載がありました。
プロキシ(代理)サーバー:HTTP/HTTPS、FTPなど特定のプロトコルに限って、内部ネットワークのクライアントパソコンにあまねく中継サービスを提供する。ユーザーはプロキシサーバーにアカウントを持つ必要がない。
踏み台サーバー:ユーザーはそこにアカウントを持ち、ログインした上でそれを能動的に操作することによって、内部ネットワークのクライアントパソコンから直接はできないさまざまなインターネット通信を行う。
https://jp.quora.com/プロキシサーバーと踏み台サーバーの違い-プロキシ
踏み台サーバーは作業者用のサーバーっていう結論にしておきます。(私の中で)
ちなみにサーバーという単語もいつもフワフワしているなあって思ってるのですが、
こちらのブログの表現がとてもピチっと響きました。
サーバは「サービスや機能を提供する側のコンピュータ」です。
参照:https://wa3.i-3-i.info/word110691.html
Discussion