当前位置: > 运维管理 >

服务器防护知识点汇总

时间:2016-06-06 13:27来源:linux.it.net.cn 作者:IT

个人观点:人类社会的一切行为都是逻辑思考的结果,人类社会的一切的行为都遵循一种逻辑。

这两天查看了服务器的log,看到了和这篇帖子(http://www.v2ex.com/t/75094)一样的问题,不断有人来尝试破解登陆服务器。好多人跟帖,有些建议都挺好的,很实在,在这里记录汇总一下。都是干货来着。(鄙人仅仅是整理此文,所论述的观点都来自这些大牛)

1.端口扫描太正常了。

   太正常了,也不是针对你为了什么特殊内容。这也就是批量找肉鸡的。

2.统计来源和次数命令:

 grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | grep -v ";"

3.改什么密码都没意义吧,去掉root的密码登录才正道。

再长的密码也是明文传输,也会被截获。(反:SSH是加密的,除非你手动指定不加密(一般不允许)。正:握手阶段还是明文。反:握手结束后才会传输认证信息,理论上能确认服务器的公钥正确的情况下,无需担心密码被第三方破译。反2:握手阶段又不传密码,只能做中间人攻击,而中间人攻击会改变服务器的签名,客户端直接连不上的。)

4.fail2ban

5. DenyHosts

6.猜密码这种能猜对的概率也太低了吧。。

反:你太忽视一些人爱用用“123abc”做密码的习惯了,并且他们觉得这个密码还不错哦。反:不,概率很高,要是不防护的话,一个10位的密码,没多少天就可以干掉。正:用fail2ban解决暴力破解,你设定成登陆失败3次封锁该IP小时,按RSA的加密等级他得算上好久。

 

7.禁止root登陆 √

    公钥验证登陆 √
    修改SSH默认端口 √
    fail2ban √
    用ufw关闭所有不使用的端口号 √
    自动安装安全更新 √
    Logwatch每天日报 √

 

8.很正常 我用的denyhosts。

我的设置的是只要密码输入错了1次,就直接封禁永久。
还有,如果你的VPS没有重要数据,你可以使用密码登录,否则最好用证书登录。
我的服务器进去了是蜜罐,所以不在乎。禁用 root 登录,采用 sudo 提升权限维护服务器的方法是最好的,但是这全看你个人。

 

9.让他攻击好了,给他个蜜罐,让他什么也得不到

比如:
RKTECH:~# w 
00:33:54 up 5 days, 19:02, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.158.34.148 00:33 0.00s 0.00s 0.00s w
RKTECH:~# uname -a 
Linux RKTECH 2.6.26-2-686 #1 SMP Wed Nov 4 20:45:37 UTC 2009 i686 GNU/Linux
RKTECH:~# php -v 
bash: php: command not found 
RKTECH:~# cat /proc/cpuinfo 
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo CPU E8200 @ 2.66GHz
stepping : 6
cpu MHz : 2133.305
cache size : 6144 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm
bogomips : 4270.03
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Duo CPU E8200 @ 2.66GHz
stepping : 6
cpu MHz : 2133.305
cache size : 6144 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr sse4_1 lahf_lm
bogomips : 4266.61
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

RKTECH:~# ps x 
PID TTY STAT TIME COMMAND
1 ? Ss 0:07 init [2] 
2 ? S< 0:00 [kthreadd]
3 ? S< 0:00 [migration/0]
4 ? S< 0:00 [ksoftirqd/0]
5 ? S< 0:00 [watchdog/0]
6 ? S< 0:17 [events/0]
7 ? S< 0:00 [khelper]
39 ? S< 0:00 [kblockd/0]
41 ? S< 0:00 [kacpid]
42 ? S< 0:00 [kacpi_notify]
170 ? S< 0:00 [kseriod]
207 ? S 0:01 [pdflush]
208 ? S 0:00 [pdflush]
209 ? S< 0:00 [kswapd0]
210 ? S< 0:00 [aio/0]
748 ? S< 0:00 [ata/0]
749 ? S< 0:00 [ata_aux]
929 ? S< 0:00 [scsi_eh_0]
1014 ? D< 0:03 [kjournald]
1087 ? S<s 0:00 udevd --daemon
1553 ? S< 0:00 [kpsmoused]
2054 ? Sl 0:01 /usr/sbin/rsyslogd -c3
2103 tty1 Ss 0:00 /bin/login -- 
2105 tty2 Ss+ 0:00 /sbin/getty 38400 tty2
2107 tty3 Ss+ 0:00 /sbin/getty 38400 tty3
2109 tty4 Ss+ 0:00 /sbin/getty 38400 tty4
2110 tty5 Ss+ 0:00 /sbin/getty 38400 tty5
2112 tty6 Ss+ 0:00 /sbin/getty 38400 tty6
2133 ? S<s 0:00 dhclient3 -pf /var/run/dhclient.eth0.pid -lf /var/lib
4969 ? Ss 0:00 /usr/sbin/sshd: root@pts/0
5673 pts/0 Ss 0:00 -bash
5679 pts/0 R+ 0:00 ps x
RKTECH:~# unset ; rm -rf /var/run/utmp /var/log/wtmp /var/log/lastlog /var/log/messages /var/log/secure /var/log/xferlog /var/log/maillog ; touch /var/run/utmp /var/log/wtmp /var/log/lastlog /var/log/messages /var/log/secure /var/log/xferlog /var/log/maillog ; unset HISTFILE ; unset HISTSAVE ; unset HISTLOG ; history -n ; unset WATCH ; export HISTFILE=/dev/null ; export HISTFILE=/dev/null 
1 w
2 uname -a
3 php -v
4 cat /proc/cpuinfo
5 ps x
6 unset ; rm -rf /var/run/utmp /var/log/wtmp /var/log/lastlog /var/log/messages /var/log/secure /var/log/xferlog /var/log/maillog ; touch /var/run/utmp /var/log/wtmp /var/log/lastlog /var/log/messages /var/log/secure /var/log/xferlog /var/log/maillog ; unset HISTFILE ; unset HISTSAVE ; unset HISTLOG ; history -n ; unset WATCH ; export HISTFILE=/dev/null ; export HISTFILE=/dev/null 
RKTECH:~# (责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容