サーバーへのデータの出入りを管理するファイヤーウォールの設定を行います。
不正なアクセスに備えて最低限必要な設定をしておきます。
ファイヤーウォールとは
ファイヤーウォールとは防火壁のことです。
外部ネットワークからの不正な侵入を防ぐための仕組みです。
サーバーと外部のネットワークを繋ぐ場所を「ポート」と言います。
内外のデータが交錯する場所なので、港に例えられているのでしょうか。
ポートの働きについて、以下のように例えると理解しやすいかも知れません。
- 外部のネットワーク=海
- データ=荷物
- ポート=港
- サーバの中のプログラム=工場
海外から船で運ばれた荷物(データ)が港(ポート)に着きます。
港(ポート)には番号が振られていて、その番号に対応した工場(プログラム)に荷物(データ)が運ばれるようになっています。
ターミナルを使って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」をインストールします。
- さくらのVPSでウェブサーバー、インストールマニュアル
- さくらVPSを申し込んで起動する
- パソコンにターミナルエミュレータをインストールする
- ユーザーを登録する
- ファイヤーウォールを設定する
- Webminをインストールする
- ApacheとPHPをインストールする
- MySQL、phpMyAdminをインストールする
- Apache + PHP を FPM/FastCGI で動かす
- ApacheをWorkerモードに切り替え&APCをインストールする
- 独自ドメインの取得&メールアドレスを設定する
- Apache の VirtualHost を編集する
- SSL証明書をインストールする(自分でやればこんなに激安!)
- SFTPでファイルを転送する
- DropboxでVPSサーバを丸ごと全自動バックアップする
ホームページの制作(デザイン・コーディング・プログラミング)に加え、ネットショップの販売促進に関するアドバイスも致します。 20年以上に渡って実際にネットショップを運営した経験を生かし、聞きかじりではない実績を伴ったノウハウを、自分の言葉でお伝えいたします。 プログラミングの経験は30年以上。HTML、CSS、JavaScript、TypeScript、Vue、NuxtJS、Node.js、MySQL、MongoDB、Elasticsearch、WordPress、PHP、Docker、Electronなど、幅広く対応します。
コメント