Linux修改SSH默认22端口

Linux修改SSH默认22端口,第1张

默认22端口不安全,这些修改下,本例更改为25846

1、去阿里云开放端口

2、root下使用vim /etc/ssh/sshd_config

找到Port 22 编辑模式下 加入Port 25846,并ESC退出编辑模式,:wq保存退出

3、systemctl restart sshd命令,重启服务。

4、firewall-cmd --query-port=25846/tcp 查询指定端口是否已开

如果是no就开启端口 (–permanent永久生效,没有此参数重启后失效)

重新加载

至此完成。

扩展下:

firewall-cmd --zone= public --remove-port=25846/tcp --permanent 永久删除端口

安全组是主动防御,防火墙是被动防御。

linux对于非root权限用户不能使用1024以下的端口,对于一些服务,过高的权限,会带来一定的风险。那么对于低权限的用户如何对外开放1024以下的端口。我这里找到几种办法并且亲测可行

首先搭建环境 centos7 账户 tengine 没有 sudo 权限

利用 nginx 做反向代理,nginx 监听 80 端口,将请求转发到实际监听的端口,示例:

首先程序绑定1024以上的端口,然后root权限下做转发注意有些系统需要手动开启IP FORWARD功能

root账户下执行

从图片可以看出来nginx可以运行,但是主进程仍然是以root权限运行,这样并不安全。

从 2.1 版本开始,Linux 内核有了能力的概念,这使得普通用户也能够做只有超级用户才能完成的工作,这包括使用端口。

获取 CAP_NET_BIND_SERVICE 能力,即使服务程序运行在非root帐户下,也能够 binding 到低端口。使用的方法:

切换到 tengine 账户下,信息如下:

最后别忘记怎么清除这个能力

端口是linux下应用软件因需要而开启的socket套接字,具有唯一性。端口可以查看、启动关闭、设置防火墙规则等。

1、端口查看

netstat -tln   //表示已数字形式查看,正在监听的端口

netstat -ap   //查看所有应用占用端口情况

2、启动停止

端口自己是不会停止和启动的,需要停止和启动的是端口对应的应用。

可以先找到端口,再对应PID,命令如下:

netstat -anp|grep 57069 //这个是要找的端口号

lsof -i:57069 //查找器PID信息

第三部杀死进程:图例里面没有在这里写上,kill -9 PID

3、屏蔽

linux下一般使用防火墙的filter规则 定义允许或者不允许进行屏蔽。对于filter一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT。

例如设置在输入端屏蔽53端口:

iptables -A INPUT 1 -d 172.16.100.1 -p udp --dport 53 -j REJECT

-A 是增加规则,-d:表示匹配目标地址, -p udp表示UPD协议,--dPort 是端口53

这里表示在输入端目的地址是172.16.100.1的53端口被屏蔽


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8668087.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存