当前位置: 首页 > 知识库问答 >
问题:

amh - 如何在AMH7.2面板中禁止除443等常用端口外的其他端口访问?

舒浩邈
2024-12-23

请问AMH面板目前有什么很好的方案用面板实现除443等常用端口外禁止其他端口访问吗

之前用内置的network插件的规则设置成功过,但docker对外映射的端口依然可以绕过正常访问

共有3个答案

宇文修文
2024-12-23

编辑/usr/local/amh-.../vhost/amh-nginx.conf,添加:

server {
    listen 80;
    server_name your_domain.com;

    # 除了443端口外,其他端口返回1
    if ($server_port != 443) {
        return 1;
    }

    # 其他配置...
}

然后重启nginx:

service nginx restart

你还可以用iptables,添加这些规则:

iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 8080 -j DROP

保存规则:

service iptables save
沙海
2024-12-23

就在amh的防火墙管理(amnetwork)先添加允许你需要的端口,
接着禁止其余其它所有端口,

或直接使用『配置编辑方式』添加规则,如允许443,80,22,8888端口,

-A INPUT -p tcp -m tcp -m multiport --dports 443,80,22,8888 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp -j DROP

这样就阻止其它未允许的所有端口入网。
有其它绕过的话,检测是否有添加了新规则(如在DROP之上)允许放行的。

子车鸿运
2024-12-23

iptables的配置文件主要有两个位置:/etc/sysconfig/iptables(CentOS或RHEL系统)/etc/iptables/rules.v4(Ubuntu或Debian系统)

配置Network插件规则:

  • 添加以下规则来限制除常用端口(如443、80等)之外的所有端口访问:
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH端口
iptables -A INPUT -p tcp --dport 1:21 -j DROP
iptables -A INPUT -p tcp --dport 23:79 -j DROP
iptables -A INPUT -p tcp --dport 81:442 -j DROP
iptables -A INPUT -p tcp --dport 444:65535 -j DROP
  • 保存规则:
service iptables save

配置Docker的自定义链:

  • 在Docker的自定义链DOCKER-USER中添加相同的规则,确保所有流量都经过这些规则
iptables -A DOCKER-USER -p tcp --dport 443 -j ACCEPT
iptables -A DOCKER-USER -p tcp --dport 80 -j ACCEPT
iptables -A DOCKER-USER -p tcp --dport 22 -j ACCEPT  # SSH端口
iptables -A DOCKER-USER -p tcp --dport 1:21 -j DROP
iptables -A DOCKER-USER -p tcp --dport 23:79 -j DROP
iptables -A DOCKER-USER -p tcp --dport 81:442 -j DROP
iptables -A DOCKER-USER -p tcp --dport 444:65535 -j DROP

确保Docker不修改iptables规则:

  • 修改Docker的配置文件/etc/docker/daemon.json,添加以下内容: /etc/docker/daemon.json:

    {
      "iptables": false
    }
  • 重启Docker服务

    systemctl daemon-reload
    systemctl restart docker

验证配置:

  • 查看iptables规则

    iptables -L -v -n
 类似资料:
  • 请问应该如何禁止通过ip:port访问面板管理界面? 另:应该如何禁止通过ip访问整个站点?

  • 默认情况下,Kubernetes允许pod使用pod IP访问其他pod。 我有2个pods. Pod1和Pod2. Pod1有一个mysql服务器和一个PHP应用程序. Pod2有一个php应用程序. Pod1 ip174.17.0.4,在Pod2中php应用程序可以从地址访问mysql服务器。 Pod1和Pod2是两种不同的应用程序。Pod2和Pod1没有关系。所以我担心的是,如果Pod2遭到

  • 问题内容: 但是它仍在侦听端口11211而不是在11212上。为什么? 问题答案: Windows的memcached不会在具有相同实例的多个端口上侦听,您将需要该服务的多个实例才能使其在不同端口上作为服务运行。 为此,您需要使用其他机制而非服务来安装服务。 我们可以用来完成此任务。所有这些命令都需要在提升的命令提示符下运行。 然后我们启动它们: 但是请注意,由于配置,udp端口仍为11211,因

  • 我不能运行Nginx,因为端口80已经在监听docker代理服务。 我想在端口8800而不是默认端口80上运行Nginx。 因此,我编辑了默认文件,如下所示; 但是,即使在重新启动后,我仍然无法使其按预期工作。 我做错了什么,如何解决? 下面是我得到的错误; ● nginx。服务-高性能web服务器和反向代理服务器已加载:已加载(/lib/systemd/system/nginx.service;

  • 我遇到了一个Spring Boot应用程序的问题。我们让它在端口8443上运行https,一切正常。现在,我们正在构建与外部支付处理器的集成,他们要求我们在应用程序的443端口上有一个回调endpoint。 一些研究告诉我,部署一个侦听端口号低于1024的Spring启动应用程序是不允许的。我在这个问题上发现的线程通常说“使用1024以上的端口号”,海报很高兴地走开了。我已经有了,需要想出一个使用

  • 我刚刚将我的开发环境从一台旧机器移到一台新的MAC上。我喜欢在我的一般本地环境(更简单的项目)中使用MAMP,但出于某种原因,最新版本的MAMP希望我在本地主机上使用8888端口。 我把它改回了端口80,这是我旧机器上MAMP上的端口,我有一些绝对的开发链接,所以我不想麻烦把localhost:8888放在Uri:s的开头,而只把localhost放在开头 结果是无法访问任何资源,所有内容都被禁止

  • AMH7.1如何在linux命令行中修改面板访问端口? 比较敏感的企业内部服务器,禁止了8100以后得所有端口。而且董事长都无权开通8100以后得端口。所以我没办法进入面板后通过面板去改端口 我用过:amh SetParam amh amh_Listen 8000 这个命令。但是好像不行了。这个命令可能是以前版本的。现在7.1好像不能这么用了

  • 我在XAMPP中安装了一个apache web服务器,其中安装了PHP和OCI8 for Oracle。 我的默认请求端口是1934,但Apache会自动打开其他端口,有时我必须重新启动才能正确运行它。 在错误日志中,唯一显示的是: 服务器软件是Windows 7上的XAMPP 3.2.1。