全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 5568|回复: 16
打印 上一主题 下一主题

VPS安全设置

[复制链接]
跳转到指定楼层
1#
发表于 2013-4-14 00:27:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
论坛上应该有很多人买VPS来做站,刚买的VPS都需要进行一些必要的安全设置,比如默认的VPS用户名都是root,别有用心的人有时候只要再暴力破解一下你的密码,那么你的VPS就完完全全落入他 的手中,不但有可能泄密,严重的还可能把你整个VPS的数据给破坏掉。所以,刚拿下的VPS有必要进行一些安全设置。

下面以CentOS系统为例:

一、修改SSH端口。默认SSH端口是22,改成其他的端口是很有必要的。

vim /etc/ssh/sshd_config

找到其中的#Port 22,去掉#,修改成Port 你想要的端口号,如3333等系统不容易占用的端口。使用如下命令,重启SSH服务,注:以后都要用新端口登陆。

service sshd restart      ##让新端口配置生效

注:如果是debian或者ubuntu的话则重启命令是:/etc/init.d/ssh restart

二、禁止ROOT登陆

先添加一个新帐号,如tgl,可以输入如下命令:

useradd tgl

给这个新增加的帐号(tgl)设置密码:

passwd ***(你想要的密码)

仍旧是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重启SSH服务。以后,先使用tgl登陆,再su root即可得到ROOT管理权限。一般命令如下:

login as: tgl

tgl@ip password:*****(你刚刚设置的密码)

Last login: 。。。。。。。。。。。。。。。

su root

Password:*********** #注这里输入ROOT的密码

上面这两个是新VPS购买之后的一些常规设置,还有用iptables来限制某个IP的访问,这个就不在这里赘述了,各位可以上搜索引擎搜索下。虽然这里讲的是VPS,但是也适用于独立服务器,当然,如果是虚拟主机那就不在你的控制范围之内,可以忽略本文。还有root密码设置的够复杂的也可以忽略本文。
17#
发表于 2013-4-14 11:39:32 | 只看该作者
我发在其他论坛的一个帖子,没多久被搬到这边来了
16#
发表于 2013-4-14 08:48:37 | 只看该作者
留个记号
15#
发表于 2013-4-14 08:32:13 | 只看该作者
chingwp 发表于 2013-4-14 04:19
不知道,反正我是被爽了。。

你那不定怎么被搞了呢,肯定不是穷举的。这么长的密码稍微复杂一点,估计得破解个N年啊。
14#
发表于 2013-4-14 08:30:56 | 只看该作者
很好很强大啊
13#
发表于 2013-4-14 08:19:05 | 只看该作者
这么强大的教程,楼主真是牛人啊,真的恨你发的太迟了
12#
发表于 2013-4-14 05:34:14 | 只看该作者
使用linode VPS也有好长一段时间了,爱好linux也有很久好久了,自从2004年自己买了笔记本后就尝试安装各种linux发行版,包括FreeBSD这样的unix鼻祖,不过当时仅仅把爱好停留在装系统上面,并没有对linux网络服务器做深入的研究。

很多朋友认为买了vps把系统安装上去,环境搭建好就万事大吉了,实际上并非如此,网络一直是不安全的,我们只能尽我们最大的努力做好基础的安全防护工作,尽可能的减少被攻击的可能,尽量减少非人为因素宕机的可能。


直到自己真正的使用linux服务器后,才系统的对linux进行了学习,我的知识来源主要是鸟哥的linux私房菜基础版第三版以及鸟哥的linux私房菜服务器第三版。以下是我平时维护自己vps以及帮个别朋友维护linux服务器的一点心得,如何做好VPS的基础安全防护?

在linode新手起步教程里,我们学习了如何安装liunx操作系统,重启linode vps,执行一些基本的系统管理任务。现在我们来进一步做好VPS的安全工作,以防非法入侵。您会学习到如何启动防火墙(iptables),设置SSH安全访问密钥,自动ban某些非法ip(Fail2ban)。当然这都是非常基础的安全防护工作。

1、参考linux添加用户useradd命令说明,添加一个普通用户。

比如我在root用户登录的情况下,新增一个laoyi用户:

useradd laoyi

passwd laoyi

就算添加好用户laoyi了,将来你ssh登录系统就可以ssh [email protected]登录系统。

