• ベストアンサー

SSHによる外部宛大量不正アクセスについて

ご覧のみなさまに質問です。 現在、私はとある場所に設置されているサーバーの管理者的な立場にあります。 本日、そのサーバーを接続されているネットワークの管理者から「外部宛に大量にSSHによるアクセスがされている」との通知が入りました。 早速、こちらでログを調査したところ、数日前にとあるユーザーがパスワードを変更されていることが判明いたしました。 さらにその数日前から、不正にアクセスしようと何度もアタックされているログも残っていました。 ネットワーク管理者からは対策がとられない場合には(サーバーを設置している)部屋全体のネットワーク利用を規制するとの通知が着ており、非常に困っております。 お手数お掛けいたしますが対策方法がわかる方がいらっしゃいましたら、ご教授下さい。よろしくお願い致します。 サーバーOS:Fedora Core6 BIND 9.3.4-P1 主な稼動中のサービス:Apach、MySQL、PostgreSQL、Sendmail、SSH、Usermin、Webmin ネットワーク環境:ルーターを介さず直接接続(現在はネットワーク管理者からの指示により切断中) 幸いログの改ざんはされていない模様です。 ただ、当時担当した人間が電源を落としてしまった為、不正アクセス時にどのようなサービスが動かされていたのか特定することが困難な状況になっています。 ※最終的にはリカバリーをかけますが。同じレベルの対策ですと再度クラッキングされる恐れがありましたので質問させていただきました。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

> 早速、こちらでログを調査したところ、数日前にとあるユーザーがパスワードを変更されていることが判明いたしました。 > さらにその数日前から、不正にアクセスしようと何度もアタックされているログも残っていました。 sshの辞書攻撃ですね。 /var/log/secure をみてみると、その乗っ取られたユーザー名での接続試行があるでしょう。 ありきたりな名前で、弱いパスワード(辞書に載っているようなモノ)だとあっさり破られるかと。 > 「外部宛に大量にSSHによるアクセスがされている」との通知 攻撃に使われた、同じツールを使って踏み台にして他ホストに対する攻撃を行っていたのでしょう。 無論、その前に管理者権限奪取の為の攻撃が行われていると思われますが。 # 管理者権限の取得に成功して裏口作られた可能性もあります。 # 該当するユーザが書き込み権限を持っている場所に攻撃ツールがダウンロードされているかと。 # もしスクリプトだったりしたら、対策を練る際のヒントになるでしょう。 > ただ、当時担当した人間が電源を落としてしまった為、不正アクセス時にどのようなサービスが動かされていたのか特定することが困難な状況になっています。 元々設定していたサービスなどであれば、 /var/log/boot.log 辺りに起動や終了のログが残っているでしょうし、 ちんとログ保全ていれば /var/log/messages 辺りにも残っているはずです。 管理者権限取られていなければ…ですが。 > ※最終的にはリカバリーをかけますが。同じレベルの対策ですと再度クラッキングされる恐れがありましたので質問させていただきました。 ・SSHのポートを非標準ポート(22以外)にする。 ・SSHのパスワード認証は禁止して公開鍵方式にする。 ・SSHで接続可能なユーザを制限する。 とかですかね。 ウチではポートの変更はしていませんが…アタックの記録が結構あります。 ログから攻撃ツールに登録されているユーザ名の一覧が取得できます。

kaitousha2005
質問者

補足

ご回答ありがとうございます。 おっしゃるとおり、ログに操作履歴が残っていました。 なお、今後はSSHでの接続を全面的に禁止する予定です。

その他の回答 (5)

noname#98978
noname#98978
回答No.6

>数日前にとあるユーザーがパスワードを変更されていることが判明いたしました。 もうすでに、バックドアやrootkitが仕込まれていることでしょう。 >幸いログの改ざんはされていない模様です。 侵入した証拠をログから消しているのでしょう。 対策1 OSから再インストールする。 対策2 スキルのある管理者への交代

kaitousha2005
質問者

補足

ご回答ありがとうございます。 当該ユーザーのホームディレクトリに該当プログラムの存在を確認いたしました。 今後は、OSの再インストール等の対策を行います。

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.5

