linux端口权限
‘壹’ linux 如何开放端口和关闭端口
1、查看哪些端口被打开netstat -anp。
(1)linux端口权限扩展阅读:
liunx常见端口详细说明 :
1、端口:7
服务:Echo
说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。
2、端口:21
服务:ftp
说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly
Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。
3、端口:22
服务:Ssh
说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞
存在。
4、端口:23
服务:Telnet
说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny
Telnet Server就开放这个端口。
5、端口:25
服务:SMTP
说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。
6、端口:53
服务:Domain Name Server(DNS)
说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。
7、端口:80
服务:HTTP
说明:用于网页浏览。木马Executor开放此端口。
8、端口:102
服务:Message transfer agent(MTA)-X.400 over TCP/IP
说明:消息传输代理。
9、端口:110
服务:pop3
说明:POP3(Post Office Protocol
服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。
10、端口:137、138、139
服务:NETBIOS Name Service
说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。
11、端口:143
服务:Interim Mail Access Protocol v2
说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。
记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。
12、端口:161
服务:SNMP
说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。
SNMP包可能会被错误的指向用户的网络。
13、端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口 。
14、端口:443
服务:Https
说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
15、端口:993
服务:IMAP
说明:SSL(Secure Sockets layer)
16、端口:1433
服务:SQL
说明:Microsoft的SQL服务开放的端口。
17、端口:1503
服务:NetMeeting T.120
说明:NetMeeting T.120
18、端口:1720
服务:NetMeeting
说明:NetMeeting H.233 call Setup。
19、端口:1731
服务:NetMeeting Audio Call Control
说明:NetMeeting音频调用控制。
20、端口:3389
服务:超级终端
说明:WINDOWS 2000终端开放此端口。
21、端口:4000
服务:QQ客户端
说明:腾讯QQ客户端开放此端口。
22、端口:5631
服务:pcAnywere
说明:有时会看到很多这个端口的扫描,这依赖于用户所在的位置。当用户打开pcAnywere时,它会自动扫描局域网C类网以寻找可能的代理(这里的代理是指agent而不是proxy)。入侵者也会寻找开放这种服务的计算机。所以应该查看这种扫描的源地址。一些搜寻pcAnywere的扫描包常含端口22的UDP数据包。
23、端口:6970
服务:RealAudio
说明:RealAudio客户将从服务器的6970-7170的UDP端口接收音频数据流。这是由TCP-7070端口外向控制连接设置的。
24、端口:7323
服务:[NULL]
说明:Sygate服务器端。
25、端口:8000
服务:OICQ
说明:腾讯QQ服务器端开放此端口。
26、端口:8010
服务:Wingate
说明:Wingate代理开放此端口。
27、端口:8080
服务:代理端口
说明:WWW代理开放此端口。
‘贰’ 如何在linux系统防火墙中放开对8080端口的限制
1.修改文件/etc/sysconfig/iptables
[root@bogon ~]# cd /etc/sysconfig/
[root@bogon sysconfig]# vi iptables
在文件中加入如下内容,目的是对外界开放8080端口
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
2.将iptables服务重启。
[root@bogon sysconfig]# service iptables restart
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables moles: [ OK ]
Applying iptables firewall rules: [ OK ]
Loading additional iptables moles: ip_conntrack_ftp [ OK ]
[root@bogon sysconfig]#
这样就放开了8080端口的限制。
‘叁’ 如何让Linux下非root用户程序使用小于1024端口
在Linux下,默认端口1024下的程序是要在root下才能使用的,在其他用户下,如果尝试使用将会报错。在有的时候,我们可能考虑程序运行在root帐户下,可能会给Linux系统带来安全风险。那如何能够让非root用户运行的程序能够对外启用小于1024的端口呢?本文尝试给出一些方法: x0dx0ax0dx0a第一种方消旅法:x0dx0aSetUIDx0dx0a为用户的应用程序在执行位设置user ID能够使程序可以有root权限来运行,这个方法让程序能够像在root下运行有同样的效果,不过需要非常小心,这种方法同样会带来安全风险,特别是当要执行的程序本身存在安全风险。使用的方法是:x0dx0achown root.root /path/to/application #使用SetUID chmod u+s /path/to/application x0dx0ax0dx0a我们可以看到在系统下,/usr/bin/passwd这种文件,就使用了SetUID,使得每个系统的用户都能用passwd来修改密码——这是要修改/etc/passwd的文件(而这个只有root有权限)。x0dx0a既然要使用非root用户运行程序,目的就是要降低程序本身给系统带来的安全风险,因此,本方法使用的时候需要特别谨慎。 x0dx0a第二种方法:x0dx0aCAP_NET_BIND_SERVICEx0dx0a从2.1开始,Linux内核有了能力的概念,这使得普通用户也能够做只有超级用户才能完成的工作,这包括使用端口1。x0dx0a获取CAP_NET_BIND_SERVICE能力,即使服务程序运行在非root帐户下,也能够banding到低端口。使用的方法:x0dx0a#设置CAP_NET_BIND_SERVICE setcap cap_net_bind_service =+ep /path/to/application x0dx0ax0dx0aNote:x0dx0a1. 这个方法并不是所有Linux系统通适,内核在2.1之前的并没有提供,因此你需要检查要使用此方法所在系统是否支持(Linux must support capacity);x0dx0a2. 另外需要注意的是,如果要运行的程序文件是一个脚本,这个方法是没有办法正常工作的(Script won't work)。 x0dx0a第三种方法:x0dx0aPort Forwardingx0dx0a如果要运行的程序有权限监听其他端口,那么这个方法是可以使用的,首先让程序运行在非root帐户下,并绑定高于1024的端口,在确保能正常工作的时候,将低端口通过端口转发,将低端口转到高端口,从而实现非root运行的程序绑定低端口。要使用此方法可以使用下面的方式:x0dx0a# Enable the IP FORWARD kernel parameter. sysctl -w net.ipv4.ip_forward=1 # Use iptables rules to redirect packets iptables -F -t nat iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to:8088 x0dx0ax0dx0a第一步使用sysctl确保启用IP FORWARD功能(此功能在Red Hat/CentOS默认是扒桥悉被禁用的),注意,代码中使用的sysctl设置是临时性设置,重启之后将会被重置,如果要长久保存,需要在/etc/sysctl.conf文件内修改:x0dx0a# Default value is 0, need change to 1. # net.ipv4.ip_forward = 0 net.ipv4.ip_forward = 1 x0dx0ax0dx0a然后从文件中加载新的配置x0dx0a# load new sysctl.conf sysctl -p /etc/sysctl.conf # or sysctl -p # default filename is /etc/sysctl.conf x0dx0ax0dx0a第二步就是使用iptables的规春乎则来实现端口转发到程序所在的端口,示例中我们要将80端口转发到8088。x0dx0a此种方法能够比较好的达到我们的目的,我们的程序可以通过非root用户来运行,并能够对外提供低端口号的服务。 x0dx0a第四种方法:x0dx0aRINETD2x0dx0a这种方法使用的也是端口转发,此工具可以将本地端口映射到远程端口,但此功能对于我们当前的功能来说,有点鸡肋,毕竟我们新增了一个额外的程序,这将可能会增加我们系统的风险性。在此不做推荐。
‘肆’ linux下如何开放一个端口
1、首先连接到linux服务器,先查看一下想要开放的端口是不是有程序监听了,没有的话,就检查程序是不是正常运行。这里以80端口例子,其中web程序已经运行了:
‘伍’ 在Linux下如何开放端口
你在linux下安装QQ ,安装完了 你记得把linux的防火墙关掉。命令是service iptables stop(先打iptables -F 把防火墙清空)!
‘陆’ linux普通用户使用1024以下的端口(80)
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 账户下,信息如下:
最后别忘记怎么清除这个能力