トップページ > インフォメーション

自宅サーバ構築MY HOME SERVER

セキュリティー設定 ファイアウオール(iptables) / SELinux ルータポート開放について ポート開放テスト ウイルスソフト(Clam AntiVirus)

- セキュリティー設定 -

自宅サーバを外部公開する場合、セキュリティに留意する必要があります。外部からの不正アクセス、乗っ取られて踏み台にされる、ウイルス感染、 データの改ざん等に対する対策を講じる必要があります。Linux系OSは普及率がWindowsに比べて断然低いことから、攻撃対象とされる可能性が低い です。しかし不特定多数を相手に公開する場合、やはりセキュリティ対策を講じて置かないと、自宅サーバばかりでなく外部ネットワークに対して も被害を及ぼすことになります。 不正進入対策としてパケットフィルタリングは上位層にルータがあることを想定して、無効設定にします。SELinuxも無効にします。 ウイルス対策としてアンチウイルスソフト(ClamAV)の導入をします。。



- ファイアウオール(iptables) / SELinux -

fedoraをインストール完了した時点では、ファイアウオール(iptables)が無効になっています。ただし、ルータ側のポート開放 の設定などをしていない限り、ルータ側のファイアウォールが外部からの進入を防いでいます。

サーバ設定に際して、ルータ及びiptablesの両方のポートを開放する作業がどうしても必要になってきます。外部からのアクセスはさせないで、 内部(ローカルネットワーク)だけサーバにアクセスさせると言うのであれば、サーバ側のファイアウォールを無効のまま使用することも出来ます。 今回は無効にします。SELinuxも無効設定にします。

[root@hoge123 ~]# systemctl stop iptables.service
[root@hoge123 ~]# systemctl stop ip6tables.service 
[root@hoge123 ~]# systemctl disable iptables.service 
rm '/etc/systemd/system/basic.target.wants/iptables.service'

[root@hoge123 ~]# systemctl disable ip6tables.service
rm '/etc/systemd/system/basic.target.wants/ip6tables.service'

[root@hoge123 ~]# vi /etc/sysconfig/selinux 

SELINUXのところでdisabledに修正します。
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#

[root@hoge123 ~]# setenforce 0 ← 稼動中のSELinuxを停止します。
[root@hoge123 ~]# getenforce
permissive ← この表示が出れば、SELinuxが停止しています。




- ルータポート開放について -

ルータのポート開放はメーカーなどによって違いますが、静的NATやIPマスカレード等のメニュー表示を選択して開放するポート番号 を入れて設定を保存します。詳細はネット上で、「ポート開放」等の項目で検索してください。

既にウエブサーバ(Apache)の設定済みと仮定して、80番と443番ポートを開放する例で説明します。設定するルータはNTT PR-S300SE です。ルータにアクセスするため、ルータのIPアドレスを調べます。

ウインドウズの「スタート」、「ファイル名を指定して実行」を選択します。「ファイル名を指定して実行」のWindow が出てきたら、cmd と入力します。後は、コマンドプロンプトで確認します。 Win7の場合、検索Windowに cmd と入力します。
C:\Documents and Settings\hogehoge>ipconfig ← ipconfig と入力します。


Windows IP Configuration


Ethernet adapter ローカル エリア接続:

        Connection-specific DNS Suffix  . :
        IP Address. . . . . . . . . . . . : 192.168.0.13
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.1 ← ルータのIPアドレスです  

C:\Documents and Settings\hogehoge>exit


IEを開きアドレスに192.168.0.1 を入力します。ルータに既に設定してあるユーザ名、パスワードを入力して「OK」を押します。 不明な場合、ルータのマニュアルを参照してください。

18.jpg(26137 byte)


左メニュから詳細設定を選択します。 19.jpg(70571 byte)

「静的NAT設定」を選択します。 20.jpg(66337 byte)

下図はTCPポート 80番を開け、アクセスを待ち受けているサーバのIPアドレスを入力した例です。入力後、 「設定」を押して保存します。80番が終わったら、ポート443を開ける設定をしますが、下図の例では 変換対象ポートを443にして変更を保存します。
これでルータのポート番号80、 443は開放されました。他のポート番号を開けるときも、まったく同じ方法で 開けます。 21.jpg(64802 byte)



- ポート開放テスト -

外部からサーバのポート開放の状態を確認します。 ここをクリックしてください。
サーバの「ドメイン名」、「確認ポート番号」を入力します。「制約事項」にチェックを入れ「ポートチェック実行」 を押します。

下図のように応答があれば、80番ポートは開放されています。

今度は、443を入れて確認します。下図はポートは開放されているけれども、待ち受けるサーバのサービスが起動 していなか、サービスが別のポート番号を使用している事を示します。443はwwwでSSLを用いるときに使用される ポートです。今回は、まだSSLは利用されていないので下記結果が出てきました。ApacheでSSLを利用するには、 モジュールを組み込む必要があります。
ウエブページ暗号化(SSL) の設定が完了していれば、ポート443は「アクセスできました」 に変わります。

