码迷,mamicode.com
首页 > 系统相关 > 详细

Linux环境下非root用户通过防火墙nat将端口转发到8080端口

时间:2020-05-22 21:39:57      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:限制   style   使用   端口   boot   管理   rest   失效   linu   

背景

  linux环境虽然安全,但是一些应用的bug将导致操作系统沦陷,比如臭名昭著的Struct2的RCE漏洞,导致很多服务器曾经失守。

究其原因大多是开发人员不了解linux不会操作,默认使用了root账户启动。因为电信审核备案原因,绝大部分网站都是开启80/443端口。

而Linux开启1024以下端口都需要root权限,所以导致linux管理乱象,大面积服务器面对程序RCE时沦陷。本文linux环境为Ubuntu 16.04 x64

 

解决办法

  使用低权限/受限制权限的账户启动应用,在防火墙上将该端口nat/映射到80/443端口。比如笔者的java web应用(SpringBoot项目),

在服务器上使用ubuntu低权限账户登录,开启了8080端口。现在想映射到80端口。操作如下(以下需要root权限才能完成):

1、修改/etc/sysctl.conf文件

root@ubuntu:/home/ubuntu# echo net.ipv6.ip_forward=1 >> /etc/sysctl.conf

打开文件确认 vim /etc/sysctl.conf,按下shift +G跳转到文件尾部,看到以下内容说明设置成功

技术图片

 

 

 2、在防火墙上将80端口nat到8080端口

iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80 -j REDIRECT --to-port 8080

 

3、保存配置

sudo iptables-save
sudo sh -c "iptables-save > /etc/iptables.rules"

 

4、开机自动启

配置的规则系统默认重启后就失效,因此做开机启动时加载iptables的配置也有必要。
在/etc/network/interfaces的末尾添加如下一行(shift+G跳转到最后一行): 

pre-up iptables-restore < /etc/iptables.rules

 

如果想在关机的时候自动保存修改过的iptables规则,可添加如下行

post-down iptables-save > /etc/iptables.up.rules

 

参考来源:https://blog.csdn.net/gobitan/article/details/50696641

 

操作成后,笔者访问 虚拟机80端口如下

技术图片

 

 查看服务器端口

技术图片

 

Linux环境下非root用户通过防火墙nat将端口转发到8080端口

标签:限制   style   使用   端口   boot   管理   rest   失效   linu   

原文地址:https://www.cnblogs.com/passedbylove/p/12939510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!