2、客户端生产ssh公钥私钥,配对连接,可参考http://www.linode.im/1573.html,操作成功以后客户端访问服务器端,将不需要输入密码,这样可以减少暴力破解密码工具的可能性。当然您要将您的私钥保护好。

在客户端,执行:ssh-keygen,产生公钥密钥,

将公钥传至服务器端,scp ~/.ssh/id_rsa.pub [email protected]

在服务器端,

mkdir .ssh

mv id_rsa.pub .ssh/authorized_keys

chown -R laoyi:laoyi .ssh
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

3、修改ssh配置,端口。禁止root管理员直接登录linux服务器。root帐号就是玉皇大帝,掌管着linux服务器的生杀大权,如果一不小心误操作,那后果是很严重的,建议添加个普通的linux用户帐号,如果需要用root帐号的时候,su或者sudo可以获得root的管理员权限。另外更重要的是,现在总有些无聊的人猜密码,如果你的root密码设置的过于简单,那被他人用软件猜出root密码的概率较高,不幸中弹,基本你的linux服务器就毁了。。

vi /etc/ssh/sshd_config,将端口默认的22改成其他端口;

将密码认证设置成NO:PasswordAuthentication no;

同时将root直接登录系统取消:PermitRootLogin no

重启ssh服务:/etc/init.d/sshd restart

4、chattr +i /etc/passwd; chattr +i /etc/shadow,避免root密码被篡改。

5、chattr +a /var/log/messages,让系统日志只能增加数据,而不能删除也不能修改数据。

6、建立脚本做好重要数据的md5校验指纹比对(初期可不考虑)。

7、设置简易iptables防火墙,开启iptables防火墙进行软防。很多vps厂家为了减少成本,比如linode是裸机,本身是没有任何硬件防护的,此时iptables软防就特别重要,建议把不用的端口服务都禁掉。

看看iptables是否开启,默认防火墙规则都是空的,也就是不管事的。

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

需要我们自己建立防火墙规则:

vi /etc/iptables.firewall.rules

*filter

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

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

#  Allow all outbound traffic – you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

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

#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state –state NEW –dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT

#  Log iptables denied calls
-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

以上防火墙规则只开启了http(80端口),https(443端口),ssh(22端口),根据您的服务器开启服务情况,请自己修改防火墙规则。

让防火墙规则生效:iptables-restore < /etc/iptables.firewall.rules

然后再查看防火墙是否生效:iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  –  anywhere             anywhere
REJECT     all  –  anywhere             127.0.0.0/8         reject-with icmp-port-unreachable
ACCEPT     all  –  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  –  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  –  anywhere             anywhere            tcp dpt:https
ACCEPT     tcp  –  anywhere             anywhere            state NEW tcp dpt:ssh
ACCEPT     icmp –  anywhere             anywhere            icmp echo-request
LOG        all  –  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: ‘
REJECT     all  –  anywhere             anywhere            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  –  anywhere             anywhere            reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  –  anywhere             anywhere

接下来我们需要设置下只要开机防火墙就开启服务:

cd /usr/local

mkdir virus

vi firewall

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

chmod +x firewall

vi /etc/rc.d/rc.local

/usr/local/virus/firewall

8、安装配置Fail2Ban,

Fail2Ban可以阻挡字典攻击您的服务器,当Fail2Ban检测到同一个ip企图攻击您的服务器,他将创建临时的防火墙规则来阻挡这些ip地址,Fail2Ban可以监控SSH,HTTP,SMTP等,默认情况下,Fail2Ban只监控SSH。具体安装Fail2Ban,以及配置,将在下篇专门讲解。
11#
发表于 2013-4-14 04:19:05 | 只看该作者
Ruclinux 发表于 2013-4-14 02:15
什么字典这么厉害? 枚举这么多位数的密码得需要多长的时间呀.

不知道,反正我是被爽了。。
10#
发表于 2013-4-14 02:15:09 | 只看该作者
chingwp 发表于 2013-4-14 02:03
建议,我有次设置了25位的一样被爽

什么字典这么厉害? 枚举这么多位数的密码得需要多长的时间呀.
9#
发表于 2013-4-14 02:07:02 来自手机 | 只看该作者
不错,好贴啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-24 16:08 , Processed in 0.073128 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表