0210port_limit.htm

来自「鸟哥LINUX 学习课本」· HTM 代码 · 共 881 行 · 第 1/5 页

HTM
881
字号
# BOOTP client</font><br><font size="-1" color="#ffffff" face="SimSun">bootpc&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;68/udp</font><br><font size="-1" color="#ffffff" face="SimSun">http&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;80/tcp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; www www-http&#160;&#160;&#160;# WorldWideWeb HTTP</font><br><font size="-1" color="#ffffff" face="SimSun">http&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;80/udp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; www www-http&#160;&#160;&#160;# HyperText Transfer Protocol</font><br><font size="-1" color="#ffffff" face="SimSun">hostname&#160;&#160;&#160;&#160;&#160;&#160;&#160;101/tcp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hostnames&#160;&#160;&#160;&#160;&#160;&#160;# usually from sri-nic</font><br><font size="-1" color="#ffffff" face="SimSun">hostname&#160;&#160;&#160;&#160;&#160;&#160;&#160;101/udp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; hostnames&#160;&#160;&#160;&#160;&#160;&#160;# usually from sri-nic</font><br><font size="-1" color="#ffffff" face="SimSun">pop2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;109/tcp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; pop-2&#160;&#160;postoffice&#160;&#160;&#160;&#160;&#160; # POP version 2</font><br><font size="-1" color="#ffffff" face="SimSun">pop2&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;109/udp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; pop-2</font><br><font size="-1" color="#ffffff" face="SimSun">pop3&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;110/tcp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; pop-3&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;# POP version 3</font><br><font size="-1" color="#ffffff" face="SimSun">pop3&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;110/udp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; pop-3</font><br><font size="-1" color="#ffffff" face="SimSun">sunrpc&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;111/tcp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; portmapper&#160;&#160;&#160;&#160;&#160;# RPC 4.0 portmapper TCP</font><br><font size="-1" color="#ffffff" face="SimSun">sunrpc&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;111/udp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; portmapper&#160;&#160;&#160;&#160;&#160;# RPC 4.0 portmapper UDP</font><br><font size="-1" color="#ffffff" face="SimSun">auth&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;113/tcp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; authenticationtap ident</font><br><font size="-1" color="#ffffff" face="SimSun">auth&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;113/udp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; authenticationtap ident</font><br><font size="-1" color="#ffffff" face="SimSun">sftp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;115/tcp</font><br><font size="-1" color="#ffffff" face="SimSun">sftp&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;115/udp</font></td></tr></tbody></table> <br><hr width="100%"><a name="What_is_ports_three"></a><font color="#000099">Server/Client联机建立的 TCP 三向交握</font><br> <br>除此之外,还记得我们在 <a href="http://linux.vbird.org/linux_server/0110network_basic.php">网络基础</a>那一篇当中稍微提到,如果需要进行网络联机的时候,那个重要的三向交握( Three-WayHandshake )就不能不理解一下:<br> <ul><li><font color="#000066">每一个 TCP 联机都必须由一端(通常为 client )发起请求,这个port 通常是随机选择大于 1024 以上的 port 号来进行!其 TCP 封包会将(且只将)SYN (主动联机)旗标设定起来!这是整个联机的第一个封包;</font></li><li><font color="#000066">如果另一端(通常为 Server ) 接受这个请求的话 ( 当然啰,特殊的服务需要以特殊的port 来进行,例如 FTP 的 port 21 ),则会向请求端送回整个联机的第二个封包!其上除了SYN 旗标之外同时还将 ACK (确认)旗标也设定起来,并同时在本机端建立资源以待联机之需;</font></li><li><font color="#000066">然后,请求端获得服务端第一个响应封包之后,必须再响应对方一个确认封包,此时封包只带ACK 旗标(事实上﹐后继联机中的所有封包都必须带有 ACK 旗标)﹔</font></li><li><font color="#000066">只有当服务端收到请求端的确认( ACK )封包(也就是整个联机的第三个封包)之后﹐两端的联机才能正式建立。这就是所谓的TCP 联机的『三段式交握( Three-Way Handshake )』的原理。</font></li><br> <br><img src="0210port_limit_files/handshak.jpg" nosave="" height="215" width="149"><br>&nbsp;</ul>经过三向交握之后,呵呵!您的 client 端的 port 通常是高于 1024 的随机取得的port ,至于主机端则视当时的服务是开启哪一个 port 而定,例如 WWW 选择 80而 FTP 则以 21 为正常的联机通道!三向交握是相当重要的一个认识喔!因为未来在防火墙的设定上面,这个机制的认知是必须的!<br> <br><hr width="100%"><a name="What_is_ports_secure"></a><font color="#000099">安全不安全?</font><br> <br>那么了解了这些 port 之后,再来您应该还会问到一个问题呀!那就是『<font color="#000066">我怎么知道哪一个port 比较安全?</font>』这里可能要先请您了解一下所谓的『 <font color="#000066">port</font>』与『 <font color="#000066">服务</font> 』对于『 <font color="#000066">安全</font>』的相关性!真正影响网络安全的并不是 port 这个东西,而是将 port 启动的那个服务才是重点!举个例子来说好了,您应该偶而会听到『<font color="#000066">Wu-ftpd这个服务不安全,建议大家改用 proftp</font> 』对吧!请注意呦!那个 Wu-ftpd与 proftp ( 这两个都是套件的名称 )都是使用 port 21 这个埠口!嘿嘿!但是proftp 就是比 wu-ftp 稍微安全一点!晓得了吗?没错!对于安全真正有危害的是『<font color="#000066">某些不安全的服务</font>』而不是『<font color="#000066">开了哪些port </font>』才是!基本上,没有必要的话,一些您想不到或者用不到的 port都把他关掉了吧!毕竟没有开口总比开了口再来防堵要安全的多吧!! ^_^""!而且服务套件的版本也需要持续的进行更新喔!</ul><hr width="100%"><a name="How_to_look_port"></a><font color="#000099"><font size="+1">如何观察埠口</font>:</font><ul>好了,我们现在知道这个 port 是什么鬼东西了,再来就是要去『<font color="#000066">看他到底在干啥</font>?』对吧!没错!再来就是要来了解一下,我们的主机到底是开了多少的port 呢?如同我们前面说的,您得要先了解一下,我们的『服务』跟『 port 』对应的档案是哪一个?再提醒一次呦!是『<font color="#000066">/etc/services</font> 』 啦!好了,那么常见的 port 对应的服务有哪些呢?大概有这些啦!<br> <table bgcolor="#000000" border="1" cols="1" width="600"><tbody><tr><td><font size="-1" color="#ffffff" face="SimSun">服务名称   port号   常见套件名称       建议</font><br><font size="-1" color="#ffffff" face="SimSun">==================================================================================</font><br><font size="-1" color="#ffff00" face="SimSun">ftp     21      Wu-ftp, proftp      不要开放他!</font><br><font size="-1" color="#ffff00" face="SimSun">telnet    23     telnet          不要开放他!</font><br><font size="-1" color="#ffff00" face="SimSun">smtp     25     sendmail, postfix     除非必要,不然不要启动!</font><br><font size="-1" color="#ffff00" face="SimSun">http     80     apache          除非必要,不然不要启动!</font><br><font size="-1" color="#ffff00" face="SimSun">pop3    110      imap            除非是 mail 主机,不然不要开放</font><br><font size="-1" color="#ffff00" face="SimSun">netbios-ssn 139     SAMBA           除非必要,不然不要启动!</font><br><font size="-1" color="#ffff00" face="SimSun">squid   3128      squid           除非必要,不然不要启动!</font><br><font size="-1" color="#ffff00" face="SimSun">mysql   3306      MySQL           除非必要,不然不要启动!</font></td></tr></tbody></table> <br><font color="#000000">当然还不只这些哩,更详细的信息您应该到您的 Linux主机之下的 /etc/services 这个档案去看仔细!好了,那么接下来就是要来察看我们主机的port 啰!如何察看呢?底下我们介绍两个最常使用的观测指令:</font><br><font color="#000000"> </font><ul><li><font color="#000066" face="SimSun">netstst : 在本机上面以自己的程序监测自己的port ,无危险;</font></li><li><font color="#000066" face="SimSun">nmap&#160;&#160;&#160; : 在本机上面,以特殊的侦测程序侦测自己,可能会有违法之虞。</font></li></ul><font color="#000000"> </font><br><font color="#000000">见他的大头王!怎么使用 nmap 会违法?呵呵!别担心,由于nmap 的功能太强大了,所以很多 cracker ( 怪客,网络上面的闲人 ) 会直接以他来侦测别人的主机,这个时候就可能造成违法啦!只要您使用nmap 的时候不要去侦测别人的计算机主机,那么就不会有问题啦! ^_^"" 底下我们分别来说一说这两个宝贝吧!</font><br><font color="#000000"> </font><br><hr width="100%"><a name="How_to_look_port_netstat"></a><font color="#000099">	<font face="SimSun">使用netstat</font> 指令:</font><br><font color="#000000"> </font><br><font color="#000000">如前所述,在做为主机的 Linux 系统中,</font><font color="#000066">服务项目是越少越好</font><font color="#000000">!这样可以避免不必要的入侵管道喔!因此,这个时候请了解一下您的系统当中,有没有哪些服务被开启了呢?要了解自己的系统当中的服务项目,最简便的方法就是使用<a href="http://linux.vbird.org/linux_server/0140networkcommand.php#netstat">netstat</a>了!这个东西不但简单 ( 每一部 Linux 机器当中预设都会安装的套件喔! ) ,而且功能也是很不错的。这个指令的使用方法在<a href="http://linux.vbird.org/linux_server/0140networkcommand.php#netstat">Linux常用网络功能</a>指令介绍当中提过了,底下我们仅提供如何使用这个工具的方法啰!</font><br> <table bgcolor="#000000" border="1" cols="1" width="600"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[root@testroot]# </font><font color="#ffff00">netstat</font></font><br><font size="-1" color="#ffffff" face="SimSun">Active Internetconnections (w/o servers)</font><br><font size="-1" color="#ffffff" face="SimSun">Proto Recv-QSend-Q Local Address&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Foreign Address&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; State</font><br><font size="-1" face="SimSun"><font color="#ffffff">t</font><font color="#ffff99">cp&#160;&#160;&#160;&#160;&#160;&#160;&#160;0&#160;&#160;&#160;&#160; 20 192.168.1.2:ssh&#160;&#160;&#160;&#160;&#160;&#160;192.168.1.11:1391&#160;&#160;&#160;&#160; ESTABLISHED</font></font><br><font size="-1" color="#ffffff" face="SimSun">Active UNIXdomain sockets (w/o servers)</font><br><font size="-1" color="#ffffff" face="SimSun">Proto RefCntFlags&#160;&#160;&#160;&#160;&#160;&#160; Type&#160;&#160;&#160;&#160;&#160;&#160;State&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; I-Node Path</font><br><font size="-1" color="#ffffff" face="SimSun">unix&#160;10&#160;&#160;&#160;&#160; [ ]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DGRAM&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;768&#160;&#160;&#160; /dev/log</font><br><font size="-1" color="#ffffff" face="SimSun">unix&#160;2&#160;&#160;&#160;&#160;&#160; [ ]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DGRAM&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;304058</font><br><font size="-1" color="#ffffff" face="SimSun">unix&#160;2&#160;&#160;&#160;&#160;&#160; [ ]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DGRAM&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;303994</font>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?