2018年12月

这段时间在捣鼓tars框架,去vultr开了个3.5刀的机器,为什么要用他们家的呢,因为之前冲的50刀没用完😂无奈呀

他家的机器对湖北电信非常不友好,创建必须要装bbr不然丢包够你受的,加大发包量,用的还挺爽的

这两天空闲了下,上线登陆发现有1w+的暴力登陆!!!

wtf!

network-attacks.png

第一次感受到这么泛滥的网络攻击,今天简单介绍一下修改sshd监听端口防范暴力破解

这里我开始就把selinux关掉了,你可以选择关闭selinux,因为会少很多麻烦事,当然也会产生隐形的问题,不过利大于弊

系统版本

  • 发行版: CentOS Linux release 7.5.1804 (Core)
  • 内核: kernel-ml-4.19.6-1.el7.elrepo.x86_64

起步

  1. 检查selinux的开启状态

    $ /usr/sbin/sestatus -v
    # 看到disabled说明是关闭的,直接看第三步
  2. 关闭selinux

    # 临时关闭(推荐)
    $ setenforce 0
    # 永久关闭
    $ vim /etc/selinux/config
    # 修改为SELINUX=disabled,注意这里需要重启生效
  3. 查询端口是否开放
    最近招商银行的保险推销电话太嚣张了,一个星期内每天两次,大家记住10105555,这里鞭尸他们做例子(真正的可用端口一般只有1024-65535,这里用作替代例子)

    $ firewall-cmd --permanent --query-port=10105555/tcp
    no
    # 是no我们就需要自行添加,yes可以直接忽略掉
  4. 添加端口

    $ firewall-cmd --permanent --add-port=10105555/tcp
    success
    # 一般情况肯定打印success,出错了检测firewall服务运行没,或者端口是否已添加
  5. 重载防火墙

    $ firewall-cmd --reload
    success
  6. 再次查询端口是否开放(回到第三步)
  7. 修改ssh端口

    #修改sshd端口, 这里使用`vim`,可以根据个人喜好使用其他的编辑器
    $ vim /etc/ssh/sshd_config
  8. 编辑sshd_config

    #最好先把**22端口**开着,避免另一个端口无法登录的尴尬😅
    Port 22
    Port 自定义端口
    
    #这里我们顺便吧免密码登录打开
    #RSAAuthentication yes #具体不作详细解释,使用的是ssh2版本协议请关掉
    #PubkeyAuthentication yes #默认开启
    AuthorizedKeysFile      .ssh/authorized_keys
  9. 重启一下sshd服务登录试试

    $ systemctl restart sshd
  10. 找一个支持ssh协议的客户端来连接刚刚设置的服务器,如果你有终端按照下面方法连接,输入密码完事

    $ ssh -p 自定义端口 用户名@服务器地址
    用户名@服务器地址's password:

题外话

开启ssh免密码登录

#最好不要输密码,用着会相当麻烦,2048位的大数分解应该没人能普普通通的算出来吧
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
输入要保存的密钥文件 (/Users/flxxyz/.ssh/id_rsa): 
输入密码 (empty for no passphrase):
再次输入相同的密码:

#出现下面界面密钥生成好了
The key's randomart image is:
+---[RSA 2048]----+
|+o+B#Bo.o        |
| =o#BEoo .       |
|  &oX+. +        |
| = *.*   =       |
|.   *   S .      |
|   +             |
|  .              |
|                 |
|                 |
+----[SHA256]-----+

类unix用户复制公钥内容,windows用户可以用git-bashC:\Users\你的用户名\.ssh\id_rsa.pub查找复制内容

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCv14bqlJrTAlKJ3H9C3GnzsJ46jCS9jvDjXu70LU4i6AsbHgrH/sS5xAPGxKXE9BSMIabB9XdpEAWjq/qpX6A7acU2LXFxGpjDo1hxNZObNawiVm0n2CoGgGuoD3N+2ZTra03i6b12YNbS6iMdZc3KX1qtRSXw1A5SygWmB7vnlx2n9umcdEutdcUkBP3BLJLpppM0jDU64vAxhnxxJTojwQKc7pAILLvw0IiIyLY37v4CBOq8GtPejy1yShZUd99c883xd80LewO69utA5oRB0419tfMn/A9kK2bt+b0H5QbI/aS0sXbfdhusOQUq0CuU8V5rbwJz38o8Nseet4TJ flxxyz@macos.home

连接到服务器

$ ssh -p 端口 用户名@服务器地址
用户名@服务器地址's password:

进来就在此处不要走动,我去买两个橘子,呸,新建一个文件authorized_keys

$ touch .ssh/authorized_keys

#把刚刚复制的公钥内容写入文件里,保存!
$ vim .ssh/authorized_keys

#这里确保文件的读取权限问题,设置成这样
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys

# 这里重启一下sshd服务(其实我们刚刚在正文重启过了)
$ systemctl restart sshd

来测试一下无密码连接到服务器

$ ssh -i ~/.ssh/id_rsa -p 端口 用户名@服务器地址

没有出现输入密码的提示就是成功了,如果按上面所说的还是无法免密码登录,那就是一些隐藏的“坑”了