例えば、ルータのファイアウォールで80番「だけ」許可しておけば、LAN内のサーバで80番以外のサービスが動いていてもそちらにはアクセスできない、と考えてよいのでしょうか?
直接的答えとして「アクセスできない」で終わりにしてもいいのだけど、
自宅サーバーで心配なのは素人によるサーバ構築そのものにあるため、
「実際には100%ではない」と言わざるを得ないです。
WEBサーバがSQLインジェクションその他もろもろの攻撃に敗れ、
サーバを基点として、サーバ内やLAN内の情報を、
サーバ自らがポート80を通して外部に流してしまうなどは、
注意されなくとも、既にご存知かもしれないけれど、それよりも、
サーバーの設定ミスによる情報漏洩や、踏み台にされやすい状態を、
作り出してしまうという点のほうが格段に心配な点であり、また、
「これだけをやっておけば安心」というような指針も無いので、
100%は無いという回答になるわけです。
ここまでで、既にお気づきかもしれないけれど、
ポート80だけを許可するというのは必要最低限の措置でしかなく、
運用するのであればLAN内の他のマシンとはセグメントを異にするなどして、
論理的分離くらいは行っておくべきです。もし、まだ、セグメントについて、
ご存知なければTCP/IPの基礎的部分を一通り見直していただきたい。
出来れば物理的にも分離できるようなルータを用いるのが望ましいのだけど、
多少、値がはるし、取り扱いも難しかったりするので、
せめてDMZ機能を持ったルータ(最近では安価なルータでも機能を持っている)で
サーバと他のマシンを分離するようにしていただきたい。
セキュリティに関しては話だしたら限がないくらい長くなるので、
とりあえず、質問内容+プラスアルファとして、以上とさせていただきます。
今一度、参考にしておられる書籍やWEBサイトなどを確認してください。
そうです。外からは許可したポートにしか接続できません。思ったより簡単だと思いますよ。
外部からポート80にアクセスが来たら、自宅内のネットワーク(192.168.x.xだと思います)の、どの192.168.x.xにフォワードするかを決めることになると思います。
ルータが192.168.0.1 だと思いますので、自宅サーバーは適当に 192.168.0.100 とかにしてください。
あと外側のIPアドレスは時々変わってしまうので、DynamicDNSのサービスを利用する必要があると思いますが、IOデータのルータだと無料でDynamicDNSを使えるようになってます。
探せば他にも無料のダイナミックDNSサービスはいくつかあります。
そもそもルータの役割を理解されていないと思います。
インターネットの世界ではグローバルIPというものがありますが、
構築しているローカルネットワークに対して大体の場合ひとつのみ割り振られるものです。
たとえばローカルネットワークで4台のPCを接続しているとして、
グローバルIPの80番ポートで外からアクセスがあった場合、
その4台の内どのPC(サーバ)に飛ばせばいいのか・・ということを設定
しているのがルータです。
簡単に言えば、、ですが。厳密に言えばちょっとニュアンスが違うかもしれませんが。。
OSがLinux等のサーバでは、そのサーバ自体にFireWall機能が存在します。
(Redhatならiptables)
そのサーバをWEBサーバだと仮定した場合、
一般的には内部ネットワーク(ローカルネットワーク)からの要求はどのポートに関わらず
全て許可し、 外部からのアクセスについてはポートごとに許可/不許可を設定することが多いです。
いいえ。
たとえばポート80で動いているWebサーバを踏み台にすることができれば、そのサーバを経由してLAN内部のPCにアクセスすることができてしまいます。
そのとおり、できません。
ただし、HTTP(80)上に上乗せして別ポートを使う方法があります。
それは自宅サーバー側のソフト(サービス)の問題で、ソフトが実行されていなければ、できません。
コメント(0件)