web-dev-qa-db-ja.com

自宅で公開サーバーを安全に設定するにはどうすればよいですか

投稿する前に、有望に見えても実際には私の質問に答えなかった2つの質問を調べました。

  • 公開サーバーのセットアップ -これはローカル開発用であり、本番サーバーのことを話しているので、コードをデプロイして、顧客に自宅から対話してもらうことができます。
  • ホームDNSサーバーのセットアップ -ネームサーバーを使用できるホスティングプロバイダーがあるので、自分のDNSサーバーをセットアップする必要はありません。

シナリオ

私は自分の個人事業主を経営しており、プロジェクトの見積もり、請求書の送信など、より自然なことのいくつかを自動化するいくつかのアプリを開発したいと思っています。これらのアプリの一部は、セキュリティで保護する必要があるMySQLデータベース接続とデータを送信するためのWebフォームを必要とします。

私が運営するビジネスは、フルスタックソフトウェアエンジニアとしての通常のフルタイムの仕事の傍らで行う仕事です。それからの収入はそれが毎月のサーバー料金を正当化しないほど十分に矛盾しています。誰もが言う前に、私はクラウドサーバーがどれほど安くなっているのか理解していますが、この一貫性のない収入の性質上、お金を捨てるように感じるでしょう。しかし、私の質問への答えによっては、弾丸を噛まなければならない場合があります。

質問

私の質問は自宅からパブリックサーバーを実行するための「安全な」方法は何ですか?たとえば、私のホスティングプロバイダーにはネームサーバーがあるため、サーバーをパブリックにするホストのネームサーバーをサーバーのIPアドレスにポイントして、ホストエントリなしで解決できるようにすることはできませんか?

また、クラウドサービスを使用するのではなく、自宅から独自のサーバーを実行する場合のセキュリティの賛否両論についての洞察も探しています。私は以前にVPSクラウドサービス(デジタルオーシャン)を使用したことがあり、電源をオンにしたときにボットがどれだけ頻繁に攻撃するかを理解しています。

私の心の中で最も理想的な状況は、私の顧客のみに私のホームパブリックサーバーへのアクセスを許可する何らかの方法を持つことです。ホワイトリストのような設定なので、彼らがしなければならないことは彼らに私に彼らのIPを与えることだけでした、そして私が彼らに私のサーバーを見るを許可する設定に追加することができました-理想的にはHostエントリなし。 VPNの考え方は好きですが、顧客に技術レベルの高いレベルを要求したくありません。

たぶん私はベースから外れているかもしれませんが、自宅からサーバーを安全に実行できるかどうかについて、いくつかの洞察を実際に使用できました。私が持っている安全上の懸念のいくつかはそうではありません:

  • 自宅の住所をインターネットにブロードキャストする
  • ホームネットワークに深刻な穴を開ける
  • 他に考えていないこと

クラウドサーバーを使用する方が良いかもしれませんが、よくわかりません。上記の私の理想的な状況は、適切な解決策になるでしょうか?

また、Googleへの役立つリンク/説明/用語は大歓迎ですが、私は別の質問をするだけでよいので、必須ではありません。

前もって感謝します!

2
mrClean

これを行わないでください。自宅でサーバーを実行することは、お金を投入する地面の穴です。

クラウドサービスでサービスを実行する利点は、高度なスキルを持つセキュリティエンジニアが物事を制御するレベルで安全であることを確認し、他のスキルのある担当者がサービスを継続し、データをそのまま維持し、リソースを迅速に確保することです。プロビジョニング。これは可用性についても言及していません。たとえば、オンラインでクイックブックを使用したり、請求のためにハーベストしたりするなど、インフラストラクチャに何千も投資することなく、住宅の外でサービスを実行することに勝つことはできません。 (月額20ドル未満)。

自分で本番環境サービスをホストしたい場合は、この分野で十分な経験をしたいと思うはずです。数か月から数年かけて自分を教育するよりも、誰かに月に数ドルを支払う方が安上がりです。

5
Spooler

@ SmallLoanOf1Mが言ったように、他の人のためにサーバーを実行するのに十分な資格があると感じない限り、自宅から自分のサーバーを実行しないでください。インターネットでパブリックサーバーを実行するのは簡単な作業ではありません。サーバーが(自宅にあるかどうかにかかわらず)マルウェアにサービスを提供したり、他のサーバーを攻撃したり、まったく破壊されたりする可能性があります。

