网络上的服务器很容易受到攻击,最惨的就是被人登录并拿到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
who /var/log/wtmp
最后一直使用了who /var/log/wtmp语句 ,才得到了我想要的数据,如下:
因为我这里只是做简单的演示,就直接使用root账号进行登录了。
root@MRtancp:~# who /var/log/wtmp
root tty1 2018-10-07 13:00
root pts/0 2018-10-29 17:12 (117.136.32.98)
root pts/1 2018-10-29 17:16 (117.136.32.98)
root pts/2 2018-10-29 17:16 (117.136.32.98)
root pts/3 2018-10-29 17:17 (117.136.32.98)
root pts/4 2018-10-29 17:17 (117.136.32.98)
root pts/5 2018-10-29 17:17 (117.136.32.98)
root pts/6 2018-10-29 17:17 (117.136.32.98)
root pts/7 2018-10-29 17:17 (117.136.32.98)
root pts/8 2018-10-29 17:21 (117.136.32.98)
root pts/9 2018-10-29 17:21 (117.136.32.98)
root pts/10 2018-10-29 17:21 (117.136.32.98)
root pts/11 2018-10-29 17:21 (117.136.32.98)
root pts/12 2018-10-29 17:22 (117.136.32.98)
root pts/13 2018-10-29 17:27 (117.136.32.98)
root@MRtancp:~#
以上是我使用本地的ssh远程登录的阿里云服务器获得记录的通,因为重复关掉重新连接了很多次,貌似确实能够记录了,每次的登录服务器的ssh名字,登录的时间和对应的终端的ip。 那接下来简单的介绍下ttyX ,和ptsX的意思了:
tty[1-6]就是你用ctr+alt+f[1-6]所看到的那个终端; 即虚拟控制台。另外tty7是表示图形界面,就是我们当前登录的是GNOME,当然就是图形界面了,而服务器上就只有命令行界面了。
(另外 :tty1-tty6表示文字界面,可以用Ctrl+Alt+F1-F6切换,+F7就是切换回图形界面。)
下面两行说明我当前打开了两个终端窗口,所以就有pts/0和pts/1其他的是外部终端和网络终端。
pts/*为伪(虚拟)终端, 其中pts/0,1,2...在桌面Linux中是标准输入,标准输出,标准出错。
另外我们也能简单的看一下这个账号登录干了些什么? root账户下输入su - username 切换到username下输入 history 能看到这个用户历史命令,默认最近的1000条