linux端口关闭
‘壹’ linux 22 端口老自动关闭
chkconfig iptables off
service iptable stop
‘贰’ linux鍏抽棴绔鍙f庝箞鍏抽棴
鍦↙inux涓锛岀鍙f槸涓绉嶆暟瀛楁爣璇嗙︼纴鐢ㄤ簬鍖哄垎涓嶅悓镄勭绣缁滃簲鐢ㄧ▼搴忓拰链嶅姟銆傜鍙e彿鏄涓涓16浣岖殑鏁板瓧锛屽彲浠ユ槸0-65535涔嬮棿镄勪换浣曚竴涓鏁板瓧銆傚叾涓锛0-1023镄勭鍙e彿涓虹郴缁熶缭鐣欑鍙o纴鍙鑳借绯荤粺鎴栫壒𨱒幂敤鎴蜂娇鐢锛1024-49151镄勭鍙e彿涓烘敞鍐岀鍙o纴鐢ㄤ簬涓浜涘父瑙佺殑搴旂敤绋嫔簭锛49152-65535镄勭鍙e彿涓哄姩镐佹垨绉佹湁绔鍙o纴阃氩父鐢ㄤ簬瀹㈡埛绔涓存椂鍒嗛厤绔鍙c
鍦↙inux绯荤粺涓锛屾疮涓姝e湪杩愯岀殑缃戠粶搴旂敤绋嫔簭鎴栨湇锷¢兘链変竴涓瀵瑰簲镄勭鍙e彿銆备緥濡傦纴Web链嶅姟鍣ㄩ氩父浣跨敤TCP绔鍙80鎴443锛孲SH链嶅姟鍣ㄤ娇鐢═CP绔鍙22锛孲MTP链嶅姟鍣ㄤ娇鐢═CP绔鍙25绛夌瓑銆傞氲繃鎸囧畾鐗瑰畾镄勭鍙e彿锛岀敤鎴峰彲浠ヨ块梾鎴栬繛鎺ュ埌鐩稿簲镄勭绣缁滃簲鐢ㄧ▼搴忔垨链嶅姟銆傚湪Linux绯荤粺涓锛屽叧闂绔鍙e彲浠ヤ娇鐢ㄤ互涓嬩袱绉嶆柟娉曘
涓銆佷娇鐢ㄩ槻𨱔澧椤叧闂绔鍙o纴鍙浠ヤ娇鐢╥ptables鎴杅irewalld绛夐槻𨱔澧椤伐鍏锋潵鍏抽棴鐗瑰畾镄勭鍙o纴浠ヤ笅鏄涓浜涘父瑙佺殑锻戒护銆
1銆佷娇鐢╥ptables鍏抽棴TCP绔鍙80锛歴udo iptables -A INPUT -p tcp dport 80 -j DROP
2銆佷娇鐢╢irewalld鍏抽棴TCP绔鍙80锛歴udo firewall-cmd zone=public remove-port=80/tcp
浜屻佸仠姝㈢浉搴旂殑缃戠粶搴旂敤绋嫔簭鎴栨湇锷★纴濡傛灉甯屾湜鍏抽棴镆愪釜绔鍙g殑缃戠粶链嶅姟鎴栧簲鐢ㄧ▼搴忥纴鍙浠ュ仠姝㈢浉搴旂殑杩涚▼锛屼互涓嬫槸涓浜涘父瑙佺殑锻戒护銆
1銆佸叧闂璚eb链嶅姟鍣锛圆pache锛夛细sudo systemctl stop apache2
2銆佸叧闂璖SH链嶅姟鍣锛歴udo systemctl stop sshd
3銆佸叧闂璖MTP链嶅姟鍣锛圥ostfix锛夛细sudo systemctl stop postfix
鍏抽棴绔鍙e彲鑳戒细褰卞搷绯荤粺镄勬e父杩愯屾垨鐗瑰畾搴旂敤绋嫔簭镄勫姛鑳斤纴锲犳ゅ簲璇ユ厧閲嶈冭槛銆傚缓璁鍦ㄥ叧闂绔鍙d箣鍓嶅囦唤鐩稿叧鏁版嵁锛屽苟纭淇濅笉浼氩奖鍝嶅叾浠栫敤鎴锋垨绯荤粺杩涚▼镄勬e父浣跨敤銆傛ゅ栵纴鍏抽棴镆愪簺绔鍙e彲鑳戒细瀵圭郴缁熺殑瀹夊叏镐ч犳垚褰卞搷锛屽洜姝ゅ簲璇ュ湪蹇呰佹椂閲囧彇鍏朵粬瀹夊叏鎺鏂斤纴渚嫔傝剧疆阒茬伀澧栾勫垯銆佹洿鏂拌蒋浠剁瓑銆
‘叁’ Linux查看端口状态及关闭端口方法
首先你必须知道,端口不是独立存在的,它是依附于进程的前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。
1. 可以通过"~$ netstat -anp" 来查看哪些端口被打开。
(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号)
2. 然后可以通过"~$ lsof -i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。
(注:有些端口通过netstat查不出来,更可靠的方法是"~$ sudo nmap -sT -O localhost")
3. 若要关闭某个端口,则可以:
1)通过iptables工具将该端口禁掉,如:
"~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者关掉对应的应用程序,则端口就自然关闭了,如:
"~$ kill -9 PID" (PID:进程号)
如: 通过"~$ netstat -anp | grep ssh"
有显示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
则: "~$ kill -9 7546"
(可通过"~$ chkconfig"查看系统服务的开启状态)