將 Linux 對外開放的 port ,只要是不需要,就給他關掉!
[root@test
root]# vi /etc/services
ftp-data 20/tcp ftp-data 20/udp ftp 21/tcp ftp 21/udp ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp telnet 23/udp smtp 25/tcp mail smtp 25/udp mail domain 53/tcp nameserver # name-domain server domain 53/udp nameserver bootps 67/tcp # BOOTP server bootps 67/udp bootpc 68/tcp # BOOTP client bootpc 68/udp http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol hostname 101/tcp hostnames # usually from sri-nic hostname 101/udp hostnames # usually from sri-nic pop2 109/tcp pop-2 postoffice # POP version 2 pop2 109/udp pop-2 pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 sunrpc 111/tcp portmapper # RPC 4.0 portmapper TCP sunrpc 111/udp portmapper # RPC 4.0 portmapper UDP auth 113/tcp authentication tap ident auth 113/udp authentication tap ident sftp 115/tcp sftp 115/udp |
服務名稱 port
號 常見套件名稱 建議
================================================================================== ftp 21 Wu-ftp, proftp 不要開放他! telnet 23 telnet 不要開放他! smtp 25 sendmail, postfix 除非必要,不然不要啟動! http 80 apache 除非必要,不然不要啟動! pop3 110 imap 除非是 mail 主機,不然不要開放 netbios-ssn 139 SAMBA 除非必要,不然不要啟動! squid 3128 squid 除非必要,不然不要啟動! mysql 3306 MySQL 除非必要,不然不要啟動! |
[root@test
root]# netstat
Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 20 192.168.1.2:ssh 192.168.1.11:1391 ESTABLISHED Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 10 [ ] DGRAM 768 /dev/log unix 2 [ ] DGRAM 304058 unix 2 [ ] DGRAM 303994 unix 2 [ ] DGRAM 303972 unix 2 [ ] DGRAM 70794 unix 2 [ ] DGRAM 70743 unix 2 [ ] DGRAM 27533 unix 2 [ ] DGRAM 895 unix 2 [ ] DGRAM 785 |
[root@test
root]# netstat -a
AActive Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:pop3 *:* LISTEN tcp 0 0 *:imap *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:smtp *:* LISTEN tcp 0 20 192.168.1.2:ssh 192.168.1.11:1391 ESTABLISHED udp 0 0 *:1238 *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 10 [ ] DGRAM 768 /dev/log unix 2 [ ] DGRAM 304058 unix 2 [ ] DGRAM 303994 unix 2 [ ] DGRAM 303972 unix 2 [ ] DGRAM 70794 unix 2 [ ] DGRAM 70743 unix 2 [ ] DGRAM 27533 unix 2 [ ] DGRAM 895 unix 2 [ ] DGRAM 785 |
[root@test
root]# netstat -an
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 20 192.168.1.2:22 192.168.1.11:1391 ESTABLISHED udp 0 0 0.0.0.0:1238 0.0.0.0:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 10 [ ] DGRAM 768 /dev/log unix 2 [ ] DGRAM 304058 unix 2 [ ] DGRAM 303994 unix 2 [ ] DGRAM 303972 unix 2 [ ] DGRAM 70794 unix 2 [ ] DGRAM 70743 unix 2 [ ] DGRAM 27533 unix 2 [ ] DGRAM 895 unix 2 [ ] DGRAM 785 |
[root@test
root]# netstat -ap
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 *:ssh *:* LISTEN 32149/sshd tcp 0 284 140.116.141.19:ssh 192.168.1.11:1391 ESTABLISHED 24751/sshd Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 7 [ ] DGRAM 944 509/syslogd /dev/log unix 2 [ ] DGRAM 3035915 16648/xinetd unix 2 [ ] DGRAM 739227 5951/pppoe unix 2 [ ] DGRAM 739189 5949/pppd unix 2 [ ] DGRAM 1070 628/crond unix 2 [ ] DGRAM 953 514/klogd unix 2 [ ] STREAM CONNECTED 690 1/init [3] |
[root@test root]# kill -9 24751 |
[root@test
root]# nmap <掃瞄類型> <掃瞄參數> <Hosts
位址與範圍>
參數說明: <掃瞄類型>:主要的掃瞄類型有底下幾種: -sT:掃瞄 TCP 封包已建立的連線 connect() ! -sS:掃瞄 TCP 封包帶有 SYN 標籤的資料 -sP:以 ping 的方式進行掃瞄 -sU:以 UDP 的封包格式進行掃瞄 -sO:以 IP 的協定 ( protocol ) 進行主機的掃瞄 <掃瞄參數>:主要的掃瞄參數有幾種: -PT:使用 TCP 裡頭的 ping 的方式來進行掃瞄,可以獲知目前有幾部 電腦存活(較常用) -PI:使用實際的 ping (帶有 ICMP 封包的) 來進行掃瞄 -p :這個是 port range ,例如 1024-, 80-1023, 30000-60000 等等的使用方式 <Hosts 位址與範圍>:這個有趣多了,有幾種類似的類型 192.168.0.100 :直接寫入 HOST IP 而已,僅檢查一部; 192.168.0.0/24 :為 C Class 的型態, 192.168.*.* :嘿嘿!則變為 B Class 的型態了!掃瞄的範圍變廣了! 192.168.0.0-50,60-100,103,200 :這種是變形的主機範圍啦!很好用吧! 範例: 例題一:掃瞄單一部電腦!
例題二:掃瞄單一部電腦的較少數
port 號碼!
例題三:直接以
Ping 的方式掃瞄數個電腦!
Starting nmap
V. 2.54BETA22 ( www.insecure.org/nmap/ )
Interesting
ports on linux174 (192.168.1.174):
Interesting
ports on linux176 (192.168.1.176):
Nmap run completed
-- 7 IP addresses (3 hosts up) scanned in 1 second
|
[root@test
root]# /etc/rc.d/init.d/sendmail start
Starting sendmail: [ OK ] [root@test root]# netstat -an|more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 192.168.1.2:22 192.168.1.11:3175 ESTABLISHED Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 8 [ ] DGRAM 944 /dev/log unix 2 [ ] DGRAM 3161529 unix 2 [ ] DGRAM 3160038 unix 2 [ ] DGRAM 739227 unix 2 [ ] DGRAM 739189 unix 2 [ ] DGRAM 1070 unix 2 [ ] DGRAM 953 unix 2 [ ] STREAM CONNECTED 690 # 看!那個 127.0.0.1:25 出現了!! [root@test root]# /etc/rc.d/init.d/sendmail stop Shutting down sendmail: [ OK ] |
服務名稱 服務內容說明
=============================================================================== atd 在 例行性命令 裡頭提到的,單一次預約命令執行的服務,務必啟動! cron 在 例行性命令 裡頭提到的,循環執行的命令,務必啟動! iptables 這個是防火牆軟體,無論如何,先啟動他吧! keytables 設定鍵盤的上面的字母的格式!當然需要讀入了!不然如何控制! network 您總該不會不想要有網路吧?!所以這個也請啟動囉! random 快速的將系統的狀態在隨機的時間內存到映象檔當中,對於系統 相當重要!因為在開機之後,系統會迅速的回復到關機之前的狀態! syslog 在 系統登錄檔 裡面提過很多次了!相當重要的服務!務必啟動! xinetd 對啦!另一個服務管理員 super daemon!也是必須要啟動的項目之一! xfs 如果您是使用 run-level 為 5 的圖形介面,那麼這個也必須要啟動啦 |
1. 使用 ntsysv
設定開機時啟動的服務項目:
[root@test root]# ntsysv 只要選擇底下幾個服務即可(注意!我是以 Red Hat 的文字介面為基礎的) atd, cron, iptables, keytables, network, random, syslog, xinetd 如果是 Mandrake 的話,就得要使用 chkconfig 了! 2. 重新開機讓設定生效:
3. 觀察目前的
port 開啟多少個?
|