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账号, 这个根本解决不了问题的!
第二,有多少人能用证书?因为服务器都不会配置证书登陆的, 比如有些时候服务器比较紧急的事情要登录,根本不会随身携带证书。
你可以写个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账号的主要内容,如果未能解决你的问题,请参考以下文章