Linux服务器SSH防止被黑客攻击,保护root账号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux服务器SSH防止被黑客攻击,保护root账号相关的知识,希望对你有一定的参考价值。

在一分钟内检测SSH登陆失败的情况, 如果是同一个IP地址的登陆次数找过三次,那么就封锁这个IP地址,静止登陆服务器,大家可以找一个VMWARE的虚拟机试试效果。程序在百度
有试用期的口令,就是me的百度网名
http://pan.baidu.com/s/1i3qRP0T
百试不爽,这个程序只能试用一个小时哦
还是补充下问题,现在有很多的服务器都被黑客穷举扫描口令的,这个程序就是根据了这个现象来保护服务器的SSH登陆,比如, 在一分钟内,如果某一个IP地址登陆服务器的失败次数已经超过了3次,那么就会判定为非法的登陆, 程序也就会自动的使用iptables封锁这个IP地址, 不会让登陆SSH的端口了。在百度下载一下这个程序, 放到linux服务器上后, 首先要加上执行的权限 chmod a+x Lgon-Super-Firewal , 然后执行,就要求输入口令的。
在运行的时候, 大家可以看下运行的日志。如果觉得好的话, 就顶啊!

    可以禁止root远程登录,然后新建个账户(不常用的账户名),然后用该用户su切换到root。

    可以用证书来认证

追问

第一,禁止root账号登陆, 那么系统总会让一个账号登陆, 有查看过你的服务器登陆情况吗?里面包含了无数的猜测账号!也就是,黑客探测root不成功,那么会探测apache, bin这些账号,甚至是其他不存在的账号!所以,你说的禁用root账号, 这个根本解决不了问题的!
第二,有多少人能用证书?因为服务器都不会配置证书登陆的, 比如有些时候服务器比较紧急的事情要登录,根本不会随身携带证书。

参考技术A 防黑技术哪家强?
你可以写个shell脚本监控多次ssh登陆失败的用户加入黑名单,用zabbix监控日志进行实时告警。
参考技术B 楼主写了个很简单的程序,并且以为自己很NB,然后强行到这里秀优越,也是够了. 参考技术C 楼主,你这个问题,上次在百度知道上写过,好像后来失效了.
祝你这次好运.追问

是啊!不过也更新了程序了, 大家都可以实施效果的。找个虚拟机的吧。
里面可以试用一个小时。

追答

我用的是楼上改端口的方法,基本没有受到攻击.

追问

嗯, 这个也是可以的, 但是,对于外面的暴力攻击, 这个绝对不是有效的办法的。明白吗?
所以这个程序才是王道

追答

好吧.如果将来需要也按你的思路写一个一样的.

追问

想写一样的?恐怕很难做到啊!呵呵
兄弟, 不介意的话就多多帮我转下啊

追答

这个不敢转,违规啊.
不过,我改了端口,并禁止root登录,并且装了防端口扫描工具.
加起,应该很安全了吧?

追问

一样不安全!黑客如果扫描root不成功, 那么就会尝试扫描其它的账户的!不信看看服务器的SSH日志就知道了。通常会扫描root, apache , bin这些账户的
不过, 黑客也不会用那些普通的端口扫描,自动telnet端口就行了!端口改了也无用的!明白吗?所以还是我的这个程序。下载过了吗?可以试用一个小时

追答

你帮忙攻击一下我的服务器测试一下吧.如果发现问题告诉我,别给黑了啊
lihaitao.cn

没有人攻击,下载了也看不出效果来.

追问

嗯!好啊, 看下me网名啊!

追答

你的网名是Q啊.

追问

正确的,刚才已经对给出的网站做了探测了, 要不要把结果公布到这里?稍后看下服务器的SSH就知道了?
看下ni的防止端口扫描是否生效!!!

追答

没有在我的服务器上看到你留下的信息.
你发现了什么私信给我,对照一下.

追问

别了,直接加 不行吗??

追答

我们没有你们幸福,公司里Q之类的上不了.
上网都是通过公司的代理,在严格的监控之类.

追问

参考技术D 你这个办法只是最简单的办法啊
创新点在哪呢?追问

不是最简单的办法, 是最有效的办法!
创建点在哪里?是什么意思?
建议你还是先下载我的这个程序去看看吧

追答

懒得看,SElinux什么的有成熟的防黑客手段
我不信你做的比它还好?
你整个程序设计的思路不就是大家都能想到的吗,有什么特别的

追问

关键是selinux有多少人会用?配置不当的话, 会导致什么后果, 你知道吗???
别狡辩了

Linux服务器限制ssh登录,查看登录日志

