新しくLinux serverを構築
2009年2月22日
我が家のプライベートwebサーバ構築のため、クローゼットで眠っていたマザーボード+CPU(VIA EMIA-M)に256MBのRAMを挿入し、amazonで購入した40GB(およそ$20)のHDDを接続して、サーバとした。
Debianのインストール時のみCD-ROMを接続し、今ははずしてある。その後の管理にはネットを使えばよいので、CD-ROMは必要ない。ただ、この状態でapt-getするとCD-ROMを読みにいこうとするので、/etc/apt/sources.listファイルを編集して、CD-ROMをリストから除外した。
まずapt-get sshでSSHをインストール。これを行えばサーバを直接触る必要は無い。次に、iptablesをセットした。次の内容でiptables.shを用意し、ファイアウォールの設定変更のたびに実行する形。これを公開するのはあまりよくないのだが、今回は家庭内サーバとしての使用で接続先クライアントが限られているため、ここにメモしておくことにした。
ここまですれば、ルーターの設定で外に接続するようにしても大丈夫。
Debianのインストール時のみCD-ROMを接続し、今ははずしてある。その後の管理にはネットを使えばよいので、CD-ROMは必要ない。ただ、この状態でapt-getするとCD-ROMを読みにいこうとするので、/etc/apt/sources.listファイルを編集して、CD-ROMをリストから除外した。
まずapt-get sshでSSHをインストール。これを行えばサーバを直接触る必要は無い。次に、iptablesをセットした。次の内容でiptables.shを用意し、ファイアウォールの設定変更のたびに実行する形。これを公開するのはあまりよくないのだが、今回は家庭内サーバとしての使用で接続先クライアントが限られているため、ここにメモしておくことにした。
#!/bin/sh #/root/iptables.sh #chmod 700 iptables -F #Forward policy: DROP iptables -P FORWARD DROP #Output policy: ACCEPT iptables -P OUTPUT ACCEPT #Set time before limitting input iptables -P INPUT ACCEPT ntpdate xxxxx hwclock --systohc #Input policy: DROP iptables -P INPUT DROP #localhost iptables -A INPUT -s 127.0.0.1 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT #intranet iptables -A INPUT -s 192.168.0.0/16 -p udp -j ACCEPT iptables -A INPUT -s 192.168.0.0/16 -p tcp -j ACCEPT #DNS lookup iptables -A INPUT -s 192.168.0.0/16 -p udp --sport 53 --dport 1024: -j ACCEPT #limit ping (accept once every second) iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT #accesss from office (http, ssh & ftp) iptables -A INPUT -s xxx.xxx.xxx.0/24 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -s xxx.xxx.xxx.0/24 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -s xxx.xxx.xxx.0/24 -p tcp --dport 21 -j ACCEPT iptables -A INPUT -s xxx.xxx.xxx.0/24 -p tcp --dport 20 -j ACCEPT #http server #iptables -A INPUT -p tcp --dport 80 -j ACCEPT #iptables -A INPUT -p udp --dport 80 -j ACCEPT #https server #iptables -A INPUT -s xxx.xxx.xxx.0/24 -p tcp --dport 443 -j ACCEPT #Samba server #iptables -A INPUT -s xxx.xxx.xxx.0/24 -p udp --dport 137 -j ACCEPT #iptables -A INPUT -s xxx.xxx.xxx.0/24 -p udp --dport 138 -j ACCEPT #iptables -A INPUT -s xxx.xxx.xxx.0/24 -p tcp --dport 139 -j ACCEPT #iptables -A INPUT -s xxx.xxx.xxx.0/24 -p tcp --dport 445 -j ACCEPT #cliant iptables -A INPUT -p tcp ! --syn --dport 1024: -j ACCEPT #ftp cliant iptables -A INPUT -p tcp ! --sport 20 --dport 1024: -j ACCEPT echo "The iptables has been set:" iptables --list
ここまですれば、ルーターの設定で外に接続するようにしても大丈夫。
コメント
Katsumi (2009年2月28日 23:31:27)
その後、vi /etc/ssh/sshd_config で、
PermitRootLogin no
とし、/etc/init.d/ssh restartとした。
PermitRootLogin no
とし、/etc/init.d/ssh restartとした。