VPS安全設置記錄

新購入了五美元每月的DigitalOcean VPS,這次做了點VPS安全設置,如果設置好,可以看Debian 源安裝 NGINX+PHP+MYSQL安裝環境

修改 SSH 默認端口

1
vi /etc/ssh/sshd_config

將Port 22改為其他端口

禁止 root 帳號 SSH 登錄
先新建一個普通帳號

1
useradd demo

設置密碼

1
passwd demo
1
vi /etc/ssh/sshd_config

將 PermitRootLogin 的值改為 no
使用時su 成 root再執行

限制賬號多重登陸

1
vi /etc/security/limits.conf

加入如下配置

1
*               hard    maxlogins       2

防 ping
# 禁止 ping

1
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

# 允許 ping

1
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

重啟sshd服務

1
service sshd restart

1
/etc/init.d/ssh restart

參考:http://blog.onens.com/vps-security-setting.html

LNMP環境源安裝web.py

空余時間想測試個web.py,經過多次搜索終于成功運行web.py,過程如下:
在已有LNMP環境下(如果還沒有裝好環境,可參考Debian 源安裝 NGINX+PHP+MYSQL

安裝Web.py

1
2
3
4
5
apt-get install python-setuptools
easy_install flup
easy_install web.py
easy_install Jinja2
easy_install MySQL-python

配置Web.py

1
mkdir -p /home/www/jymmbb

繼續閱讀

LNMP環境源安裝Memcached緩存

前篇寫了Debian 源安裝 NGINX+PHP+MYSQLDebian 源安裝 NGINX+PHP+MYSQL,今天又加了Memcached緩存,具體步驟如下:

安裝Memcached

1
apt-get install memcached php5-memcache

memcached沒有內置的安全驗證機制(為了不影響速度),這意味著所有的機器都能通過此端口使用它。因此此步驟可以增強其安全性。但是可以忽略

vi /etc/memcached.conf找到下面一段
Specify which IP address to listen on……
添加

1
-l 127.0.0.1

重啟memcached服務

1
/etc/init.d/memcached restart

重啟PHP

1
2
killall -9 php5-cgi
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u www-data -g www-data -f /usr/bin/php5-cgi

Debian 源安裝 NGINX+PHP+MYSQL

之前在Linode上一直用LNMP的一鍵安裝包,這次改用阿里云,試下通過源安裝LEMP環境,記錄下安裝過程。(VPS安全設置記錄)

創建screen會話,執行

1
screen -S lemp

如果screen命令不存在,執行

1
apt-get install screen

如果網絡掉線,重新連接,執行

1
screen -r lemp

修改源文件
在原有源的基礎上加入新的源

1
vi /etc/apt/sources.list

在文件底部加入如下內容:

1
2
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all

增加新加源的證書

1
2
wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -

刪除不用組件

1
apt-get --purge -y remove apache2-* bind9-* xinetd samba-*

更新源數據

1
2
apt-get update
apt-get upgrade

安裝Nginx

1
apt-get install nginx

繼續閱讀

Linode VPS 使用記錄

最近從QuickWeb VPS搬到了Linode VPS,選的是日本線路,環境直接用了LNMP一鍵安裝。

讓lnmp能用mail()函數來發郵件
LNMP0.9默認安裝完,是不能用mail()函數來發郵件的,需手動安裝。

1
2
3
4
apt-get install sendmail
chkconfig sendmail
/etc/init.d/sendmail start
/root/lnmp restart

如果還是不行,可以試試修改php.ini,找到mail部分的設置,將下面這個參數設置下即可:

1
sendmail_path = /usr/sbin/sendmail -t -i

LNMP 0.9禁用了部分存在危險的PHP函數
如果引起DiscuzX 通信失敗或通過Socket連接SMTP無法發送郵件或wordpress Akismet 無法工作,則可以/usr/local/php/etc/php.ini 查找disable_functions,將這pfsockopen、fsockopen scandir 3個函數從禁用列表里刪除。

如果想完全刪掉禁用列表里的函數可以執行:

1
sed -i 's/disable_functions =.*/disable_functions =/g' /usr/local/php/etc/php.ini

然后執行

1
/etc/init.d/php-fpm restart

重啟后即可。
繼續閱讀