网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到root权限。有几个简单的防御措施:

1. 修改ssh服务的默认端口

ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口。所以第一步就是修改这个默认端口
打开/etc/ssh/sshd_config,找到
Port 22
然后将22修改为其它没有被占用的端口,如1022。最好在1-1024之间,防止与用户进程端口冲突。
然后重启sshd即可
sudo /etc/init.d/ssh restart

2. 限制IP

首先修改/etc/hosts.allow文件,将可访问服务器ssh服务的客户IP加入其中,格式如下
sshd:192.168.1.0/255.255.255.0
sshd: 202.114.23.45
sshd: 211.67.67.89
然后修改/etc/hosts.deny文件,加入禁用其它客户连接ssh服务
sshd: ALL

3.升级服务器

矛与盾的故事永远没有结局,经常升级服务器是必备的
apt-get update
apt-get dist-upgrade

4.检查登录日志

不怕一万,就怕万一,没有攻不破的城堡,有些小偷可能是小白,或者来也匆匆,去也匆匆,在服务器上做完坏事没有擦除痕迹,所以经常检查登录日志,也是一种安全手段
more /var/log/secure // 新版的Ubuntu都没有这个文件了
who /var/log/wtmp

干了些什么?
root账户下输入su - username
切换到username下输入
history
能看到这个用户历史命令,默认最近的1000条

5、在终端中查看日志

dmesg的命令显示Linux内核的消息缓冲器,其被存储在存储器中。运行这个命令,你会得到很多的输出。
要过滤此输出并搜索你感兴趣的消息,你可以将使用管道grep:

dmesg | grep something
你还可以将dmesg命令的输出管道用less,这样可以按照你自己的速度滚动浏览消息。要退出less,请按Q。

dmesg | less

如果一个grep搜索产生大量的结果,你可以将其输出管道用less:
dmesg | grep something | less
除了在任何文本编辑器中打开位于/var/log中的日志文件之外,还可以使用cat命令将日志(或任何其他文件)的内容打印到终端:

cat /var/log/syslog
像上面的dmesg命令一样,这将产生大量的输出。你可以使用grep和less命令来处理输出:

grep something /var/log/syslog
less /var/log/syslog
其他有用的命令包括头和尾命令。头打印文件中的前n行,而尾部打印文件中的最后n行,如果要查看最近的日志消息,则tail命令特别有用。

head -n 10 /var/log/syslog
tail -n 10 /var/log/syslog

某些应用程序可能不会写入系统日志,并且可能会产生自己的日志文件,你可以使用相同的方式进行操作,通常也可以在/var/log目录中找到它们。例如,Apache Web服务器创建一个包含其日志的/var/log/apache2目录。

6、常用日志目录代表的意思

=> /var/log/messages:常规日志消息
=> /var/log/boot:系统启动日志
=> /var/log/debug:调试日志消息
=> /var/log/auth.log:用户登录和身份验证日志
=> /var/log/daemon.log:运行squid,ntpd等其他日志消息到这个文件
=> /var/log/dmesg:Linux内核环缓存日志
=> /var/log/dpkg.log:所有二进制包日志都包括程序包安装和其他信息
=> /var/log/faillog:用户登录日志文件失败
=> /var/log/kern.log:内核日志文件
=> /var/log/lpr.log:打印机日志文件
=> /var/log/mail.:所有邮件服务器消息日志文件
=> /var/log/mysql.
:MySQL服务器日志文件
=> /var/log/user.log:所有用户级日志
=> /var/log/xorg.0.log:X.org日志文件
=> /var/log/apache2/:Apache Web服务器日志文件目录
=> /var/log/lighttpd/
:Lighttpd Web服务器日志文件目录
=> /var/log/fsck/*:fsck命令日志
=> /var/log/apport.log:应用程序崩溃报告/日志文件
=> /var/log/syslog:系统日志
=> /var/log/ufw:ufw防火墙日志
=> /var/log/gufw:gufw防火墙日志

使用tail,more,less和grep命令。

tail -f /var/log/apport.log
more /var/log/xorg.0.log
cat /var/log/mysql.err
less /var/log/messages
grep -i fail /var/log/boot

以上是关于Linux服务器SSH防止被黑客攻击,保护root账号的主要内容,如果未能解决你的问题,请参考以下文章

你的服务器是否被攻击过,这里教你一些简单的配置防止被攻击!

ssh登录

SQL服务器怎样做才能防止黑客攻击?

Linux系统防火墙防止DOS攻击

Linux服务器限制ssh登录,查看登录日志

Redis未授权访问漏洞