我想将一些Linux服务设置为非标准端口-最高有效端口号是多少?

#1 楼

(2 ^ 16)-1或0-65,535(-1是因为端口0被保留且不可用)。 (已编辑,因为o_O Tync提醒我我们不能使用端口0,而Steve Folly提醒我您要求的是最高端口,而不是端口数)。

但是您可能正在使用这是错误的方式。有些人主张和反对非标准港口。我说它们与最随意的扫描仪无关,而最随意的扫描仪可以通过使用最新软件和适当的防火墙技术以及强密码来阻止。换句话说,安全最佳实践。

评论


-1为错误答案。尝试65,535。但是关于/反对非标准端口的论点很好。

–史蒂夫·弗利(Steve Folly)
2010年1月18日,00:00

安全/合规人员会强制执行此类决策。我们在预定的高端口上运行SMTP服务,以保护我们免受安全人员办公室的骚扰。

–duffbeer703
2010年1月18日,0:01

史蒂夫(Steve),经过编辑,您说对了。我用我的电话号码回答了错误的问题:)

–马特·西蒙斯(Matt Simmons)
2010年1月18日,0:03

@Matt:删除-1 :-)

–史蒂夫·弗利(Steve Folly)
2010年1月18日,0:05

我监视使用ssh登录的尝试,并且多次尝试都阻止了IP(标准CPanel VPS解决方案)。我只是想减少每天必须尝试的次数。端口扫描也被阻止,因此应减少该人群。我也在考虑使用VPN,但更改端口似乎是更容易的第一步。

– Yeehosef
2010年1月18日,0:06

#2 楼

可用1-65535,而特权范围在1-1023的端口是:一个应用程序需要以root用户身份运行才能侦听这些端口。

#3 楼

尽管1-65535是合法的TCP端口,但1-1023确实适用于众所周知的端口服务。如果在建立临时端口后启动了您自己的服务,则可能会遇到随机问题。对于那些可能不知道的人来说,临时端口是指那些在本地连接用于远程端点(或具有某种意义的端口)的端口。因此,如果您编写一个侦听端口20001的TCP服务。那么今天和明天可能都不错。但是有一天,您的服务可能会启动并尝试绑定到20001,并且由于被视为临时端口而失败。有一个解决方案。您必须由管理员(或您自己)更改服务器上的系统临时端口范围策略。在linux系统上,它分两个步骤完成:

动态地
永久地

必须采取两个步骤,除非您打算重新引导(在这种情况下为动态不需要步骤)。要将范围设置为40000至65535,请执行以下操作:
动态
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_rangesysctl -w net.ipv4.ip_local_port_range="40000 65535"将以下内容添加到/ etc / sysctl .conf:
net.ipv4.ip_local_port_range = 40000 65535
要读取当前设置或确认更改:
/sbin/sysctl net.ipv4.ip_local_port_range
输出将是这样的:
net.ipv4.ip_local_port_range = 9000 65500
确保您了解服务器的用途。减小范围太多可能导致其他问题。
编码愉快! (或您所做的任何事情)

评论


在这里查看评论。 “临时端口范围因系统而异。...$ cat / proc / sys / net / ipv4 / ip_local_port_range导致输出3276861000。至于是否应该在系统的临时端口范围内使用端口,我怀疑大多数(如果不是全部)现代网络操作系统将跳过已在使用的端口”

– e2-e4
20年4月18日在7:50