あなたは非常に安いプロバイダーをたくさん見つけることができます。 VPS(Virtual Private Server)を検索するだけで、月10ドル未満でカップルを見つけることができます。これはおそらく、サーバーを24時間365日稼働させるために支払う電力よりも少ないでしょう。サーバーを購入したり、スペアディスクやスペアの電源を購入したりする必要はありません...

VPSを実行している場合でも、クライアントだけがVPSにアクセスできるようにする方法について質問しました。彼らに彼らのIPアドレスを尋ねることは悪夢になるでしょう。通常、IPアドレスは一時的なものであるため、IPアドレスを提供する必要があります1日ごとアクセスしたい。ファイアウォールにIPアドレスを挿入するという新しいフルタイム(つまり24時間年中無休)の仕事ができました。

あなたができることは、VPNを作成し、ユーザーにそれからの接続のみを許可することです。 OpenVPNは簡単にセットアップできますが、通常はクライアントにインストールして構成する必要があります。これは、平均的なユーザーにとってそれほど簡単なことではありません。 PPPTPまたはL2TPはクライアントでより簡単であり、クライアントが熟練したハッカーや政治家のターゲットになっていない限り、十分に安全です。

あなたのためにサーバーをセットアップするために人々にお金を払うことができるいくつかのフリーランスのサイトがあります。そこにいるユーザーは(私たちのように)世話をするという評判があり、サーバーをセットアップするために数百未満の料金を請求することができます。可能な限り最短の時間で安全なサーバーが必要な場合は、これが最良の代替策です。VPSを借りて、誰かに代金を支払ってセットアップしてもらいます。

そして、あなたはおそらく気付かないでしょうが、ルーター/モデムがWAN=リクエストをブロックするように設定されていない限り、あなたのIPはすでに公開されており、一部のポートは誰からでもアクセス可能です。

0
ThoriumBR

私も同様の質問を探してみましたが、あなたの質問は、正しい基本的なアイデア/心配を示す最も適切な言葉の質問であることがわかりました。

私はホームサーバーのアイデアに賛成であり、賛成ですが、ネットワーキングについてすべてを上から下まで学びたいので、そうすべきです。最小限の作業で機能させたい場合は、Hostにサービスを支払うことで、お金と時間を節約できます。

最初に、ホームサーバーをおそらく5年間実行していると言いたいと思います(マンハエ)。私のメインサイトは https://www.freesoftwareservers.com/wiki です。すべてをVMWare ESXiタワーで実行し、GPUをパススルーしてメインワークステーションとして使用します。 (私にとって強力なサーバーとワークステーションを手に入れるために多くの$に)

ポート22でSSHをホストしていたとき、ハッキングの試みがありました。しかし、ボット攻撃を受けたサーバーサーフェスが存在する中で、SSHをパブリックから閉鎖しただけです。

まず、質問の強調表示された部分に対処することから始めて、途中で「学習」したいくつかの事柄に取り組みます(ホームサーバーのホスティングに関しては、LinuxについてTONSを学びましたが、ホームサーバーをホスティングしなくてもそれを行うことができます) )。

自宅からパブリックサーバーを実行する「安全な」方法は何ですか?

まず、VPNのないホワイトリストのアイデアです。

The most ideal situation in my mind, would be to have some way to give only my customers access to my home public server. Some kind of set up like a white list, so all they had to do was give me their IP, and I could add it to a config which would allow them to see my server -- ideally without a Host entry. I like the idea of VPNs, but I don't want to require that level of tech-savvy from my customers.

個人的には、今日のVPNは思っているほど珍しくなく、エンドクライアント用に非常に簡単に設定できると思います。私の60歳以上の母は、彼女の企業ネットワークのためにそれを持っていました。 (最悪の場合、TeamViewerをセットアップしてそれらをセットアップできます)。 VPNは、あなたの観点から最も具体的なファイアウォールエクスペリエンスを可能にします。VPNポートを転送するだけで、ゲートウェイでそれを転送します

