さくらVPSにDebianを入れたメモ

  • 6
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

VPSを借りる

今回借りたのはさくらVPSのSSDプランのメモリ1GBのやつ。SSDにしたのは100GBも使うかー?ってのと速そうっていうだけ。

Debianをインストール

標準OSはCentOSなので、まずDebianをカスタムOSからインストールしていく。今回選んだのはDebian 7。なんかポチポチしてたらインストール終わっていた。迷ったらこことか参考にすると良さそう。

最低限のセキュリティ設定

世の中には怖い人がたくさんいるので、最低限のセキュリティ設定をやっておく。セキュリティに関してはなにもわからないので参考にした。
そこそこセキュアなlinuxサーバーを作る
☆で重要度が示されているのでとてもわかり易い。☆4つ以上が最低限やっておくべきらしい。
実際にやったことをメモしておく。

bash
apt-get install sudo
useradd USERNAME sudo

で作業ユーザーでsudoできるようにしておいた。

:star:5

:star:5から設定していった。

sshポート変更

bash
sudo vi /etc/ssh/sshd_config
sudo /etc/init.d/ssh restart

ポート番号を変更して再起動すれば良い。ポート番号を指定してssh接続するには-pをつけて指定できる。

使わないポートを閉じる

Debian 7 の iptables と sshd の設定と IPv6 無効化メモ
:point_up:こちら:point_up:を参考にしました。

bash
sudo aptitude install iptables-persistent
sudo cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.bak
sudo vi /etc/iptables/rules.v4

iptablesの設定はDebian wikiからコピーしてきた。sshのポート番号はさっき自分が設定した奴に変更した。

/etc/iptables/rules.v4
*filter

# Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

# Accepts all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allows all outbound traffic
# You could modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

# Allows HTTP and HTTPS connections from anywhere (the normal ports for websites)
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Allows SSH connections 
# The --dport number is the same as in /etc/ssh/sshd_config
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

# Now you should read up on iptables rules and consider whether ssh access 
# for everyone is really desired. Most likely you will only allow access from certain IPs.

# Allow ping
#  note that blocking other types of icmp packets is considered a bad idea by some
#  remove -m icmp --icmp-type 8 from this line to allow all kinds of icmp:
#  https://security.stackexchange.com/questions/22711
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

# log iptables denied calls (access via 'dmesg' command)
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

# Reject all other inbound - default deny unless explicitly allowed policy:
-A INPUT -j REJECT
-A FORWARD -j REJECT

COMMIT

面倒なのでIPv6を無効化しておく。

bash
sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak
sudo vi /etc/sysctl.conf

一番最後に追記する。

/etc/sysctl.conf
# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

変更し終わったらsysctlで設定を反映する。

bash
sudo sysctl -p

実は:star:5はこの2つで終わり。

:star:4

sshでrootにlogin出来なくする

bash
sudo vi /etc/ssh/sshd_config

yesをnoに書き換える。

/etc/ssh/sshd_config
PermitRootLogin no

パスワード認証を切る

パスワード認証は切ったほうがいいんだろうけど面倒だったので切らなかった。32文字の英数字記号自動生成だから大丈夫でしょ(適当)

ip spoofing対策

リンク先の方法ではなくて:point_down:こっち:point_down:でやった。こっちでも良いのかな?
5.31. Enable IP spoofing protection

/etc/sysctl.conf
# Uncomment the next two lines to enable Spoof protection (reverse-path filter)
# Turn on Source Address Verification in all interfaces to
# prevent some spoofing attacks
# net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1 # ここをアンコメントした

書き換えたら設定を反映。

bash
sudo sysctl -p

:star:4はここまでやった。他のはやらなかった。

:star:3

passpromptを変える

bash
sudo vi /etc/sudoers

そして標準のパスワード要求プロンプトを書き換えた。

/etc/sudoers
Defaults passprompt = "%u@%h -> PLEASE PASSWORD :tanomu: -> "

logwatchを入れる

Debian 7 Wheezy - ログ解析ツール logwatch インストール!
:point_up:ここ:point_up:を参考にしました。
まずインストールする。

bash
sudo aptitude install -y logwatch

デフォルトの設定ファイルを複製する。

bash
sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

そして宛先と詳細レベルを設定した。

/etc/logwatch/conf/logwatch.conf
MailTo = hoge@xxxx.com
Detail = Low

おわり

最低限の設定はできたのかな…?なんか抜けてるところがあれば突っ込んでください。