- - PR -
システムが乗っ取られてしまった?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-11-11 15:11
初めて投稿いたします。
1年以上前から、ADSL に接続して、外部からSSHにて 接続できるようにしておりました。 OS はRedHatLinux7.3 です。 昨日、午前中は接続できていましたが、午後から接続できなくなり 帰宅してローカルでログインを試みてもログインできなくなりました。 リモートログインではユーザーIDを入力後、パスワードを入力すると Access denied と表示され再びパスワードを聞いてきます ローカルで root でログインを試みると login incorrect と表示されます。 今まで実験的に24時間稼動という形で立ち上げていたためセキュリティー面は 気にせず、リモートからログインするユーザーとrootのパスワードを 同じにしていたため、悪意の持った人がログインできると、rootにもログイン できる格好になっていました。 自業自得ということは重々承知しています。 現在は電源を落としています このような状況になった場合は、ディスク初期化してシステム導入からするしか ないでしょうか? 個人的には別のディスクにシステムをインストールして、ログインできないLinuxの ディスクをセカンダリーにでも接続し、mount して必要なシェルやファイルを 救出しようと考えています。(残っていればの話ですが) root のパスワードを初期化する方法みたいなものがあれば、その方法を行いたいと 思います。 そして、セキュリティー対策をしっかりしたいと思います。 いい解決策を教えていただきたく書き込みいたしました。 よろしくお願いいたします。 | ||||
|
投稿日時: 2003-11-11 15:29
こんにちは。
RedHatのヘルプ張ります。 http://www.jp.redhat.com/manual/Doc72/RH-DOCS/rhl-gsg-ja-7.2/s1-q-and-a-linux-single.html 個人サーバといえどセキュリティ対策は重要ですね。 拙宅は物理的な環境で常時上げられない状況ですが・・・。 んでは。 | ||||
|
投稿日時: 2003-11-11 16:00
こんにちは。ぶのすけです。
まず、やりたいことは何ですか?それによって変わります。 サーバのデータ部分のみを保管したいのであれば、他のシステムにHDDを物理的に接続してマウントした上で必要な部分だけを抜き出しましょう。 そうではなく、やられたことを確認したいのでしたら、ネットワークケーブルを抜いた上でシングルユーザモードで入りましょう。前レスでKaNiさんが書いている通りです。 どちらの場合であっても、基本的にこのような状況になった場合は「やられたサーバに入っているコマンドは全て信用しない」のが前提となります。したがって、やられたサーバのデータ以外のものを救おうというのはまず考えないほうが良いでしょう。救う場合でも、前者のように全くシステムとしては稼動しない状況下で、データのみを保全する方法を取りましょう。極端な話、やられたシステムでtarを動かした瞬間、tarが書き換えられていて全てのファイルを壊すかもしれません。 ということで、残念ですがそのサーバマシンを復活させるには、基本的に初期化をすることをお勧めします。その前に作業をしたい場合は上記のような方法をとると幸せになれるかもしれません。 なお、どんな状況であれセキュリティ対策を行うことはとても重要です。パッチを宛てたりssh接続であれば証明書ベースに変えるなど、いろいろと工夫してみてくださいね。 それでは。 | ||||
|
投稿日時: 2003-11-11 16:10
こんにちは。
Kaniさん、ぶのすけさん、ありがとうございます。 やりたいことは、元の状況に復旧してセキュリティー対策をやり直すことです シングルユーザーモードですが boot:プロンプトが表示されたら、linux singleと入力してというのは一瞬ですよね 今晩試してみます。 それから、保管するデータですが cron で動かしていたシェルと個人的に作成した ファイルだけなので少しです。 データを抜き出して、ぶのすけさんの、おっしゃる通り初期化しようと思います。 ありがとうございます。 | ||||
|
投稿日時: 2003-11-12 10:20
こんにちは。。その後の報告です
我が家は、LILO ではなく、GRUB がブートローダーだったため、シングルサイオンの 方法を調べました。 1.ブートローダのメニューで、eキーを押して編集モードに入る 2.ブートエントリーの一覧が表示されるので、 kernel /vmlinuz-2.4.18-3 ro root=/dev/hda5 の行に single と付け加えて → kernel /vmlinuz-2.4.18-3 ro root=/dev/hda5 single とする。 3.Enter を押して編集内容を有効にする。 4.編集モード画面に戻るので、bキーを押す 5.シングルログオンしたシェルプロンプトが表示される。 sh-2.05# 6.bash# passwd root でパスワードを変更する。 7.reboot コマンド実行 以上です。 各種ログはきれいに消されていました。history には作業形跡が残っていました とにかく好き放題やられた感じです。そして、セキュリティー対策検討中です なお、今後、ルーターにはport22と80しかあけないようにするつもりです。 それでも、進入されるときは進入されるのでしょうね。 お気づきの点がありましたら、レスをつけていただくとありがたいです。 | ||||
|
投稿日時: 2003-11-12 11:23
22番を空けておけば、SSHでパスワードを推測されて今回のようにクラックされてしまう危険性が今後も出てくると思います。SSHのログイン認証をパスワード認証から鍵認証に変えるとか、ですかね。 あと、当然のようにrootではSSH経由でログインできないようにして、SSHでログインできるユーザからはsuを許さないようにするとか。 私も22番空けてるんで(Bフレッツで24hつないでます)、他人事じゃないですね・・・。 | ||||
|
投稿日時: 2003-11-12 18:42
さらにiptablesでパケットフィルタリングするとかっこいいですね♪
| ||||
|
投稿日時: 2003-11-13 12:53
ども。ガルと申します。
# 書き込みは久しぶりだぁ(笑 少々余談ですが。昔、似たような状態になったことがあります。 おいらの場合、原因は HDDが壊れた でした(いやまぁ、logチェックしてて微妙に不安はあってたのですが)。 んでまぁ、本題を。 SSH&telnetは、可能な限り「あけない」のが無難ですね。で、あける場合は 出来るだけ「IPを指定」してあける。これだけでもずいぶん違います。 基本的に、セキュリティで「パスワードがないとは入れない」は、むしろ 「パスワードがあれば入れちゃう」って思っておいたほうが安全です。 SSHですと、おばけさんが書かれていたように、鍵認証を使うとまだ幾分。 セキュリティに正解は無く、常に「コストと安全性とユーザビリティ」の 天秤になります。 個人で使うときは(業務では比較的難しいので)思い切って「安全性重視」 で遊んでみるのもよいかもしれないですね。 後は「いまのこのセキュリティだとどこからやぶれるかな?」っていう風に 考えるといろいろ違ってくると思います。 がんばってください(^^ |