ファイヤーウォールを設定する

さくらのVPSサーバ構築手順

サーバーへのデータの出入りを管理するファイヤーウォールの設定を行います。
不正なアクセスに備えて最低限必要な設定をしておきます。

ファイヤーウォールとは

ファイヤーウォールとは防火壁のことです。
外部ネットワークからの不正な侵入を防ぐための仕組みです。

サーバーと外部のネットワークを繋ぐ場所を「ポート」と言います。
内外のデータが交錯する場所なので、港に例えられているのでしょうか。

ポートの働きについて、以下のように例えると理解しやすいかも知れません。

  • 外部のネットワーク=海
  • データ=荷物
  • ポート=港
  • サーバの中のプログラム=工場

海外から船で運ばれた荷物(データ)が港(ポート)に着きます。
港(ポート)には番号が振られていて、その番号に対応した工場(プログラム)に荷物(データ)が運ばれるようになっています。

ターミナルを使ってSSHでサーバーと通信しているわけですが、あなたが入力した文字情報はネットワークを伝わってサーバーの22番ポートに届きます。22番ポートに届いたデータはサーバ内のsshプログラムに送られ、あなたの指示通りに実行されます。

ちなみにウェブサイトの表示には、主に80番ポートが使われます。通常ブラウザはサーバの80番ポートへリクエストを送ります。サーバがそのリクエストを受け取ると、ウェブサーバプログラムにリクエスト情報を渡します。ウェブサーバプログラムから返ってくるデータがブラウザに届いてウェブサイトが表示されます。

ファイヤーウォールを設定する

ファイヤーウォールとは、火事の延焼を防ぐ防火壁のことです。
港にしっかりと防火壁を作って不正な侵入を防ぎましょう。

ファイヤーウォール設定ファイルを編集する

使わないポートは閉鎖して必要なポートだけを開けて運用します。
コンソールに以下のように入力して、設定ファイルを置く場所に移動します。

cd /etc/sysconfig/

次に設定ファイルを作ります。

vim iptables

vimというテキストエディタが起動します。
こうしたエディタを使ったことが無い方にとっては非常に使いにくいと思いますが、以下のとおりにキーボードを叩けば作業が進みます。

まず小文字の「i」を入力します。すると左下に「INSERT」と文字が表示されます。これはエディタが文字の挿入モードに切り替わったことを示しています。
以下の文字をコピーして、Tera term にペーストしてください。ペーストは、マウスの右クリックでできます。

*filter
:INPUT   DROP   [0:0]
:FORWARD DROP   [0:0]
:OUTPUT  ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP
-A INPUT -p icmp --icmp-type echo-request -m hashlimit --hashlimit-name t_icmp --hashlimit 1/m --hashlimit-burst 10 --hashlimit-mode srcip --hashlimit-htable-expire 120000 -j ACCEPT

-A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p udp --sport 53 -j ACCEPT
-A INPUT -p udp --sport 123 --dport 123 -j ACCEPT

# accept SSH, HTTP, HTTPS, WEBMIN
-A INPUT -p tcp -m state --syn --state NEW --dport 22 -m hashlimit --hashlimit-name t_sshd --hashlimit 1/m --hashlimit-burst 5 --hashlimit-mode srcip --hashlimit-htable-expire 120000 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80    -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443    -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000    -j ACCEPT

COMMIT

「*filter」から「COMMIT」まできちんとペーストできましたでしょうか?

無事にペースト出来たら保存します。
まず「Esc」キーを押します。すると「INSERT」という表示が消えます。
続けて「:wq」と入力します。これは「Write(書き込み)」して「Quit(終了)」するという命令になります。

ファイヤーウォールを再起動する

保存した設定をファイヤーウォールに反映するために以下のコマンドを入力します。

service iptables restart

これで必要なポートのみを開けて、他のポートは閉じることが出来ました。

次は、設定をGUIで簡単に行うためのツール「Webmin」をインストールします。

Webminをインストールする
ウェブサーバの構築をスムーズに進めるために、サーバにWebminという管理ツールをインストールします。このツールを利用すると、様々なシステム設定がブラウザから簡単に行えるようになります。 Webminのリポジトリを登録する ターミナル(Te...
  1. さくらのVPSでウェブサーバー、インストールマニュアル
  2. さくらVPSを申し込んで起動する
  3. パソコンにターミナルエミュレータをインストールする
  4. ユーザーを登録する
  5. ファイヤーウォールを設定する
  6. Webminをインストールする
  7. ApacheとPHPをインストールする
  8. MySQL、phpMyAdminをインストールする
  9. Apache + PHP を FPM/FastCGI で動かす
  10. ApacheをWorkerモードに切り替え&APCをインストールする
  11. 独自ドメインの取得&メールアドレスを設定する
  12. Apache の VirtualHost を編集する
  13. SSL証明書をインストールする(自分でやればこんなに激安!)
  14. SFTPでファイルを転送する
  15. DropboxでVPSサーバを丸ごと全自動バックアップする

 

コメント

タイトルとURLをコピーしました