さくらのVPSのUbuntu Serverで最初にやっておきたいこと
さくらのVPSの場合、自宅サーバーと違って、既に外部に直接つながった状態ですから、まず、セキュリティ面の強化とサーバー設定をする必要があります。
ここでは、Ubuntu Serverの初期状態から、各サーバー系をインストールする手前までにやることを記述してみます。
Ubuntu Serverを最新にアップデートする。
カスタムOSでUbuntu Serverをインストールした直後では、Ubuntu Serverが最新とは限らないので、まずは、アップデートします。
やるべきことは、以下の2つのコマンド投入だけです。
$ sudo apt-get update
[sudo] password for hoge:
...
$ sudo apt-get upgrade
...
|
sudo apt-get update : リポジトリの更新を実施します。
つまり、パッケージ情報を更新しているだけです。
sudo apt-get upgrade : 最新パッケージへ更新します。
先のリポジトリ情報と実際にインストールされているパッケージのバージョン情報をチェックし、リポジトリに最新パッケージが見つかった場合、そのパッケージは更新されます。
ここでの更新作業は、あくまで同じディストリビューション内での最新パッケージへの更新作業であって、
ディストリビューションの更新はしません。もし、ディストリビューションのアップグレードが必要な場合は、以下のコマンドを投入すると良いでしょう。
$ sudo apt-get dist-upgrade
|
iptables , vim , sysv-rc-conf をインストールする。
iptables は、LinuxでIPマスカレードおよびパケットフィルタリングを実施するソフトウェアです。
vim は、多言語に対応した テキストエディタ ( vi ) です。
sysv-rc-conf は、各サービスのrunレベルを設定するツールです。(以降の不要なサービス(デーモン)を停止する。 で使用します。)
標準のviエディタでも良いのですが、日本語の入力が楽な面もありますし、使い勝手は間違いなく良いですから、インストールしておきます。
iptablesは、インストールされています。
vim, sysv-rc-confはインストールされていないようです。
$ dpkg -l iptables
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii iptables 1.4.4-2ubuntu2 administration tools for packet filtering an
$ dpkg -l vim
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
un vim (no description available)
$ dpkg -l sysv-rc-conf
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
un sysv-rc-conf (no description available)
|
$ sudo apt-get -y install iptables
...
$ sudo apt-get -y install vim
...
$ sudo apt-get -y sysv-rc-conf
...
|
これだけで、自動的にインストールできます。
ログイン環境を編集する。
vimを標準のエディタとして使うために、vi のaliasとして登録しておきます。
また、/sbin へのパスも設定しておくと便利です。パスをとおしておくと、いちいち/sbinを先頭にタイプしなくて良くなりますからね。
.bash_profile は、各ユーザのホームディレクトリ直下にある( 例: ~hoge/.bash_profile ) ものを編集します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/sbin:/usr/sbin
# alias
alias vi='vim'
export PATH
|
10行目で、/sbinと/usr/sbinへのパスと追加しています。
13行目で、vimの別名をviとしています。
現在ログインしている状態で、上記の編集情報を有効にするには、
$ source ~hoge/.bash_profile
|
とすればOKです。
日本語に対応にする。
さくらのVPSでは、デフォルト英語になっています。英語で良い方は、以下の手順はスキップしてください。
Ubuntu Serverのデフォルト言語を日本語に設定します。
$ sudo apt-get install language-pack-ja
[sudo] password for hoge:
...
$ sudo dpkg-reconfigure locales
...
en_ZW.UTF-8... done
ja_JP.UTF-8... up-to-date
$ sudo update-locale LANG=ja_JP.UTF-8
|
以下のように警告が出力されることがあるようです。
$ sudo update-locale LANG=ja_JP.UTF-8
*** update-locale: Warning: LANGUAGE ("en_US:") is not compatible with LANG (ja_JP.UTF-8). Disabling it.
|
警告 : “en_US:” と “ja_JP.UTF-8” は、互換ではありません。それを無効にしました。
という感じでしょうか。
これは、そもそもの設定で、以下のコメント行のような設定になっていたためです。
$ cat /etc/default/locale
...
LANG=ja_JP.UTF-8
|
LANGUAGEという環境変数は、プログラム向けのメッセージ翻訳のための変数で用いられます。
また、これを用いるのは、GNU gettextを用いて翻訳を行っているプログラムで、他の変数とは異なり、
この環境変数では複数のロケールをコロンで区切って指定できるのが特徴です。
ここでは、日本語パッケージをインストールしたので、この警告は、無視しても良いかと思います。
と、3つのコマンドに日本語に設定できます。
再ログインすれば、以下のように異常なコマンド投入すると日本語でエラー表示されます。
$ aa
プログラム 'aa' はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt-get install astronomical-almanac
|
SSHのポートを変更する。
まずは、SSHのポートを変更して、簡単にアタックされないようにしておきます。指定するポート番号は、10000以降の適当なポート番号を割り当てましょう。
/etc/ssh/sshd_config を編集します。
...
# ポート番号を 22 (デフォルト)から10022へ変更する
#Port 22
Port 10022
...
# SSHのプロトコルをSSH2のみ対応とする
Protocol 2
...
# rootでのログインを不可とする
PermitRootLogin no
...
# パスワードでのログインを許可する
PasswordAuthentication yes
...
# パスワードなしでのログインを不可とする
PermitEmptyPasswords no
...
# hoge というユーザだけログインを許可する
AllowUsers hoge
...
|
ここでは、ポート番号、SSHプロトコル、rootでのログイン不可、ログイン可能なユーザ名を指定しています。
(後でhogeというユーザを追加しています。)
また、ログインするIPアドレスが決まっているなら、許可するIPアドレスも指定した方がより良いです。
設定を終えたら、sshd の設定ファイル再読み込みを実施します。
$ sudo reload ssh
ssh start/running, process 1933
|
この状態で、上記の例で言うと、
ユーザ : hoge
ポート番号 : 10022
でログインできるか確認しましょう。
ログインできればOKです。
できない場合は、設定を再度見直しましょう。
reload ssh がポイントです。
とりあえず、再読み込みの場合は、現在SSHで接続しているクライアントには影響ありません。そのため、もしも設定に誤りがあった場合に、再編集することができます。
sshd を再起動してしまうと、現在接続しているクライアントは解放されてしまうので注意が必要です。
また、Ubuntuでsshは、Upstartで管理されているサービスなので、start , stop , restart , reload などのコマンドで起動、停止などの制御を行います。
ファイアウォール(iptables)の設定を行う。
ここでは、単純にiptablesを使っていないポートを外部に非公開とするようにします。
シェルファイルを作成して、一気にやってしまいます。
- iptables関連ファイルの保存先ディレクトリを作成します。
どこでも良いのですが、わかりやすいように /etc/network/ 配下に作成します。
$ sudo makedir /etc/network/iptables/
|
- iptables 設定スクリプトファイルを作成します。
/etc/network/iptables/set_iptables という名前で作成しておきます。
スクリプトの内容は、以下のとおりです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #!/bin/sh
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A INPUT -s 10.0.0.0/8 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -j DROP
/sbin/iptables -A INPUT -s 192.168.0.0/16 -j DROP
/sbin/iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 10022 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables-save > /etc/network/iptables/iptables.db
|
pingを受け付けたくない場合は、17行目のicmpの許可を行っているところをコメントアウトしてください。
また、上記は、必要最小限のポートしか開いていません。pop3やmailなどの必要なポートは、19行目を真似て開くと良いでしょう。
ここでは、10022(SSH),80(HTTP)の2つのポートのみを公開し、それ以外をすべて非公開にしています。
また、プライベートIPアドレス(10.x.x.x,172.16.x.x,192.168.x.x)は、すべて拒否してます。
最後のiptables-save で設定したiptables の情報を保存します。
スクリプトファイルを作成したら、実行権限を与えて実行しましょう。
$ sudo chmod +x /etc/network/iptables/set_iptables
$ sudo /etc/network/iptables/set_iptables
$ ls /etc/network/iptables/
iptables.db set_iptables
|
ちゃんと、iptables.dbが作成できたことを確認しましょう。
SSHのポートだけは、絶対に間違えないようにしましょう。この例では、10022を開放しています。
誤ってSSHのポートを閉じてしまうと、二度とアクセスできなくなります。
さくらのVPSでは、現在(2012.03.27)、リモートコンソールが提供されていますので、最悪の場合は、リモートコンソールからのアクセスで修正することができます。
- ネットワークの起動時に常にiptables の設定を行うスクリプトファイルを作成します。
/etc/network/if-pre-up.d/load_iptables という名前で作成しておきます。
/etc/network/if-pre-up.d/ のディレクトリにスクリプトファイルを設置するだけで、ネットワーク起動時に自動的にそのスクリプトを実行してくれます。
そのスクリプトの内容は、以下のとおりです。
1
2
| #!/bin/sh
/sbin/iptables-restore < /etc/network/iptables/iptables.db
|
先の設定用スクリプトで設定内容を保存した iptables.db を復元(restore)しています。
スクリプトファイルを作成したら、必ず、実行権を付加しておきます。
$ sudo chmod +x /etc/network/if-pre-up.d/load_iptables
|
不要なサービス(デーモン)を停止する。
最後に、無駄に動作しているプロセスを停止するようにします。
デフォルトで動作している全プロセスは、以下のとおりです。
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 23580 1880 ? Ss Mar20 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S Mar20 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S Mar20 1:20 [migration/0]
root 4 0.0 0.0 0 0 ? S Mar20 3:43 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S Mar20 0:00 [watchdog/0]
root 6 0.0 0.0 0 0 ? S Mar20 1:28 [migration/1]
root 7 0.0 0.0 0 0 ? S Mar20 3:49 [ksoftirqd/1]
root 8 0.0 0.0 0 0 ? S Mar20 0:00 [watchdog/1]
root 9 0.0 0.0 0 0 ? S Mar20 0:05 [events/0]
root 10 0.0 0.0 0 0 ? S Mar20 0:05 [events/1]
root 11 0.0 0.0 0 0 ? S Mar20 0:00 [cpuset]
root 12 0.0 0.0 0 0 ? S Mar20 0:00 [khelper]
root 13 0.0 0.0 0 0 ? S Mar20 0:00 [netns]
root 14 0.0 0.0 0 0 ? S Mar20 0:00 [async/mgr]
root 15 0.0 0.0 0 0 ? S Mar20 0:00 [pm]
root 17 0.0 0.0 0 0 ? S Mar20 0:00 [sync_supers]
root 18 0.0 0.0 0 0 ? S Mar20 0:01 [bdi-default]
root 19 0.0 0.0 0 0 ? S Mar20 0:00 [kintegrityd/0]
root 20 0.0 0.0 0 0 ? S Mar20 0:00 [kintegrityd/1]
root 21 0.0 0.0 0 0 ? S Mar20 0:00 [kblockd/0]
root 22 0.0 0.0 0 0 ? S Mar20 0:00 [kblockd/1]
root 23 0.0 0.0 0 0 ? S Mar20 0:00 [kacpid]
root 24 0.0 0.0 0 0 ? S Mar20 0:00 [kacpi_notify]
root 25 0.0 0.0 0 0 ? S Mar20 0:00 [kacpi_hotplug]
root 26 0.0 0.0 0 0 ? S Mar20 0:00 [ata/0]
root 27 0.0 0.0 0 0 ? S Mar20 0:00 [ata/1]
root 28 0.0 0.0 0 0 ? S Mar20 0:00 [ata_aux]
root 29 0.0 0.0 0 0 ? S Mar20 0:00 [ksuspend_usbd]
root 30 0.0 0.0 0 0 ? S Mar20 0:00 [khubd]
root 31 0.0 0.0 0 0 ? S Mar20 0:00 [kseriod]
root 32 0.0 0.0 0 0 ? S Mar20 0:00 [kmmcd]
root 35 0.0 0.0 0 0 ? S Mar20 0:00 [khungtaskd]
root 36 0.0 0.0 0 0 ? S Mar20 0:00 [kswapd0]
root 37 0.0 0.0 0 0 ? SN Mar20 0:00 [ksmd]
root 38 0.0 0.0 0 0 ? S Mar20 0:00 [aio/0]
root 39 0.0 0.0 0 0 ? S Mar20 0:00 [aio/1]
root 40 0.0 0.0 0 0 ? S Mar20 0:00 [ecryptfs-kthr]
root 41 0.0 0.0 0 0 ? S Mar20 0:00 [crypto/0]
root 42 0.0 0.0 0 0 ? S Mar20 0:00 [crypto/1]
root 45 0.0 0.0 0 0 ? S Mar20 0:00 [scsi_eh_0]
root 46 0.0 0.0 0 0 ? S Mar20 0:00 [scsi_eh_1]
root 48 0.0 0.0 0 0 ? S Mar20 0:00 [kstriped]
root 49 0.0 0.0 0 0 ? S Mar20 0:00 [kmpathd/0]
root 50 0.0 0.0 0 0 ? S Mar20 0:00 [kmpathd/1]
root 51 0.0 0.0 0 0 ? S Mar20 0:00 [kmpath_handle]
root 52 0.0 0.0 0 0 ? S Mar20 0:00 [ksnapd]
root 53 0.0 0.0 0 0 ? S Mar20 0:00 [kondemand/0]
root 54 0.0 0.0 0 0 ? S Mar20 0:00 [kondemand/1]
root 55 0.0 0.0 0 0 ? S Mar20 0:00 [kconservative]
root 56 0.0 0.0 0 0 ? S Mar20 0:00 [kconservative]
root 261 0.0 0.0 0 0 ? S Mar20 0:00 [usbhid_resume]
root 282 0.0 0.0 0 0 ? S Mar20 0:13 [jbd2/sda1-8]
root 283 0.0 0.0 0 0 ? S Mar20 0:00 [ext4-dio-unwr]
root 284 0.0 0.0 0 0 ? S Mar20 0:00 [ext4-dio-unwr]
root 327 0.0 0.1 17036 928 ? S Mar20 0:00 upstart-udev-br
root 333 0.0 0.1 17016 788 ? S<s Mar20 0:00 udevd --daemon
root 475 0.0 0.1 17012 680 ? S< Mar20 0:00 udevd --daemon
root 476 0.0 0.1 17012 680 ? S< Mar20 0:00 udevd --daemon
root 541 0.0 0.0 0 0 ? S Mar20 0:00 [kpsmoused]
syslog 560 0.0 0.3 126088 1780 ? Sl Mar20 0:06 rsyslogd -c4
root 647 0.0 0.5 49260 2600 ? Ss Mar20 0:05 /usr/sbin/sshd
root 681 0.0 0.1 6080 656 tty4 Ss+ Mar20 0:00 /sbin/getty -8
root 691 0.0 0.1 6080 652 tty5 Ss+ Mar20 0:00 /sbin/getty -8
root 696 0.0 0.1 6080 656 tty2 Ss+ Mar20 0:00 /sbin/getty -8
root 697 0.0 0.1 6080 652 tty3 Ss+ Mar20 0:00 /sbin/getty -8
root 703 0.0 0.1 6080 652 tty6 Ss+ Mar20 0:00 /sbin/getty -8
daemon 709 0.0 0.0 18884 472 ? Ss Mar20 0:00 atd
root 710 0.0 0.1 21076 916 ? Ss Mar20 0:00 cron
root 730 0.0 0.1 11284 628 ? Ss Mar20 0:27 /usr/sbin/irqba
root 756 0.0 0.1 6080 652 tty1 Ss+ Mar20 0:00 /sbin/getty -8
root 757 0.0 0.1 6080 656 ttyS0 Ss+ Mar20 0:00 /sbin/getty -L
root 10995 0.0 0.6 70620 3240 ? Ss 09:08 0:00 sshd: hoge [pri
hoge 11012 0.0 0.3 70620 1616 ? S 09:08 0:00 sshd: hoge@pts/
hoge 11014 0.3 0.6 20528 3364 pts/0 Ss 09:08 0:00 -bash
root 11030 0.0 0.0 0 0 ? S 09:08 0:00 [flush-8:0]
hoge 11305 0.0 0.2 15256 1212 pts/0 R+ 09:09 0:00 ps aux
$ sudo sysv-rc-conf --list
apparmor S:on
atd
bootlogd
console-setu
cron
dmesg
dns-clean 1:on 2:on 3:on 4:on 5:on
grub-common 2:on 3:on 4:on 5:on
halt 0:on
hostname
hwclock
hwclock-save
irqbalance
killprocs 1:on
module-init-
network-inte
network-inte
networking 0:on 6:on
ondemand 2:on 3:on 4:on 5:on
plymouth
plymouth-log
plymouth-spl
plymouth-sto
pppd-dns 1:on 2:on 3:on 4:on 5:on
procps
rc.local 2:on 3:on 4:on 5:on
reboot 6:on
rsync 1:off 2:on 3:on 4:on 5:on
rsyslog
sendsigs 0:on 6:on
single 1:on
ssh
stop-bootlog
stop-bootlog
udev
udev-finish
udevmonitor
udevtrigger
ufw
umountfs 0:on 6:on
umountroot 0:on 6:on
urandom 0:on 6:on S:on
|
動作している各サービスは、以下のようなものです。
サービス | 概要 | 設定 | 変更 |
dns-clean | PPP 設定ユーティリティ(PPP接続しない場合不要) | ON | OFF |
grub-common | GNUの高機能なブートローダ(GRUB)共通パッケージ | ON | OFF |
ondemand | クロック制御(負荷がかかるとクロックを上げ、負荷が下がるとクロックも下げる) | ON | OFF |
pppd-dns | PPP接続前にresolv.confを再適用(PPP接続しない場合不要) | ON | OFF |
rc.local | initscripts(scripts for initializing and shutting down the system) | ON | – |
rsync | リモートファイルシンク(コピー) | ON | OFF |
上記の動作しているデーモンの中で、rc.local以外は、不要と思われるので、それらを全て停止します。
#!/bin/bash
sysv-rc-conf dns-clean off
sysv-rc-conf grub-common off
sysv-rc-conf ondemand off
sysv-rc-conf pppd-dns off
sysv-rc-conf rsync off
|
スクリプトファイルを作成したら、実行権限を与えるのを忘れないようにしましょう。
$ chmod +x ファイル名
$ sudo ./ファイル名
|
と、このようなイメージで実行できるはずです。
sysv-rc-conf 名前 off で設定されるランレベルは、[2-5] がoffとなります。
[0,1,6]は、offになりませんので注意が必要です。
ほとんど設定を変更する必要性はないと思いますが、もし変更したい場合は、以下の例のようにランレベル指定して実行します。
sysv-rc-conf –level 1 pppd-dns off
要らないコンソールを無効にする
不要なコンソールは、デフォルトで設定されているtty1からtty6 を tty1のみとします。
そのためには、以下のファイルを全て編集します。
- /etc/init/tty2.conf
- /etc/init/tty3.conf
- /etc/init/tty4.conf
- /etc/init/tty5.conf
- /etc/init/tty6.conf
編集する内容は、以下のとおりです。単純に tty をスタートしないようにコメントアウトするだけです。
以下は、tty2.confの例です。例にならって他のファイルも編集します。
$ sudo vi /etc/init/tty2.conf
...
stop on runlevel [!23]
...
|
selinuxをoffにする
さくらのVPS の Ubuntuでは、デフォルトで無効(インストールされていません)になっています。
さくらのVPS では、以下のようにライブラリだけインストールされているだけで、getenforce / setenforce のコマンドすらインストールされていません。
$ dpkg --list|grep selinux
ii libselinux1:amd64 2.2.2-1ubuntu0.1 amd64 SELinux runtime shared libraries
$ getenforce
The program 'getenforce' is currently not installed. You can install it by typing:
sudo apt-get install selinux-utils
|
そのため、以下の設定は不要のはずですが、一応、記載しておきます。
SELINUX=enforcing を SELINUX=disabled とし、無効にします。
$ sudo setenforce 0
|
[setenforceのパラメータ]
1: enforcing:ボリシーの設定に反するアクセスを拒否し、ログを出力する。
0: permissive:ボリシーの設定に反するアクセスであっても許可する。ただし、ログは出力する。
最後にシステムリブートする
全ての設定を終えたら、システムのリブートを実施します。
$ free
total used free shared buffers cached
Mem: 505148 68084 437064 0 10456 23924
-/+ buffers/cache: 33704 471444
Swap: 916472 0 916472
$ sudo reboot
...
|
再起動したら、とりあえずメモリとプロセスを確認しておきましょう。
$ free
total used free shared buffers cached
Mem: 505148 67208 437940 0 10448 23972
-/+ buffers/cache: 32788 472360
Swap: 916472 0 916472
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 23580 1816 ? Ss 21:22 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 21:22 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 21:22 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 21:22 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 21:22 0:00 [watchdog/0]
root 6 0.0 0.0 0 0 ? S 21:22 0:00 [migration/1]
root 7 0.0 0.0 0 0 ? S 21:22 0:00 [ksoftirqd/1]
root 8 0.0 0.0 0 0 ? S 21:22 0:00 [watchdog/1]
root 9 0.0 0.0 0 0 ? S 21:22 0:00 [events/0]
root 10 0.0 0.0 0 0 ? S 21:22 0:00 [events/1]
root 11 0.0 0.0 0 0 ? S 21:22 0:00 [cpuset]
root 12 0.0 0.0 0 0 ? S 21:22 0:00 [khelper]
root 13 0.0 0.0 0 0 ? S 21:22 0:00 [netns]
root 14 0.0 0.0 0 0 ? S 21:22 0:00 [async/mgr]
root 15 0.0 0.0 0 0 ? S 21:22 0:00 [pm]
root 17 0.0 0.0 0 0 ? S 21:22 0:00 [sync_supers]
root 18 0.0 0.0 0 0 ? S 21:22 0:00 [bdi-default]
root 19 0.0 0.0 0 0 ? S 21:22 0:00 [kintegrityd/0]
root 20 0.0 0.0 0 0 ? S 21:22 0:00 [kintegrityd/1]
root 21 0.0 0.0 0 0 ? S 21:22 0:00 [kblockd/0]
root 22 0.0 0.0 0 0 ? S 21:22 0:00 [kblockd/1]
root 23 0.0 0.0 0 0 ? S 21:22 0:00 [kacpid]
root 24 0.0 0.0 0 0 ? S 21:22 0:00 [kacpi_notify]
root 25 0.0 0.0 0 0 ? S 21:22 0:00 [kacpi_hotplug]
root 26 0.0 0.0 0 0 ? S 21:22 0:00 [ata/0]
root 27 0.0 0.0 0 0 ? S 21:22 0:00 [ata/1]
root 28 0.0 0.0 0 0 ? S 21:22 0:00 [ata_aux]
root 29 0.0 0.0 0 0 ? S 21:22 0:00 [ksuspend_usbd]
root 30 0.0 0.0 0 0 ? S 21:22 0:00 [khubd]
root 31 0.0 0.0 0 0 ? S 21:22 0:00 [kseriod]
root 32 0.0 0.0 0 0 ? S 21:22 0:00 [kmmcd]
root 35 0.0 0.0 0 0 ? S 21:22 0:00 [khungtaskd]
root 36 0.0 0.0 0 0 ? S 21:22 0:00 [kswapd0]
root 37 0.0 0.0 0 0 ? SN 21:22 0:00 [ksmd]
root 38 0.0 0.0 0 0 ? S 21:22 0:00 [aio/0]
root 39 0.0 0.0 0 0 ? S 21:22 0:00 [aio/1]
root 40 0.0 0.0 0 0 ? S 21:22 0:00 [ecryptfs-kthr]
root 41 0.0 0.0 0 0 ? S 21:22 0:00 [crypto/0]
root 42 0.0 0.0 0 0 ? S 21:22 0:00 [crypto/1]
root 45 0.0 0.0 0 0 ? S 21:22 0:00 [scsi_eh_0]
root 46 0.0 0.0 0 0 ? S 21:22 0:00 [scsi_eh_1]
root 49 0.0 0.0 0 0 ? S 21:22 0:00 [kstriped]
root 50 0.0 0.0 0 0 ? S 21:22 0:00 [kmpathd/0]
root 51 0.0 0.0 0 0 ? S 21:22 0:00 [kmpathd/1]
root 52 0.0 0.0 0 0 ? S 21:22 0:00 [kmpath_handle]
root 53 0.0 0.0 0 0 ? S 21:22 0:00 [ksnapd]
root 54 0.0 0.0 0 0 ? S 21:22 0:00 [kondemand/0]
root 55 0.0 0.0 0 0 ? S 21:22 0:00 [kondemand/1]
root 56 0.0 0.0 0 0 ? S 21:22 0:00 [kconservative]
root 57 0.0 0.0 0 0 ? S 21:22 0:00 [kconservative]
root 249 0.0 0.0 0 0 ? S 21:22 0:00 [jbd2/sda1-8]
root 250 0.0 0.0 0 0 ? S 21:22 0:00 [ext4-dio-unwr]
root 251 0.0 0.0 0 0 ? S 21:22 0:00 [ext4-dio-unwr]
root 293 0.0 0.1 17036 960 ? S 21:22 0:00 upstart-udev-br
root 296 0.0 0.1 17152 952 ? S<s 21:22 0:00 udevd --daemon
root 415 0.0 0.1 17148 876 ? S< 21:22 0:00 udevd --daemon
root 416 0.0 0.1 17148 876 ? S< 21:22 0:00 udevd --daemon
root 432 0.0 0.0 0 0 ? S 21:22 0:00 [kpsmoused]
root 477 0.0 0.0 0 0 ? S 21:22 0:00 [usbhid_resume]
syslog 638 0.0 0.3 126220 1868 ? Sl 21:22 0:00 rsyslogd -c4
root 642 0.0 0.5 49260 2596 ? Ss 21:22 0:00 /usr/sbin/sshd
root 693 0.0 0.1 11284 628 ? Ss 21:22 0:00 /usr/sbin/irqba
daemon 695 0.0 0.0 18884 468 ? Ss 21:22 0:00 atd
root 696 0.0 0.1 21076 916 ? Ss 21:22 0:00 cron
root 700 0.0 0.1 6080 656 tty1 Ss+ 21:22 0:00 /sbin/getty -8
root 701 0.0 0.3 52100 1576 ttyS0 Ss 21:22 0:00 /bin/login --
hoge 758 0.0 0.6 20076 3332 ttyS0 S+ 21:22 0:00 -bash
root 805 0.0 0.6 70620 3244 ? Ss 21:24 0:00 sshd: hoge [pri
hoge 821 0.0 0.3 70620 1620 ? S 21:24 0:00 sshd: hoge@pts/
hoge 822 0.0 0.6 20108 3392 pts/1 Ss 21:24 0:00 -bash
hoge 987 0.0 0.2 15520 1212 pts/1 R+ 22:33 0:00 ps aux
|
Ubuntu 14では、以下のようなメモリになりました。
[設定前]
$ free
total used free shared buffers cached
Mem: 1017780 397208 620572 376 15296 318080
-/+ buffers/cache: 63832 953948
Swap: 1045500 0 1045500
|
[設定後]
$ free
total used free shared buffers cached
Mem: 1017780 201424 816356 356 11152 150264
-/+ buffers/cache: 40008 977772
Swap: 1045500 0 1045500
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.2 33492 2740 ? Ss 16:26 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 16:26 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 16:26 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S 16:26 0:00 [kworker/0:0]
root 5 0.0 0.0 0 0 ? S< 16:26 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 16:26 0:00 [kworker/u4:0]
root 7 0.0 0.0 0 0 ? R 16:26 0:00 [rcu_sched]
root 8 0.0 0.0 0 0 ? S 16:26 0:00 [rcuos/0]
root 9 0.0 0.0 0 0 ? S 16:26 0:00 [rcuos/1]
root 10 0.0 0.0 0 0 ? S 16:26 0:00 [rcu_bh]
root 11 0.0 0.0 0 0 ? S 16:26 0:00 [rcuob/0]
root 12 0.0 0.0 0 0 ? S 16:26 0:00 [rcuob/1]
root 13 0.0 0.0 0 0 ? S 16:26 0:00 [migration/0]
root 14 0.0 0.0 0 0 ? S 16:26 0:00 [watchdog/0]
root 15 0.0 0.0 0 0 ? S 16:26 0:00 [watchdog/1]
root 16 0.0 0.0 0 0 ? S 16:26 0:00 [migration/1]
root 17 0.0 0.0 0 0 ? S 16:26 0:00 [ksoftirqd/1]
root 19 0.0 0.0 0 0 ? S< 16:26 0:00 [kworker/1:0H]
root 20 0.0 0.0 0 0 ? S< 16:26 0:00 [khelper]
root 21 0.0 0.0 0 0 ? S 16:26 0:00 [kdevtmpfs]
root 22 0.0 0.0 0 0 ? S< 16:26 0:00 [netns]
root 23 0.0 0.0 0 0 ? S< 16:26 0:00 [writeback]
root 24 0.0 0.0 0 0 ? S< 16:26 0:00 [kintegrityd]
root 25 0.0 0.0 0 0 ? S< 16:26 0:00 [bioset]
root 26 0.0 0.0 0 0 ? S< 16:26 0:00 [kworker/u5:0]
root 27 0.0 0.0 0 0 ? S< 16:26 0:00 [kblockd]
root 28 0.0 0.0 0 0 ? S< 16:26 0:00 [ata_sff]
root 29 0.0 0.0 0 0 ? S 16:26 0:00 [khubd]
root 30 0.0 0.0 0 0 ? S< 16:26 0:00 [md]
root 31 0.0 0.0 0 0 ? S< 16:26 0:00 [devfreq_wq]
root 32 0.0 0.0 0 0 ? S 16:26 0:00 [kworker/1:1]
root 34 0.0 0.0 0 0 ? S 16:26 0:00 [khungtaskd]
root 35 0.0 0.0 0 0 ? S 16:26 0:00 [kswapd0]
root 36 0.0 0.0 0 0 ? SN 16:26 0:00 [ksmd]
root 37 0.0 0.0 0 0 ? SN 16:26 0:00 [khugepaged]
root 38 0.0 0.0 0 0 ? S 16:26 0:00 [fsnotify_mark]
root 39 0.0 0.0 0 0 ? S 16:26 0:00 [ecryptfs-kthre
root 40 0.0 0.0 0 0 ? S< 16:26 0:00 [crypto]
root 52 0.0 0.0 0 0 ? S< 16:26 0:00 [kthrotld]
root 53 0.0 0.0 0 0 ? S 16:26 0:00 [kworker/u4:1]
root 54 0.0 0.0 0 0 ? S 16:26 0:00 [vballoon]
root 55 0.0 0.0 0 0 ? S 16:26 0:00 [scsi_eh_0]
root 56 0.0 0.0 0 0 ? S 16:26 0:00 [scsi_eh_1]
root 58 0.0 0.0 0 0 ? S 16:26 0:00 [kworker/0:1]
root 77 0.0 0.0 0 0 ? S< 16:26 0:00 [deferwq]
root 78 0.0 0.0 0 0 ? S< 16:26 0:00 [charger_manage
root 129 0.0 0.0 0 0 ? S< 16:26 0:00 [kpsmoused]
root 130 0.0 0.0 0 0 ? S 16:26 0:00 [kworker/1:2]
root 138 0.0 0.0 0 0 ? S 16:26 0:00 [jbd2/vda1-8]
root 139 0.0 0.0 0 0 ? S< 16:26 0:00 [ext4-rsv-conve
root 173 0.0 0.0 0 0 ? S< 16:26 0:00 [kworker/u5:2]
root 267 0.0 0.0 19740 912 ? S 16:26 0:00 upstart-udev-br
root 273 0.0 0.1 51248 1604 ? Ss 16:26 0:00 /lib/systemd/sy
message+ 366 0.0 0.1 39216 1272 ? Ss 16:26 0:00 dbus-daemon --s
root 514 0.0 0.1 43452 1780 ? Ss 16:26 0:00 /lib/systemd/sy
syslog 522 0.0 0.1 255844 1396 ? Ssl 16:26 0:00 rsyslogd
root 723 0.0 0.1 15804 1104 ? S 16:26 0:00 upstart-file-br
root 733 0.0 0.0 15524 764 ? S 16:26 0:00 upstart-socket-
root 775 0.0 0.2 61364 3052 ? Ss 16:26 0:00 /usr/sbin/sshd
root 789 0.0 0.0 23656 900 ? Ss 16:26 0:00 cron
root 800 0.0 0.0 15492 948 tty1 Ss+ 16:26 0:00 /sbin/getty -8
root 802 0.0 0.0 12788 848 ttyS0 Ss+ 16:26 0:00 /sbin/getty -L
root 840 0.0 0.4 105628 4240 ? Ss 16:27 0:00 sshd: hoge [pri
root 842 0.0 0.0 0 0 ? S 16:28 0:00 [kauditd]
hoge 859 0.0 0.1 105628 2012 ? R 16:28 0:00 sshd: hoge@pts/
hoge 860 0.0 0.3 22192 3668 pts/0 Ss 16:28 0:00 -bash
hoge 892 0.0 0.1 18120 1308 pts/0 R+ 16:34 0:00 ps aux
|
少しは無駄なメモリは減ったでしょうか。
ざっとですが、こんな感じです。
ここに書いているのは、あくまで必要最小限としての記載ですので、ユーザによっては、もっと、セキュリティ面で強化を図ることもできると思います。
さくらのVPS を試してみたい方は、
http://vps.sakura.ad.jp/からどうぞ。
無料お試し期間は14日です。
コメントを投稿 :