創意無限空間

さくらの専用サーバーの無防備っぷり このエントリーを含むはてなブックマーク

先日、さくらインターネットで専用サーバーをレンタルしました。で、サービスのセットアップや動作確認など準備を進めている最中なのですが…

サーバーをレンタルしてから数日後、ふとログファイルをチェックしていたところ、/var/log/maillogに見覚えのないログがつらつらと…

…思いっきりSPAMの踏み台にされていましたorz

もしや!! と思い、iptablesで解放portを調べてみたところ…

# /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

うは、完全ノーガード!! iptablesの設定が空っぽでした。/etc/sysconfig/iptables ファイルが見あたりません。せめてhttpとsshだけとか、初期状態で解放portを絞っておいてくれればいいのになぁと思うのですが。すっかり油断していました。さくらさん、頼みますよ…

慌てて/etc/sysconfig/iptablesを用意し、httpとssh以外はrejectするように設定。/etc/sysconfig/iptables を以下の内容で作成します。

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT

そしてiptableを再起動します。

# /etc/init.d/iptables restart

再起動後、iptablesでチェック。

# /sbin/iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all — anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all — anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all — anywhere anywhere
ACCEPT icmp — anywhere anywhere icmp any
ACCEPT esp — anywhere anywhere
ACCEPT ah — anywhere anywhere
ACCEPT all — anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp — anywhere anywhere state NEW tcp dpt:http
REJECT all — anywhere anywhere reject-with icmp-host-prohibited

というわけで、無事反映されました。今のところ問題はなさそうです。

最近、利用者の多いさくらインターネットのレンタルサーバーですが、利用開始したら、まず真っ先にiptablesの設定を見直して、不要なportを塞いでおきましょう。あと不要なサービスの停止も忘れずに。

追記:
SMTPのリレーに関してご指摘があったので、再度ログを精査したところ、リレー拒否されていました。というわけで「SPAMの踏み台に~」のくだりは訂正します。申し訳ありません。とはいえ、portを塞いでおくのは重要だと思うのと反省の意味を込めてこのエントリは残しておきます。