今回の事象に限って言えば SSHを許可しない。 でしょう ユーザアカウントでログインをする必要がありますか? 無いのであれば、一般ユーザのシェルを/sbin/nologin で 必要があって、IPで縛れるのであれば、iptablesで。 どれもダメであれば、SSHをパスワード認証にせずに鍵認証で。 それでもダメなら、諦める

kaitousha2005
質問者

補足

ご回答ありがとうございます。 確かに、おっしゃるとおりだと思います。 今回の事象の原因はSSHの使用を許可したことに起因するものであり、今後は、SSHそのものの使用を取り止める方向です。

  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.4

あえて突っ込みませんでしたが… uki629さんに同意です。 個人的にはSendmailよりPostfixだったりしますが。 # ちなみに自宅のはCentOS5。 # 標準だとopensshがログに記録する時刻がズレた上に二重に記録されるので # opensshの公式サイトから取得したパッケージと、Fedora等のSRPMから抽出したpatch使ってオリジナルビルドしたもの使ってます。 # 時々SRPMのパッチとかチェックしていますが。

kaitousha2005
質問者

補足

ご回答ありがとうございます。 私も、Sendmailよりはqmailを使いたいなと考えております。 そうすれば、もう少しまともな運用ができる気がしますので。

  • uki629
  • ベストアンサー率23% (40/172)
回答No.3

>最終的にはリカバリーをかけますが。同じレベルの対策ですと再度クラッキングされる恐れがありましたので質問させていただきました。 というけど 下記に理由を書きますがFdoraを使っている時点でもうダメダメなんですけどね。 >サーバーOS:Fedora Core6 BIND 9.3.4-P1 FC使っている時点でサーバ構築した人の力量はものすごく低いです。 RHELに対してのベータ板みたいなOSを外部公開サーバとして用意すること自体あれなんですよ。 Fedoraは安定性より最新技術を用いてということで問題があるのに サポート期間の短さがさらに問題あり。 Fedora Legacy Projectが解散した現在において Fedoraの場合次の次のバージョンのテスト2のバージョンの公開までがサポート期間だから もうFedoraCoreのサポート/アップデートパッケージの期間は数ヶ月くらいでしょうね。 (Fdora8が先日出ましたし) 金を出せるならRHEL。それができないにしてもせめてそのクローンOS(CentOSなど)あたりを最低限使ってもらいたいものですね。 まともなサーバ構築人ならそこを踏まえてFedoraで外部公開用サーバなんて使いまんけどね。 ここのサイト見ていると「力量が無い人に限ってサーバ公開をしたがる」って思いますよ。 自分ならこんな無知なサーバ構築した人とかかわりたくないので 逃げますね。 質問者も逃げられるなら逃げるべき

kaitousha2005
質問者

補足

ご回答ありがとうございます。 実は大学の研究室でLinuxサーバーを実験的に運用していたため、このような構成となっておりました。 おっしゃるとおり、逃げたい気も・・・

回答No.1

もし残っているならば「とあるユーザ」のホームディレクトリ上にある「.bash_history」を眺めてみてはいかがでしょうか。 侵入経路がSSH経由でかつ、侵入してきた人がちょっとマヌケであればどのようなコマンドを打ったかが残っているかもしれません。 また、それまで使っていたApacheや各種データベースソフト等のバージョンを確認するのも重要です。 古いバージョンのソフトを使い続けていてセキュリティホールが出来ていた、というのはよくある話です。

kaitousha2005
質問者

補足

ご回答ありがとうございます。 おっしゃるとおり、コマンドのログがほぼすべて残っていました。

