限制服务器ssh登录及防御措施
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:allow
sshd: 202.114.23.45:allow
sshd: 211.67.67.89:allow
然后修改/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