もし、下図のような文言が表示された場合、対象ポートがブロックされていることを示します。ルータ及びiptablesの 設定を見直す必要があります。



- ウイルスソフト(Clam AntiVirus) -

Linux系OSはウイルス感染しない、と思っている人がたくさんいます。実際に感染例がほとんどないことから、導入しないで 使用して良いかはサーバ管理者の判断になります。Windowsの場合ユーザが多いことから、セキュリティホールを突いた攻撃をよく受けますが Linuxの場合、使用者が少ないことから攻撃されにくいと言うのは事実です。

しかしファイル共有やメールサーバ用途で運用している場合、Windowsで感染するウイルスが入ってくるかもしれません。その場合、Linuxでは 感染しなくても、Linuxサーバを経由して他のWindowsパソコンへの感染拡大の手伝いをするかもしれません。 その可能性を低くするためにサーバにはウイルスソフトが必要です。

今回は無償提供されているClam AntiVirus をインストールして、定期的に自動更新する設定をします。
      
[root@hoge123 ~]# yum -y install clamav clamav-update 
[root@hoge123 ~]# vi /etc/freshclam.conf
 8行目付近、先頭に#を付けます。
#Example 

[root@hoge123 ~]# freshclam ← ウイルス定義ファイルを更新します。
ClamAV update process started at Sat Jul 14 18:55:45 2012
Downloading main.cvd [100%]
main.cvd updated (version: 54, sigs: 1044387, f-level: 60, builder: sven)
Downloading daily.cvd [100%]
daily.cvd updated (version: 15135, sigs: 231396, f-level: 63, builder: guitar)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 188, sigs: 38, f-level: 63, builder: neo)
Database updated (1275821 signatures) from database.clamav.net (IP: XXX.XXX.XXX.175)


試しにhomeフォルダー内を手動チェックしてみます。
[root@hoge123 ~]# clamscan --log=/var/log/clamav.log --infected --remove --recursive /home/

----------- SCAN SUMMARY -----------
Known viruses: 1245256
Engine version: 0.97.4
Scanned directories: 5
Scanned files: 9
Infected files: 0 ← 感染0 を表示しています。
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 6.692 sec (0 m 6 s)

- 無害の試験用ウィルスをダウンロードします。 -
[root@hoge123 ~]# wget -P /home/ http://www.eicar.org/download/eicar.com
[root@hoge123 ~]# clamscan --log=/var/log/clamav.log --infected --remove --recursive /home/
↑ homeフォルダをチェックします。

/home/eicar.com: Eicar-Test-Signature FOUND
/home/eicar.com: Removed. ← 感染ファイルが削除されました。

----------- SCAN SUMMARY -----------
Known viruses: 1245256
Engine version: 0.97.4
Scanned directories: 5
Scanned files: 10
Infected files: 1
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 6.680 sec (0 m 6 s)

自動更新するように定義ファイルを作成し、毎日、ウイルススキャンする設定をします。
[root@hoge123 ~]# vi /root/clamav.sh

- 下記内容を貼り付け・保存します。-
※日本語が文字化けする場合、Teratermのメニューバーの、「設定」、「端末」を選択して 「漢字-受信」、「漢字-送信」をEUCに変更してください。


#!/bin/sh
echo "Job Name (clamav.sh)"
echo " 開始(`date +"%k時%M分%S秒"`)"
rm -f /var/log/clamav.log > /dev/null 2>&1
freshclam --quiet
clamscan --log=/var/log/clamav.log --infected --remove --recursive / > /dev/null 2>&1
grep FOUND /var/log/clamav.log
rm -f /var/log/clamav.log > /dev/null 2>&1
echo " 終了(`date +"%k時%M分%S秒"`)"

[root@hoge123 ~]# chmod 700 /root/clamav.sh ← 作成したシェルスクリプトに権限を付与します。
[root@hoge123 ~]# crontab -e

- 下記内容を貼り付け・保存します。毎日02:00にウイルススキャンを行います。-
00 02 * * * /root/clamav.sh

Clamavは3時間毎に自動更新される設定になっています。下記のメッセージがメールアカウントに届く場合、自動更新 が無効になっています。
WARNING: update of clamav database is disabled; please see
'/etc/sysconfig/freshclam'
for information how to enable the periodic update resp. how to turn
off this message.

freshclamの設定を変更します。
[root@hoge123 ~]# vi /etc/sysconfig/freshclam

FRESHCLAM_DELAY=disabled-warn   # REMOVE ME
↓ 先頭に#を付けて無効にします。
#FRESHCLAM_DELAY=disabled-warn   # REMOVE ME



自宅サーバ構築(fedora17)に戻る


Copyright(C) PCDEMAGIC All Rights Reserved.