ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

frp安全设置

2021-06-09 14:02:10  阅读:205  来源: 互联网

标签:主机 端口 局域网 安全 frp ssh 设置 ip 连接


之前我的虚拟机疑似被黑了(https://www.cnblogs.com/CharrammaBlog/p/14846387.html)
于是花时间研究了下怎么做可以让frp连接更加安全。

一、stcp

这是官方提供的方法:
首先配置要暴露的内网主机

########### frpc.ini ###############
[common]
server_addr = x.x.x.x
server_port = 7000

[secret_ssh]
type=stcp
# 只有 sk 一致的用户才能访问到此服务
sk = abcdefg
local_ip = 127.0.0.1
local_port = 22

然后在要连接内网主机的主机(另一个局域网的主机)上也安装frpc,进行配置

[common]
server_addr = x.x.x.x
server_port = 7000

[secret_ssh_visitor]
type = stcp
role = visitor
server_name = secret_ssh
sk = abcdefg
# 绑定本地端口用于访问 SSH 服务
bind_addr = 127.0.0.1
bind_port = 6000

这样做感觉忒麻烦,连接和被连接的主机都要安装frp客户端

二、内网主机加强密码复杂度

先来捋一下整个连接过程:

  1. 内部局域网主机A将自己的ip和ssh服务端口(假设是22)暴露给具有公网ip的主机B
  2. 主机B通过frp服务端开放一个端口(假设是6000)
  3. 外部局域网主机C通过主机B的ip和6000端口连接主机A,实现跟使用主机A的ip和22端口连接主机A一样的效果

所以看起来好像内网的ip和端口没有暴露到外部,实际上知道了公网主机B的ip和frp端口就相当于知道了你内网主机A的ip和ssh端口。
好比把门换了个位置,门锁还是没换,只要别人有你的钥匙就能进入你的房子,甚至比之前还容易,因为之前别人可没法接近你的房门。

# 随机生成一串16位字符串,可作为复杂密码使用
tr -dc '_A-Za-z0-9' </dev/urandom | head -c 16

三、设置内网主机只能通过密钥连接

很好理解,只有办卡登记过的用户才能进入。
修改ssh配置文件/etc/ssh/sshd_config内容如下所示

# 是否使用公钥验证
PubkeyAuthentication yes

# 公钥的保存位置
AuthorizedKeysFile .ssh/authorized_keys

# 禁止使用密码验证登录
PasswordAuthentication no

然后重启ssh服务

service sshd restart

然后在外部局域网主机上生成密钥,放到内部局域网主机的.ssh/authorized_keys下

四、禁止root远程登录

root用户权限太大了,禁止root远程登录,只通过一些权限较小的用户登录主机。
修改ssh配置文件/etc/ssh/sshd_config

sed -i "s/PermitRootLogin yes/PermitRootLogin no/g" /etc/ssh/sshd_config

然后重启ssh服务

五、公网主机的端口设置与常规端口不同

官方给的端口是6000,我设置的是6001,太容易被猜到了,设定为跟常规端口不同的端口号,特别是比较大的端口号,减少被扫描中的概率。

六、使用跳板机

不在重要的主机上直接做内网穿透,而是在同一局域网中的另一台不太重要的主机上做。能保证跳板机与其他内网主机连接就行。(感觉也挺麻烦的,每次连接上还要再连一次)

标签:主机,端口,局域网,安全,frp,ssh,设置,ip,连接
来源: https://www.cnblogs.com/CharrammaBlog/p/14866585.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有