和歌山のプログラミング・システム開発ならシステムキューブ
コンピュータをリモートで操作することは、コンピュータの誕生以来とても重要なことです。
Unixが1つの大型のコンピュータを複数の端末から利用することを想定して作られていますので、LAN内の個々の端末からTelnetを利用することが基本的な使い方でした。
TelnetでUnixのサーバにログインし、ファイル操作やプログラムの実行、作成をリモートで行います。クライアントサーバ型のコンピュータで必須のソフトウェアでした。
現在のPCのようなGUIが前提でなく、文字ベースのCUIというインターフェースでのリモート操作です。
やがてリモートが公共のインターネット回線などを通じて行われるようになり、全文を暗号化しない平文テキストで送信するTelnetでは危険だということになりました。
Telnetの替わりとしてはSSHというソフトウェアが推奨され、広く使われています。
このリモート操作は悪用する場合にターゲットにされやすく、サーバを設置すればほとんどの場合どこからか自動攻撃プログラムからログイン試行が行われます。
ここで管理者権限でのログインを許していると、パスワードを突破されればすぐにサーバが乗っ取られてしまいます。
管理者でのログインを不可能に設定し、パスワードはなるだけ複雑で、仮にユーザーとしてログインしてもさらに複雑なパスワードでないと管理者権限が取れないようなら、攻撃が成功する可能性は限りなく低くなります。
IPアドレスを固定して接続を許可するのも良い方法で、拠点の固定IPからしかログインできないようにすれば、その他からのログイン試行は拒絶されます。
またパスワードを用いず、暗号鍵を利用する方法がセキュリティとして推奨されます。
暗号鍵方式であれば端末に保管された暗号鍵でないとサーバーにログインできなく、他からこれを突破するためには理論的に数百年以上の時間が必要となり、攻撃者は諦めざるをえません。
攻撃の続くIPを自動的に拒否リストに入れる仕組みなどもあり、きっちり設定すれば完全とも言えるリモート接続環境を作ることができます。