関連するQ&A

  • 不正アクセスに関する勉強

    現在、ネットワークの運用をOJTしている新社会人です。 不正アクセスの手法について勉強したいと考えております。 現状としては、自宅でサーバを立て可能な限りのセキュリティ対策も施しているつもりですが、そのセキュリティ対策についてのほとんどが、書籍やgoogleで調べた結果、少し勉強して真似しただけのものです。 もちろんポートの制限や不要なサービスの停止、IPでのフィルタや自動アップデート、clamav、ログやファイル更新のメール通知、Cactiなどで監視を怠らないようにし、基本的な防御方法の仕組みについては理解しておりますが。。。 実際に不正アクセスをしてくる人がどのようにセキュリティホールを突いてくるのかがわからないため、セキュリティ対策の勉強をしていてもあまり意味がないような気がしています。 不正アクセスする人間が、『どのように』アクセスしてくるから、『このように』対策をしなければならない。といった具体的な手順について解説している書籍やWebサイトなどはございますでしょうか? ネットワークについて詳しい方のアドバイスをお待ちしておりますのでよろしくお願いいたします。

  • 不正アクセスログについて

    はじめまして、こんにちは。 最近、個人情報が流出した話をよく聞くので、不正アクセスログを調べようと思ったのですが、どうやって調べたらいいのか恥ずかしながら、わかりません。分かる方がいれば教えてください。 なおWEBサーバーにはApach,Tomcatを導入していて、OSはWindows2000です。 また、開いているポートの調べ方、閉じ方が分かればこちらも教えてください。 よろしくお願いします。

  • sshの外部公開設定について

    sshの外部接続設定について質問です。 vine2.6のlinuxサーバを用意しLANからのssh接続は 問題なくできているのですが、 外部からのssh接続に対しては「Connection refused 」になってしまいます。 プロバイダーはDION、使用するルータはAterm wd600ですがこちらのログにssh接続についてのログはでていないようです。 apacheの公開設定を行いhtmlまで確認しているのでポート以外同じ設定にしているのでルータの線は薄いのかと思っています。 サーバに対してssh認証のアクセスがあった場合はログが残らないのでしょうか? iptablesもインストールしていないのでファイアウォールでカットされているとも思えないのですが別のファイアウォールソフトが稼動しているのでしょうか。 まず、確認すべきログ、設定などお分かりの方よろしくお願いします。

  • macから外部SSH接続

    Mac Book Air OS X 10.6.6 から、自宅のwebサーバーにSSH接続ができません。(イーモバイルからアクセス) ターミナルから 「ssh ユーザー名@グローバルIP」 を叩くとssh: connect to host グローバルIP port 22: Operation timed out のエラーになります。 Mac Book Air OS X 10.6.6 から、「ssh ユーザー名@ローカルIP」では、接続ができます。(自宅のネットワーク接続) 接続する側のiptablesのiptables -A INPUT -p tcp --dport 22 -j ACCEPT_COUNTRY に設定されています。(参考URL http://centossrv.com/iptables.shtml) ルータ側の設定は、22ポートをオープンにしています。 http://www.cman.jp/network/support/port.html でグローバルIP/ポート22でアクセス確認。 「ホスト:グローバルIP ポート:22 にアクセスできました。」 と返ってきます。 また、自分なりに試したのはwindowsからTera TermからグローバルIPを入れて接続できるか 確認。「接続が拒否されました」と返ってきます。 質問のまとめ   自宅以外の場所から、自宅のサーバーにSSH接続を行いたい。 Mac Book Air OS X 10.6.6 (ssh/外部からアクセス) → サーバー CentOS 5.6にアクセスしたい。  環境   ルーターは、BUFFALO製のルータ、WHRシリーズ   自宅のプロバイダーはniftyを利用   サーバー CentOS 5.6 グローバルIPから接続を行う場合、他に設定が必要な部分をご教授いただければと思います。

  • 不正アクセスについて

    iplogでアクセスログをとっているのですが、 ポートの「4718」や「4720」にtelnetで アクセスした形跡がありました。 上記のポートを使ったサービスは起動していなかったので 問題はないのですが、このポートは何に利用されているものなのでしょうか? また、みなさんは悪質な不正アクセスに対してどのような 対策・警告を行っていますか?

  • SSHやFTPについて

    宜しくお願いします。 レンタルサーバで占有サーバを組もうとしておりますが、色々聞かれて困っています。特に困っているのが、 SSH接続やFTP接続をどうしますか?っと聞かれていますが、意味が良く分かりません。 SSHやTELNETで接続するにはIPアドレスを固定にしないといけないらしく、しかし、固定のIPアドレスなど持っていないので、そんなことしたらアクセスできないと思い、FTPやTCP/IPでお願いしてみました。 ネットでSSHのほうが暗号化されるので安心な気がするのですが、どうすればよいのでしょう? ちなみに、ログ解析ソフトやSQL等も使うのでそれぞれ別のサーバを使っています。

  • puttyでSSHサーバーへのアクセスが出来ない

    お世話になります。 一昨日からSSH通信でサーバーへアクセスしているのですがどうしても出来ません。 状況は pingでは通る Ip or ドメインを puttyの設定画面 接続先の指定で選択して、 ポート22にします。 次に putty設定画面の 接続→SSHを開いて 認証のところで 認証パラメータに あります エージェントフォワーディングを認める にチェック 参照ボタンで秘密鍵を指定 以上で 開く をクリックして、接続の画面(中が真っ黒)になるのですが、しばらくするとネットワークエラー(タイムオーバー)というようなメッセージが出てしまいます。 pingの接続ログは、先方のサーバーに記録されているので、どうしてかわからない状況です。putty以外で行うことも考えておりますが、やり方がわからなく困っております。 アドバイスいただけますでしょうか。

  • 外部からのSSH接続

    今稼働中のネットワークに新しくマシンAを追加しました。IPアドレスを割り当てました。 SSHデーモンも動かし、FirewallサーバーのIPFilterを使って、外部からのマシンAへのSSH接続を許可しました(マシンAのポート22番を開放)。 そこで、外部からSSHでマシンAに接続しようとしても、タイムアウトとなりつながりません。 他の既存のマシンBは、ポート22番の開放/閉鎖によって、うまくSSH接続が成立/失敗となってくれます。 単純にポート22番の開放指示だけではSSH接続が成り立たない原因が分かりません。みなさまはどのようにお考えでしょうか?

  • SSHで外部からの接続ができません

    SSHで外部から接続したいのですが、うまくできません。 接続するとユーザ名とパスワードを聞いてくるのですが、入力すると「認証に失敗しました.再試行してください」と表示されます。 現状を以下に記述します。 ・SSHサーバは、Raspberry PiのRaspbian ・接続するクライアントはWindows 7でTeratermを使用 ・通信機器のHGW(RT-500MI)には、TCP&UDPのポート22でIPマスカレード設定済み ・HGWのパケットフィルタは解除済み ・sshdは起動済みで、LAN内からSSH2で接続OK ・設定ファイル等はデフォルトのまま ・クライアントもデフォルト設定で、プレーンテキストでの接続を使用 ・LAN内からは問題なく接続可能 ・WANからグローバルIPに対して接続すると上記のエラーメッセージを表示 ・ユーザ名、パスワードはLAN内で接続確認できたものを使用 ・外部からのポートチェック(http://www.cman.jp/network/support/port.html)で22番ポートにアクセス可能 ・service ssh statusでrunningを確認 ・netstat -lnp | grep :22でLISTENを確認 あとは何かファイルを設定したり、確認項目はありますでしょうか。 お分かりになる方、お教えください。

  • どうしても外部からのSSHが通らない

    いつもお世話になっております。 タイトル通りSSHが通らなくて困っています。 ネットワーク構成としては ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ルータ→SSHDサーバー A  ↓ 無線LANルータ: ))) SSHクライアント B ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー という構成で、Aから、Bへのグローバルアドレスでのログインができません。 ssh root@sample.co.jp ssh: connect to host sample.co.jp port 22: Connection refused というメッセージが出ます。 もちろんsample.co.jpは説明のための適当なアドレスです。 現在試して以下のことはわかっています。 ・http://www.cman.jp/network/support/port.htmlでポート22へのアクセステストではアクセス成功する。→ルータ設定は問題なし ・友人に試してもらってもアクセス成功→ルータ設定は問題なし ・ローカル、LAN内のクライアントから、root@192.168.1.100というコマンドであれば、SSHでログインできる。→デーモンは起動済み ・ウェブページは外部からsample.co.jpでも見られる。(ただ、これもBから見ようとするとウェブページでなくルーター設定画面になってしまうんですよね・・謎です)→とりあえずアドレス解決はオッケー ・hosts.deny, hosts.allowは何も記述なし。→弾くこともなし? ・iptablesはオフ、selinuxもdisabledに設定→弾くことなし? これで何故つながらないのかもう自分ではわかりません。。。 ちなみに Aはlinuxのfedora10 BはmacOSX 10.5 です。 何か設定もれで思いつくものがあれば教えていただけるとうれしいです。