为你的VPS进行一些安全设置吧
安全是一个VPS最基本的必备条件,若您的VPS三天两头被人攻破,那么对于网站来说也没什么意义了,所以,在创建了Web服务器之后,您首先要做的事情就是将您的VPS加固,至少让普通黑客没有办法能够攻破您的网站。
用户密码
用户口令是一个非常重要的信息,您在设置您的账户密码时请遵循几点原则来设置:1. 密码不要过于简单,至少要8位以上,且同时拥有大小写字母+数字+特殊字符;2. 密码不要使用统一密码,网站密码一个、VPS密码一个,避免黑客破解其中一个就让您的VPS全盘被破;3. 不要使用生日、电话等个人信息作为密码;4. 定期更换您的密码;5. 不要把您的密码记录在任何别人能够看到的地方,最好记在心里。
删除不使用的用户和用户组
Linux默认自带了一些用户和用户组,而这些用户和用户组在平时我们根本使用不到,所以,删除吧!
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp #若您需要使用匿名FTP请保留此用户,否则删除
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers
root是Linux下权限最大的一个用户,而也是黑客最喜欢的一个用户,若获取到了root权限,则代表了您的VPS完全陷落,所以,将root用户禁止登录SSH,使用另外一个用户来管理您的VPS将是一个很不错的主意。
首先添加一个用户
useradd iw3c #添加一个用户iw3c
设置密码
passwd iw3c
输入两次密码就OK了。
更改SSH端口
vi /etc/ssh/sshd_config
配置如下
Port 12345 #SSH尽量设置大一点
PermitRootLogin no #禁止root登录
X11Forwarding no #禁止X11转发
PermitEmptyPasswords no #禁止空密码登录
AllowUsers iw3c #设置刚才创建的iw3c可以登录
重启下SSH
service sshd restart (/etc/init.d/sshd restart)
限制su命令
vi /etc/pam.d/su
添加如下两行
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=isd
执行
usermod -G10 iw3c
这样就只有iw3c用户可以使用su命令了
注意以上显示su命令的操作只使用于centos6
在centos7中要这样
执行
vi /etc/pam.d/su
然后
#auth required pam_wheel.so use_uid ←找到此行,去掉行首的“#”
Debian中刚装完系统时,先用root安装sudo
apt-get install sudo
有些发行版的sudo提供了sudoedit
,有的则提供了visudo
,功能上基本是一样的。你也可以使用其他编辑器如vi进行编辑/etc/sudoers
,但由于文件是只读的,请强制保存(如w!)或去除只读属性再保存。
前提条件是我新建了一个帐号
useradd iw3c
此时我的帐号和帐号所在的组都是iw3c
查找
root ALL=(ALL) ALL
在下面加入
%iw3c ALL=(ALL) ALL
如果sudo时不想输入密码,可以把上句改成:
%iw3c ALL=(ALL) NOPASSWD: ALL
然後iw3c这个用户就可以用
sudo`了。
然后执行
usermod -G wheel iw3c
禁止Ping
防止别人Ping通自己的服务器是一个很不错的安全设置,运行命令
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
这样别人Ping自己的服务器时就根本无法Ping通了
启用防火墙(Centos6)
您可以通过设置防火墙来关闭一些不必要的端口,而每一个端口的关闭,就意味着您的服务器更加安全一分
首先清空原有防火墙规则
#这个一定要先做,不然清空后可能会悲剧
iptables -P INPUT ACCEPT
#清空默认所有规则
iptables -F
#清空自定义的所有规则
iptables -X
#计数器置0
iptables -Z
配置防火墙
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 80,443,11000,12200:12300,20000 -j ACCEPT #允许端口开放
/etc/init.d/iptables save #保存配置规则
service iptables restart #重启防火墙
或者
vi /etc/sysconfig/iptables
打开防火墙配置文件,修改成如下内容
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:168]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m multiport --dports 80,443,11000,12200:12300,20000 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
启用防火墙(Centos7)
1、查看firewalled是否安装
systemctl status firewalld
#如果没有安装,请执行并开启服务
yum install firewalld
systemctl start firewalld
2、执⾏行行命令打开要开放的端⼝口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=10004/tcp --permanent
firewall-cmd --zone=public --add-port=10005/tcp --permanent
firewall-cmd --zone=public --add-port=10006-10105/tcp --permanent
3、重新载⼊服务
firewall-cmd --reload
4、查看已打开的端⼝口情况
firewall-cmd --zone=public --list-ports
5、如果端⼝口开启错误,使⽤用如下命令删除已开放的端⼝口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
启用防火墙(Debian)
1、安装并启用
sudo apt-get install ufw
sudo ufw enable # 启用
sudo ufw disable # 关闭
sudo ufw status # 查看状态
2、开启/禁用相应端口或服务举例
sudo ufw allow 80 # 允许外部访问80端口
sudo ufw delete allow 80 # 禁止外部访问80端口
sudo ufw allow from 192.168.1.1 # 允许此IP访问所有的本机端口
sudo ufw deny smtp # 禁止外部访问smtp服务
sudo ufw delete allow/deny smtp # 删除上面建立的smtp的规则,上面建立的规则为allow,这里就删除allow;为deny,这里就删除deny
sudo ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 22 # 要拒绝所有的TCP流量从10.0.0.0/8 到 192.168.0.1地址的22端口
# 可以允许所有RFC1918网络(局域网/无线局域网)访问这个主机(/8, /12, /16是一种网络分级)
sudo ufw allow from 10.0.0.0/8
sudo ufw allow from 172.16.0.0/12
sudo ufw allow from 192.168.0.0/16
推荐设置
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny
这样设置已经很安全了,如果有特殊需要,可以使用sudo ufw allow
开启相应服务。
使用DDOS deflate抵御DDOS攻击
DDOS deflate并不能完全防御DDOS攻击,这东西是专业的硬件防火墙来干的事情,DDOS deflate只能稍微抵御一点点,但一点点也是防护不是?
http://www.inetbase.com/scripts/ddos/install.sh
chmod +x install.sh
./install.sh
这样DDOS deflate就安装好了,剩下的只需要配置一下
vi /usr/local/ddos/ddos.conf
一般来说只需要修改几个配置
APF_BAN=0 #默认为1,改为0
EMAIL_TO="admin@admin" #这里更改为您的邮箱,被攻击时会有邮件发送给我们
好了,基本的一些简单防护已经完成了,至于其他更高深的就得自己去搜索与加固了!