Railsマルチプラットフォームアプリ作成記録

セキュリティ

最終更新:

sawa2

- view
だれでも歓迎! 編集

開発環境>Ubuntu 9.04>サーバー/セキュリティ

デフォルトでは, Ubuntuは外にポートを開放するようなサービスをほとんど実行していないようです。ソフトウェアのアップデートやセキュリティーに関する最低限の知識を心がけていれば、相当な時間稼ぎにはなるようです。(参考: Security on Ubuntu)

hosts.allow, hosts.deny

Ubuntuでのセキュリティ設定は, 基本的にiptableでやるので, この節はとばしてください.

<del>Linuxでもっとも簡易で強力(?)なアクセス制御方法です.
あなたのLinuxサーバーを守るためにしっかりと設定しましょう.

man(5)hosts_accessによると,

  1. /etc/hosts.allowをみて, 書かれている内容のアクセスを認める
  2. /etc/hosts.denyをみて, 書かれている内容のアクセスを禁じる
  3. 上に該当しないアクセスは認める

の順番で実行するみたいです.

3.が実行されるのは基本的に好ましくないので, 2.の時点で全部止めちゃいます.

$ sudo gedit /etc/hosts.deny

として, 2.で禁じる相手の設定をします.

ALL: ALL

と最後に挿入しちゃってください. これで, 2.に来てしまったすべてのアクセスを禁じることができました.

あとは, 1.によって, セキュリティの堅さを調整します.

$ sudo gedit /etc/hosts.allow

こうして, アクセスを認めるホストを書き込むわけです. ちなみに, 「<アクセスを受けるデーモン>: <アドレス>」という順番で書き込むことになります.

ALL: localhost
ALL: 192.168.
ALL: 127.0.

などを書き込んでおけば, ネットワーク内部からアクセスできるようになります.</del>

ポート設定

iptablesによってポートの閉鎖/解放を行っていきます. ただ, iptablesは拡張性が高すぎて, 僕を含めてほとんどの人にとってはおまじないにしかみえません. そこで, ufwというすばらしいソフトを使うことにします. さらに, これのGUIのパッケージがあるので, 感謝しながら使わせていただきます.

$ su
# apt-get install gufw

そして, 「システム」→「システム管理」→「ファイアウォールの設定」です.

「ファイアウォール有効」にして, 「許可」「ポート番号またはプロトコル名」「両方」「追加」などとすれば, ポートを開放することになります.

たとえば, 「許可」「80」「両方」「追加」とすれば, sshのポートを開放することになります. これは, 「許可」「http」「両方」「追加」としたものと同じです. ()

これらの操作は,

# ufw enable
# ufw allow http

と同じ. 慣れてこればこっちの方が簡単. ちなみに,

# ufw status

で現在の状態が出てきます.

また, こんなことも可能です.

# ufw allow from 192.168.0.0/16

これで内部ネットワークから自由にアクセスできます.

ちゃんと, iptablesで反映されているかを確認するためには,

# iptables -L -v

ウイルス対策

Linuxはウイルス対策をしなくてもよいという意見が大半です. ウイルス対策ソフトは存在するが, ほとんどはWindowsのウィルスを発見するものです. Linuxだけで動かしているのであれば全く問題ないはずなんですが, WubiはWindowstともに共存しているといっても過言ではないので, 一応入れておきます.

僕自身は使ったことがありませんし, Windowsのものと違って, 常駐してウイルスを発見するなんてものではありません, あくまで手作業でスキャンをしなければいけないものです.

$ sudo apt-get install clamav klamav -y

これで入ります.

$ sudo fleshclam

でウイルスデータベースをアップデート

% klamav

でGUIでソフトウェアが起動します.

Samba


外のWindowsからUbuntu上のディレクトリを覗けるようになります.

$ su
# apt-get install inetutils-inetd -y
# apt-get install samba swat -y

それで, http://localhost:901から設定ができます.

PASSWORDタブを押して, 公開したいhomeディレクトリのユーザー名とパスワードを入力してあげる必要があります.

MySQL

MySQL関係のパッケージはこのようにインストールする.

$ sudo apt-get install mysql-server mysql-client phpmyadmin -y

何回か, パスワードを聞かれたり, phpmyadminを起動するHTTPサーバーを選択させられたりします.

インストールが終わったら, http://localhost/phpmyadmin/からMySQLの様々な設定が行えます.

Subversion

最新のSubversionクライアントは1.6.6というのに対して, Ubuntuのクライアントは, 1.5.4とかです. すると, 会社などの作業環境によっては,
svn: クライアントが古すぎて、作業コピー '<TRUNK>' を扱うことができません。
もっと新しい Subversion クライアントをインストールするか、作業コピーをダウングレードする必要があります。
詳しくは http://subversion.tigris.org/faq.html#working-copy-format-change を参照してください。
というメッセージがでて, お手上げなことがある.

$ su
# apt-get remove subversion subversion-tools -y

subversion本家からソースファイルをダウンロードしてきてインストールします.
あらかじめ, 必要そうなパッケージを入れておきます. もし, この操作をしていないと, Net Beansで, ネットワーク上のリポジトリにアクセスできません. (Unrecognized URL scheme. というメッセージが表示されちゃいます.)

# apt-get install libaprutil1-dev libaprutil1 libapr1 libapr1-dev libneon27 libneon27-dev -y

# exit
$ cd <DOWNLOADED_DIRECTORY>
$ tar xlvf subversion-1.6.6.tar.bz2
$ cd subversion-1.6.6
$ ./configure
$ make
$ sudo make install

途中, おそらくBerkley DBがないといわれるが, 使わない人は気にしない.

サーバー設定

サーバーデーモンをEnabledにするかDisabledにするか

$ su
# apt-get install sysvconfig -y
# sysvconfig

これで設定ができますよ.

タグ:

+ タグ編集
  • タグ:
記事メニュー
ウィキ募集バナー