私は「パブリック」という言葉に取り組みたかったのです。 WAN(インターネット)に接続されているすべてのIPは「パブリック」です。だれでもfreesoftwareservers.comにpingしてホームIPを取得できるので、「ホームIPをブロードキャストする」などの意味だと思います。パブリックWebサイトをホストしていない場合は、クライアントのみがドメイン名を持っている必要があり、Googleなどに表示されないため、「パブリック」とは見なされません。

セキュリティがあなたの主な関心事である場合、私はそのルートをたどり、ホームネットワーク用に更新する「ダイナミックDNS」を使用してドメイン名を設定します。ホームISPサブスクリプションのISPから静的IPを取得できるとは思えません。 (私は自宅でサーバーを実行することの合法性については触れませんが、私は以前は米国の大手ISPに所属していて、不満は一度もなかったと言いましょう)。 VPNにDNSを設定するには、vpn.freesoftwareservers.comがホームゲートウェイを指します。次に、「ダイナミックDNS」クライアントを使用して、ドメイン名のホスティング業者にX分ごとにpingを送信し、変更された場合はそれを更新します。通常、ゲートウェイを再起動しない限り、ホームIPを変更することはありません。このようにして、VPN証明書を設定して、そのDNS名を使用し、解決する必要があることを知ることができます。

  • 伝えたい私の個人的な想い

コンピューターネットワーキングとサイバーセキュリティの学位を取得しながら、サーバーをいじり始めたので、「難しい方法」でそれを行うのは理にかなっているように見えました。 ホームサーバーの優れた点は、すべての手順を学習する必要があることです。誰もあなたのためにそれをしません。また、おそらくハイパーバイザー/ VMについて学びたいと思うでしょうが、それはそこで何年にもわたって学ぶ価値があります!

私が最初に始めたとき、私は1 MBのアップロードを持っていましたが、これは主に自分のホームネットワークにアクセスできることに関するものでした。 20MBのアップロードを取得すると、単純なtxtベースのサイトで中程度のトラフィックを問題なくホストすることができましたが、これを見つけるのは難しい場合があります。また、サーバーをセットアップしてから数回移動しましたが、ダウンタイムは避けられませんでした。

私の最大の没落は

  • 移動または再起動時のダウンタイム
  • クラウドサービスを学習していない

私はシステム管理者になりたいと思っていますが、いくつかの問題については知識が豊富ですが、主要なクラウドベンダーのGUIに精通していません。ただし、GUIの機能を理解すると、クリックしてテストするよりも、GUIの操作がはるかに簡単になります。

-明らかにこれをまとめる必要がありますが、このトピックは私にとって大切です!

つまり、SMBで、自分で何かを行うことでお金を節約できれば、VPNを使用することでセキュリティは賢明だと思います。また、遊ぶためのクールなハードウェアを手に入れますが、本当に悪いことを学びたいです。私にとって、それは即座の愛でした、あなたは始めて、問題の後に問題を学習/修正するための忍耐力がないか、その楽しさとやりがいを見つけます。「IPをホワイトリストに登録」することはできますが、クライアントはDHCP IPの場合、そうでなければ、パスワード+ VPNを使用し、X日ごとに再発行します。

自宅のISPでサーバーを実行することには、合法的な懸念があるかもしれません。問題がなければ、ポイントを空白にして、会話を呼び出して録音することができます。私のサイトは非営利なので、公開している間は実際にお金を生み出すわけではありません。

自宅+クラウドを使用しない限り発生するため、少しのダウンタイムを処理できますか?.

あなたが本当に学びたいなら+私はホームサーバー+クラウドバックアップを持っているでしょう。クラウドサーバーは、帯域幅と使用量に基づいて課金できます。したがって、ホームサーバーが「稼働」しているためにそれらが使用されていない場合、クラウドサーバーに対して「多く」課金されることはありません。これにより、学習するのが非常に楽しくなり、非常に難しい高可用性が実現します。ただし、ダウンタイムも計画できる場合は、クライアントに役立ちます。

それだけです。決定した場合は、私のサイトをご覧ください。ホームサーバーのファンが利用できるリソースはたくさんあると思いますが、私のサイトはあまり「教育」を行っていません。コピーと貼り付けが可能なコードスニペットは、私にとって有効です。

0