<b>SSh登陆失利的日记查看与攻击预防</b>[Linux安全]
本文“<b>SSh登陆失利的日记查看与攻击预防</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
之前因为服务器里没有什么重要的东西,也就一向没有关注过登陆日记,方才在配置ssh chroot呈现错误是才去看的auth.log,记得这个文件就是个登陆日记,并且我之前无意查看时都很少内容,所以就直接cat查看了,谁知道竟然是满屏满屏的,"Failed password for root XXX.XXX.XXX.XXX",等了将近一分钟仍旧不见底,最后只好Ctrl+c提早完毕,然后写条号令了下,看看毕竟有多少个IP在暴利破解我的root:
grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
号令很简单,也就不过量做注释了,直接看看后果:
4540 86.122.189.166
855 61.1.84.12
576 61.164.145.33
304 184.32.139.224
284 200.195.151.82
222 110.234.129.177
210 200.62.142.142
202 213.152.176.153
202 129.121.32.94
42 122.228.197.134
38 119.161.145.215
30 79.174.68.97
15 82.166.223.235
13 76.28.73.184
1 119.68.246.2
最多的4000多次,还行,预计离解出我的密码还有段距离,但是为了防备未然,也让我的auth.log文件能清净一些,干脆就加些防备办法.
至于预防办法到时多种多样,我这里说几种我方才尝试过的,大概尝试了放弃的
1、改正SSh端口,禁止root登陆
这个对比简单,只需求改正/etc/ssh/sshd_config文件就行了
sudo vi /etc/ssh/sshd_config
Port 4484
#这里就该为你认为别人猜不到的端口号
PermitRootLogin no
#这里改成no即为禁止root登陆
最后保存,重启
sudo /etc/init.d/ssh restart
2、禁用密码登陆,仅用证书密钥登陆
在客户端生成密钥
ssh-keygen -t rsa
把公钥拷贝至服务器
ssh-copy-id -i .ssh/id_rsa.pub server
也可以手动将.shh/id_rsa.pub拷贝至服务器用户目录的.ssh中,记得改正拜候权限
scp .shh/id_rsa.pub server:~/.ssh
在服务器中
cd ./.ssh/
mv id_rsa.pub authorized_keys
chmod 400 authorized_keys
最后改正/etc/ssh/sshd_config
RSAAuthentication yes
#RSA认证
PubkeyAuthentication yes
#开启公钥考证
AuthorizedKeysFile .ssh/authorized_keys
#考证文件途径
PasswordAuthentication no
#禁止密码认证
PermitEmptyPasswords no
#禁止空密码
UsePAM no
#禁用PAM
最后保存,重启
sudo /etc/init.d/ssh restart
3、安装denyhosts
这个办法对比省时省力,这个小工具当今各个发行版软件库里基本都有,并且也不需求过量配置,傻瓜易用.
这里简单说下几个主要发行版的安装办法
Debian/Ubuntu:
sudo apt-get install denyhosts
Archlinux
yaourt denyhosts
ReHaT/Centos
yum install denyhosts
Gentoo
emerge -av denyhosts
这个工具默许配置就可以很好的工作,如要本性化设置请自行改正/etc/denyhosts.conf
SECURE_LOG = /var/log/auth.log
#ssh 日记文件,它是按照这个文件来判断的.
HOSTS_DENY = /etc/hosts.deny
#掌握用户登陆的文件
PURGE_DENY =
#过量久后排除已经禁止的
BLOCK_SERVICE = sshd
#禁止的服务名
DENY_THRESHOLD_INVALID = 5
#答应无效用户失利的次数
DENY_THRESHOLD_VALID = 10
#答应普通用户登陆失利的次数
DENY_THRESHOLD_ROOT = 1
#答应root登陆失利的次数
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts
#运行目录
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
#能否举行域名反解析
LOCK_FILE = /var/run/denyhosts.pid
#程序的进程ID
ADMIN_EMAIL = root@localhost (可以将这里改成常用的邮箱)
#管理员邮件地址,它会给管理员发邮件
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
以上是“<b>SSh登陆失利的日记查看与攻击预防</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |