ssh限制IP登陆及改端口安全设置教程

一、ssh安全设置

1. 修改ssh服务的默认端口。
ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口。所以第一步就是修改这个默认端口
打开/etc/ssh/sshd_config,找到
Port 22
然后将22修改为其它没有被占用的端口,如1022。最好在1-1024之间,防止与用户进程端口冲突。
然后重启sshd即可
sudo /etc/init.d/ssh restart

最后sshd重启
 /bin/systemctl restart sshd.service

2. 限制IP
首先修改/etc/hosts.allow文件,将可访问服务器ssh服务的客户IP加入其中,格式如下
sshd:192.168.1.0/255.255.255.0
sshd: 202.114.23.45
sshd: 211.67.
然后修改/etc/hosts.deny文件,加入禁用其它客户连接ssh服务
sshd: ALL

3.升级服务器
矛与盾的故事永远没有结局,经常升级服务器是必备的(centos 用yum update 升级)
apt-get update
apt-get dist-upgrade

二.检查登录日志

不怕一万,就怕万一,没有攻不破的城堡,有些小偷可能是小白,或者来也匆匆,去也匆匆,在服务器上做完坏事没有擦除痕迹,所以经常检查登录日志,也是一种安全手段.

linux下登录日志一般在下面的目录里: /var/log。如果在ssh的配置文件里(一般在/etc/ssh/sshd_config)和syslog配置文件中对日志文件做过定制的话那么需要根据具体情况定位日志文件.
Ubuntu 16.04 /var/log/secure 已经不存在了,选择改为在/var/log/auth 里面了

less secure 可以看到登陆的情况
lastb  查看登陆失败的记录
last  查看检查近登陆的记录
less  查看ssh用户的登录日志。
who  查看utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。
w  查看utmp文件并显示当前系统中每个用户和它所运行的进程信息。
users 用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。

下面是一些常用的日志文件如下:

utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键–保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。

access-log 纪录HTTP/web的传输

acct/pacct 纪录用户命令

aculog 纪录MODEM的活动

btmp 纪录失败的纪录

lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录

messages 从syslog中记录信息(有的链接到syslog文件)

sudolog 纪录使用sudo发出的命令

sulog 纪录使用su命令的使用

syslog 从syslog中记录信息(通常链接到messages文件)

utmp 纪录当前登录的每个用户

wtmp 一个用户每次登录进入和退出时间的永久纪录

xferlog 纪录FTP会话

https://www.188vpn.com/blog/28502017/