Ubuntuのインストール。


今回は開発用サーバのセットアップについて書きます。
まあ個人的な備忘録に近いのであまり参考にならないかもしれませんが。。。


まずUbuntuサーバ版のISOファイルをここからダウンロードしてCDに焼きます。
そしてドライブに入れて再起動すれば後はインストーラ通りです。
ネットワーク部分はLAN内に配置するとは言えDHCPだと問題があるので固定のローカルIPを設定しました。
最後の方にスタック(パッケージをセットにして導入を容易にしたもの)を選択する画面が出てきます。
僕は


Basic Ubuntu server
LAMP server
Mail server、
OpenSSH srrver
PostgreSQL server


を選択しました。
実はいろいろあって3回くらいOSの再インストールをしており、1回目は一個一個コンパイルして導入していたのですが、2回目にはaptでインストール、最後はtasksel(このスタック単位でのインストール用コマンド)で入れていました。。。
ここで選択していなくてもOSのインストール完了後、前述したtaskselコマンドでいつでも導入できます。


導入後、まず最初にしたのがSSHのログイン方式を公開鍵暗号方式への変更です。
この方法は以前の記事で書いたので今回は割愛します。


次にファイアーウォール(iptables)の設定を行います。
本サーバはLAN内でのみ公開しているので必要無い気もしますが、一応設定します。


// 設定用のシェルスクリプトを設定する。
$ vim iptables.sh
#!/bin/bash

# ファイアウォール初期化
sudo /sbin/iptables -F

# デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設定
sudo /sbin/iptables -P INPUT DROP
sudo /sbin/iptables -P FORWARD ACCEPT
sudo /sbin/iptables -P OUTPUT ACCEPT

# ループバック
sudo /sbin/iptables -A INPUT -p tcp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
sudo /sbin/iptables -A INPUT -p udp -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

# LAN内のホストからのみpingを許可
sudo /sbin/iptables -A OUTPUT -p icmp --icmp-type 0 -d 192.168.1.0/255.255.255.0 -j ACCEPT
sudo /sbin/iptables -A INPUT -p icmp -s 192.168.1.0/255.255.255.0 --icmp-type 8 -j ACCEPT

# エフェメラルポートの解放
sudo /sbin/iptables -A INPUT -p tcp --dport 32768:65535 -j ACCEPT
sudo /sbin/iptables -A INPUT -p udp --dport 32768:65535 -j ACCEPT

# SSH接続はLAN内のホストからのみ接続を許可。その他は全て解放する。
sudo /sbin/iptables -A INPUT -p tcp -s 192.168.1.0/255.255.255.0 --dport 22 -j ACCEPT
sudo /sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT
sudo /sbin/iptables -A INPUT -p tcp --dport 53 -j ACCEPT
sudo /sbin/iptables -A INPUT -p udp --dport 53 -j ACCEPT
sudo /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT
sudo /sbin/iptables -A INPUT -p tcp --dport 123 -j ACCEPT
sudo /sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo /sbin/iptables -A INPUT -p tcp --dport 587 -j ACCEPT

// 実行権限を与え、設定を行う。
$ chmod 705 iptables.sh
$ bash iptables.sh

以上でファイアーウォールのセットアップは完了です。
主にこのサイトを参考にしました。


今回はサーバのセットアップの内セキュリティ部分の設定を行いました。