网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到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登录,查看登录日志的更多相关文章

  1. Linux多电脑ssh免密码登录

    Linux多电脑ssh免密码登录 1.这里拿三台虚拟机举例子.版本为:CentOS7 第一步:;开机,连接. 第二步:确定你的其中一台为主机.(生成公共的密匙). 第三步:目的:创建.ssh文件 命令 ...

  2. Mac下如何连接linux服务器(SSH)-比较好用的SSH工具推荐

    Mac下如何连接linux服务器(SSH) 1.用mac自带终端连接 步骤如下: 打开终端,在顶部shell菜单中选择新建远程连接 在右侧服务器窗口点击+号,添加服务器,输入IP等信息 输入用户名,点 ...

  3. 为Linux服务器的SSH登录启用Google两步验证

    对于Linux服务器而言使用密钥登录要比使用密码登录安全的多,毕竟当前网上存在多个脚本到处进行爆破. 这类脚本都是通过扫描IP端的开放端口并使用常见的密码进行登录尝试,因此修改端口号也是非常有必要的. ...

  4. Windows和Linux下实现ssh免密登录

    ------------恢复内容开始------------ SSH是一种通讯协议,可以实现远程安全登录.可以通过如putty.MobaXterm等工具通过ssh安全登录到虚拟机进行操作. Opens ...

  5. 【原创】Linux基础之SSH秘钥登录

    官方:https://www.ssh.com/ssh/ The SSH protocol uses encryption to secure the connection between a clie ...

  6. Linux学习笔记--SSH免password登录

    须要实现的效果: 有两台server:"192.168.201.236" 和 "192.168.201.237" 须要实现:在server"192.1 ...

  7. Linux服务器安全之用户密钥认证登录

    转自:http://blog.sina.com.cn/s/blog_6561ca8c0102vb0d.html 一. 密钥简介 在Linux下,远程登录系统有两种认证方式:密码认证和密钥认证.密码认证 ...

  8. 服务器使用ssh秘钥登录并禁止密码登录

    问题: 最近在登录服务器的时候,每次都会有提示999+ falied login等字眼,意思就是自己的服务器密码正在被人暴力破解.想象以下,别人有了你的服务器的root登录密码,那么就可以对你的服务器 ...

  9. 【Linux】配置SSH免密登录

    环境说明 假设我们有三台机器分别为bigdata111,bigdata112,bigdata113,三台机器均为centos 7系统. 配置SSH免密登录 (1)利用Xshell的发送键输入到所有会话 ...

  10. Linux机器之间SSH免密钥登录设置

    SSH免密钥登录 私钥:密钥留在本机 公钥:密钥发给其他机 hadoop01 生成密钥: ssh-keygen -t rsa (密钥存放路径:/root/.ssh) id_rsa:私钥 id_rsa. ...

随机推荐

  1. Coursera, Big Data 4, Machine Learning With Big Data (week 3/4/5)

    week 3 Classification KNN :基本思想是 input value 类似,就可能是同一类的 Decision Tree Naive Bayes Week 4 Evaluating ...

  2. 浏览器将URL变成一个屏幕上显示的网页的过程?

    前言 一个浏览器是怎么工作的? 正文 URL变网页过程: 1.浏览器通过http或https协议,向服务端请求页面 2.将请求过来的HEML代码通过解析,构建DOM树 3.计算DOM树上的CSS属性 ...

  3. Lombok插件看法浅谈

    背景 最近接触的几个工程中Lombok插件出现频率比较高,趁机了解一下原理. 简要说明: 受益于JSR 269 API,程序可以在编译阶段对AST进行节点的操作,从而注入相关的功能结点,从而包含在最终 ...

  4. Matcher.replaceFirst(String replacement)

    java.util.regex.Matcher.replaceFirst(String replacement)方法是用来进行字符串的替换操作. public String replaceFirst( ...

  5. python笔记01-05

    作者:Vamei 出处:http://www.cnblogs.com/vamei https://blog.csdn.net/flyfrommath/article/details/77447587 ...

  6. shell编程练习-打印九九乘法表(附:awk编程)

    小练习,仅供参考 shell编写 #!/bin/bash for i in {1..9}do for j in {1..9} do if [ $j -le $i ] ;then echo -ne &q ...

  7. react 常见api 使用(长期更新)

    1.父子通信 1.1 父-子 props 父组件: class myPage extends React.Component { render() { return ( <div> {/* ...

  8. 三, 练习 python索引 (list和tuple)

    (1) 练习 请用索引取出下面list的指定元素: 1, # -*- coding: utf-8 -*- L = [ ['Apple', 'Google', 'Microsoft'], ['Java' ...

  9. JAVA 数组作为方法返回值—返回地址

    package Code411;/*一个方法可以有0,1,多个 参数,但只能有0和1个返回值希望一个方法产生多个结果数据进行返回 数组作为方法的参数,传递进去的是数组的地址值. */public cl ...

  10. 关联管理器(RelatedManager)

    一.class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: 1.一对多 ForeignKey关系的“另一边” ...