31 Comments so far

  1. hamster 7 月 2nd, 2007 16:22:28

    さくらに言えよ、小心者。

  2. yoshitake 7 月 2nd, 2007 16:50:54

    さくらさんには、問い合わせ(というか要望)は投げてあります。

  3. yoshitake 7 月 2nd, 2007 17:02:08

    あと、自分で当然やるべきことじゃないか、という意見はもっともで、
    自分で最初に気づかなかったのも落ち度があるとは思います。

    しかしそれでも納品されてから最初にアクセスできるようになるまで、
    タイムラグが発生しているわけですし、その間に外部からアクセスされる
    可能性も否定はできないですよね。

    というわけで
    ・納品された時点で最低限のセキュリティ対策はとっておいてほしかった
    ・それが手間がかかって無理なのであれば、納品時の注意事項として
     ユーザーに真っ先に対策をするよう注意喚起をしてほしい

    というのが、私がさくらさんに投げた要望です。

  4. も 7 月 2nd, 2007 19:00:21

    これはなない! 無防備っぷりなのはあなたでしょ

  5. もぎぃ 7 月 2nd, 2007 19:19:59

    まぁ・・・
    レンタル鯖借りる人って基本的に自己責任が求められますからなぁ
    厳しい言葉を投げかける方を冷たいと詰ることはできません

    ただ、ブログ主さんの意見は世間一般的にもっともなものだと思います
    さくらさんもビジネスとして一考すべきことでしょうね
    要望は出してよかったと思います
    あと、ブログに書かれたことも

    それでは失礼します

  6. Tuan 7 月 2nd, 2007 19:42:35

    初心者です。勉強になりました。
    TimeLogから来ました。

  7. 通りすがり 7 月 2nd, 2007 19:54:07

    私も最低限のセキュリティー対策をするのが当たり前だと思います・・・
    Sは元々スキルが低いのか、単純ミスなのか・・・

  8. sylx 7 月 2nd, 2007 20:13:12

    ポートを閉じてて欲しいというのは確かにポリシーとしてアリだと思うし、全部空いてるのも、まあ優しくないよね、っていう印象もあるんですが、
    そもそもSPAMの踏み台ってことは、ディフォでSMTPリレーが無制限に許可されてるってことですよね?問題視するのはむしろそっちじゃないかと思うんですが。

  9. yoshitake 7 月 2nd, 2007 21:24:47

    SMTPリレーの件、訂正、追記しました。申し訳ありません。

  10. daisuke 7 月 2nd, 2007 22:08:32

    さくらの専用サーバーの初期設定はかれこれ数年以上前からこんな感じです。
    まぁ、さくらは全体的に「安かろう悪かろう」なんで、仕方ないと思いますがね。。
    データセンター環境とかもっとひどいもんです。

    上場企業なんだから、もう少しまともにして欲しいですよね。

  11. otsune 7 月 2nd, 2007 22:20:40

    iptablesということはOSはlinuxの何かだと思うのですが、セットアップ状態で余計なdaemonは動いていないとか、リモート脆弱性は無しの状態では無いんですか?(FreeBSDやdebianなどはちゃんとシステム管理者が設定しなければデフォルトセキュアに成るので、単純に素朴な疑問です)
    もしそうだとすると、最低限のセキュリティ対策はとっているとも言えるのかなぁと。
    納品時の注意事項として「セキュリティ対策は自己責任です」をくどいほど徹底させろってのは同意です。
    ほっておいても自己責任でセキュア設定をする人ばかりが貸しサーバーを借りる時代でもないでしょうし。

  12. yoshitake 7 月 2nd, 2007 23:18:29

    OSはLinuxでFedora Core 6です。
    どこまでが「余計な」になるかは分かりませんが、
    httpd,sshd,dovecot,vsftpd,telnetあたりは最初から動いていました。

  13. nuisu 7 月 3rd, 2007 2:44:07

    他社サバ管です。
    iptablesは普通設定してないと思いますよ。
    専用サーバでも結構スキルの低い人がオーナーだったりすることが多いので、
    初期状態でiptablesなんてかかってると余計トラブルのもとになります。
    でもサービス起動しまくった状態での引渡しは無しですね。。。

  14. Web屋のネタ帳 7 月 3rd, 2007 12:37:00

    さくらの専用サーバはそんな無防備というほどでもない…

    創意無限空間 » さくらの専用サーバーの無防備っぷり サーバーを借りた直後の初… (more…)

  15. mrmt 7 月 3rd, 2007 13:03:25

    レンタルサーバで勝手にiptablesだの設定されてたら僕なら怒りますよ。
    何もかも自己責任というのがレンタルサーバというものだと思いますが。

    ただ、
    > httpd,sshd,dovecot,vsftpd,telnetあたりは最初から動いていました。
    これは逆にダメですね。sshd以外のモノが1ミリでも動いてたら駄目でしょう。telnetに至っては、もう今すぐすぐ電源切った方がましだ。

  16. hiro 7 月 3rd, 2007 17:50:48

    問題なのはポートが開いているかどうかではなく、
    Listenしているプロセスにセキュリティーホールがあるかどうかですよね。

    その上で、未知のセキュリティホールがあるかもしれないから
    Listenするプロセスはsshdだけにするという話でしょう。

  17. yoshitake 7 月 3rd, 2007 19:02:19

    皆さん、コメントありがとうございました。
    色々な意見が聞けて大変勉強になりました。
    (あまりの反響の大きさに驚いているのですが…)

    皆さんの動かしているサーバーのセキュリティが大丈夫かどうか
    見直すきっかけになったらいいな、と思っています。

  18. aoi 7 月 3rd, 2007 19:18:42

    さくらの専用サーバをいじったことがありますが、ほかのさくらの専用サーバからsshのブルートフォースをくらうことが数ヶ月に一度ありました。管理が甘くて踏み台にされているサーバがあるということですね。

  19. drdb 7 月 3rd, 2007 22:27:50

    さくらに落ち度あるんでしょうか?

    同じさくらの専用サーバを借りてるものですが、借りる際に
    「その時点で最新のセキュリティパッチを当てた状態でお渡しします。」とあります。
    当ててなかったのなら、さくらの落ち度でしょう。

    あと入れておくサービスの指定も出来たはずですが、そちらはどうなっていましたか?

  20. ah-huh 7 月 4th, 2007 17:41:46

    iptableを設定しているから安心とかFirewallをいれてるから安心とか
    話がちがいますね
    確実に自分の意図したポートが正しくあいていれば良くて、要らないポートは閉じればいいぢゃないですか

  21. あほはあんただ 7 月 4th, 2007 23:54:30

    そんなの契約する前に自分で確認するでしょうが。共有F/Wあるのか、ないならiptablesを設定してくれるのか、自身でやらなきゃならないのか。

    さくら…というか業者のせいにするあたり、自分の低レベルを恥じるべき。というか、この記事、赤面ものでしょ…。

    「専用サーバ契約したけど、F/Wの責任を事前に確認しなかったwwおれ馬鹿ww」という告白ですか?

    あなたが空けといて欲しいポートをあなたからヒアリングせずに設定して
    くれる、エスパーな業者、さくら以外のほとんどなのでしょうが、教えてください。

  22. すずらん 7 月 5th, 2007 1:01:50

    契約直後の使いやすさや初心者へのわかりやすさをとるか、できるかぎり厳しくするか(sshdぐらいしか開けないとか)のポリシーの違いなのかなあと思います。

    できるだけ厳しくしたほうがより安全なのでしょうけど、そうすると動かない動かないとサポートの問い合わせが増えたりするのでは。

  23. trat 7 月 5th, 2007 2:09:57

    iptables -Lとかnetstat -tl辺りは
    まず一番最初に確認するべきことじゃないですかね。
    一週間も経ってから始めて気づいて業者のせいにするような初心者は
    root権限など持つべきではないんじゃないかな。
    あと、sshなら開いてても良くてftpやtelnetは開いてちゃ駄目とか、
    デフォルト設定のapacheが駄目とか言ってる思考停止状態の人も
    セキュリティの勉強し直さないとだめだわ。

  24. 通りすがり 7 月 7th, 2007 21:09:06

    見知らぬものですが、1つ指摘したいところがありまして。
    設定し終わったあとの iptables -L の出力の一部抜粋 :

    >Chain INPUT (policy ACCEPT)
    >Chain FORWARD (policy ACCEPT)
    >Chain OUTPUT (policy ACCEPT)

    って言うのは, policy がすべてACCEPTになっているため、以降の設定事項がほぼ無駄だと思います.
    通常は、policy で DROP させて、必要なパケットのみを通すのが筋だと思います。

    もしかたら、私の言っていることが違うかもしれませんが。
    ただ、少なくとも、私の自鯖はそのようになっています。

  25. takano32 12 月 1st, 2007 20:28:09

    最近iptablesの使い方を知って、iptablesという言葉を使いたいだけの文章に見えます。
    よりセキュアなポリシーではsshやhttpを規定のポートでListenしない、ということなどもあります。誰もが同じポートでListenすることを前提としたiptablesの初期設定など不要です。
    自分本位すぎませんか?

  26. yod 1 月 28th, 2008 20:47:29

    「オレ天才、オマエ馬鹿」みたいな書き込みが多くて吹いたw

    わたしゃ、ブログ主さんの情報ですごく助かったよ。
    はいはい、オイラもバカでぷ~~~~

  27. Yaz Okulu 3 月 29th, 2008 17:12:47

    hello everybody. my Japanese is not good but it seems like a very nice web site. thanks

  28. hogehoge 4 月 18th, 2008 2:20:14

    そんなこというのであれば、借りるべきではないと思います。
    自分で設定するものだと思います。

    最小構成で借りれば初期起動サービスも最低限ですむはず。

    下手にへんな設定されていたら問い合わせ殺到するでしょ?
    管理者からすればそれこそ困るし・・・。

  29. 通りすがりb 5 月 24th, 2008 18:29:01

    皆さん、黙っていられかったんでしょうね。。うんうん。
    通りすがり 7 月さんがえらい。w

  30. なんていうか 8 月 20th, 2008 18:58:10

    設定してないのはしてないやつが悪い、というのはわかるんだけど、
    デフォ状態だと踏み台にされるようなものは、
    ちゃんとやってる人のサーバにも迷惑になるわけだから、
    こんな状態で売るのは企業としてどうかな、と思う。

    できる人の意見はわかるんだけど、そうならなおさら、
    できない人には使えないように設定すべきでしょうよ。

  31. [...] ■さくらの専用サーバーの無防備っぷり これひど [...]

Leave a reply