質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.33%

  • Node.js

    2006questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • セキュリティー

    476questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • VPS

    372questions

    VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

さくらVPSに、Node.jsのサンプルページを公開するのは危険なのか

解決済

回答 2

投稿

  • 評価
  • クリップ 5
  • VIEW 4,295

08noboreni

score 32

わからないこと

Node.jsのHelloWorldページを、
さくらVPSを使って実際に公開することは危険なことなのでしょうか。
もし危険な場合は、例えば一時的に30分だけ試しに公開してみる、という内容でも危ないレベルなのでしょうか。

環境・設定

◆環境
・さくらVPS
・CentOS7

◆設定
・SELinux:停止
・firewall:サンプルページ用に3000番を解放

ソースコード

app.js

var express = require('express');
var app = express();

app.get('/', function (req, res) {
res.send('Hello World!');
});

app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});

http://expressjs.com/ja/starter/hello-world.html 
のサンプルをそのまま使用しています

上記のapp.jsを

$node app.js
で実行し、 
http://ipアドレス:3000/ 
でアクセスする想定です。

疑問に思った理由

各種How toサイトを見ていましたが、サンプルページをさくらVPSに公開している例はありませんでした。
逆にシンプルなサイトなので、何もできないのではないかと思いますが、いかがでしょうか。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

+13

質問がクローズした後ですがあえて書き込みます。

「Node.jsのHelloWorldページを公開すること」に限らず、インターネット上にサーバを公開すること自体、潜在的な危険は存在します。
どこに危険が存在するかというと、大まかには以下の通りです。

・OSやミドルウェアの脆弱性を突かれる。
・OSやミドルウェアの設定に不備があり、リソースを不正に利用される。
・アプリケーションの作りが悪く、外部からの入力を許して任意のコマンドを実行されてしまう。

質問文に記載された内容で公開したのであれば、Node.jsの範疇では危険ではないと思います。
入力を受け付けている訳でもないですし。
しかし前述の通り、それ以外の部分に問題があれば「危険」となってしまいます。

他の質問でも言及されていたのですが、セキュリティの情報等に気を配らず、どこぞのサイトのコピペだけで構築したようなサーバを公開するのはやめていただきたいです。
08noboreniさんが被害者になるのみならず、他のホストへの攻撃に利用されるなど、いわば加害者側に回りかねません。
乗っ取ったホストに重要な情報がなかったとしても、そのホストは「他のホストへの攻撃の拠点」としての利用価値があります。
08noboreniさんのサーバが乗っ取られて攻撃に利用されたら、短時間だったから問題ない、などという事は決してありません。
また、あまりに初歩的なセキュリティ対策を怠った結果であれば責任を問われる事もあり得ます。
知らなかった、では済まされないケースもあるかと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/18 13:40

    回答ありがとうございます。
    危険性を意識して今後学習を進めようと思います。

    お忙しい中申し訳ございませんが、重ねて質問させてください。
    学習の必要性については理解することができました。
    今後の学習方針について以下2点を考えていますが、インフラ系に詳しい方から見て足りていない内容や、「これだけはやっておけ」等の学習方法があったら教えてください。

    1. インフラセキュリティについて体系立った本を一冊読む
    http://www.shoeisha.co.jp/book/detail/9784798132389
    2. 1.で分からない部分についてネットで検索し、内容を理解する
     例:SELinuxがわからなかったら詳しい内容を調べる
    3. アプリ側セキュリティについて本をよむ
    http://www.sbcr.jp/products/4797361193.html

    私のスキルは以下のとおりです。
    ・LPICのLv1だけ持っていて、Linuxについて最低限の理解がある
    ・社内用WEBシステム修正に少し関わったことがあるため、だいたいのイメージができる

    目的は、VPSを借りて自分でアプリケーションを作ることです。

    お忙しい中申し訳ございませんが、どうぞ宜しくお願いします。

    キャンセル

  • 2017/01/18 13:49

    08noboreniが挙げた内容はまずは基礎的なところだと思います。当然必要ですし有用です。

    加えてセキュリティ情報は日々のキャッチアップが必要です。
    なぜなら(言うまでもないですが)脆弱性は日々発見され、攻撃手法は日々進化しているからです。
    なので例えば以下のようなセキュリティ情報サイトや

    https://www.ipa.go.jp/security/
    https://www.jpcert.or.jp/
    http://cve.mitre.org/index.html

    使用しているプロダクトの更新・errata情報を追いかける必要があります。
    (下記はCentOSのErrata)

    http://centoserrata.nagater.net/list.html

    基礎知識はもちろん必要ですが、何より重要なのは「日々セキュリティ情報に関心を持つ」ことだと思います。

    キャンセル

  • 2017/01/18 13:57

    ありがとうございます。
    基礎に加え、最新の動向も確認していこうと思います。

    キャンセル

  • 2017/01/18 15:23

    済みません、さっきのコメント呼び捨てにしてました…
    申し訳ないです。

    キャンセル

checkベストアンサー

-4

サーバーの内部に重要なファイルが無い場合だと、VPSなのでroot権限を取られてもOSを入れ直せる状態みたいなので臆すること無く公開しても大丈夫だと考えます。

実際、公開をしない、または公開を止めるかの判断は管理者次第だと思いますよ。
※会社・その他団体などの場合は責任者に尋ねてください。

セキュリティに関する情報はネットや書籍を含めたくさん存在しますのでそれを参考に。
100%安全なサーバは存在しませんが、常識・現実的な範囲で安全性100%に近づける必要はあります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/17 16:40

    ありがとうございます。確かに、「危ない」ってどんな立場で誰が判断するかによってかなり変化しますよね。言葉の定義がしっかりできていませんでした。ありがとうございます。
    今のところ、
    ・サンプルページは、そもそも攻撃手段が少ない(と思う)
    ・短時間だけの公開ならば危険性は少ない
    と考えています。

    キャンセル

  • 2017/01/18 09:41

    参考までに。。
    LPICと言うLinuxの資格があります。
    LPICのサイトでアンケートに答えると無料でLinux教科書がダウンロードできます。
    Kindle版、製本版もありますが有料です。

    内容は基礎的な事しか書いてありませんが、初めての方ならかなり難しいと思いますし基礎ができないと応用もできないので目を通して価値はあると思いますよ。

    http://www.lpi.or.jp/linuxtext/text.shtml
    サイトの左側に各ダウンロードできる教科書(今は5冊みたいですね)があります。

    キャンセル

  • 2017/01/18 12:18

    ありがとうございます。ダウンロードしてみます!

    キャンセル

同じタグがついた質問を見る

  • Node.js

    2006questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • セキュリティー

    476questions

    このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

  • VPS

    372questions

    VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。