为什么我们的主机会响应网络上面的一些要求封包呢?例如我们设定了一部 WWW 主机后,当有来自 Internet 的 WWW 要求时,我们的主机就会予以响应,这是因为我们的主机有启用了 WWW 的监听埠口 (port) 啊!这里就要特别留意了,当我们启用了一个 daemon 时,就可能会造成主机的 Port 在进行 Listen 的动作,此时该 daemon 就是已经对网络上面提供服务了!万一这个 daemon 有漏洞,因为他提供 Internet 的服务,所以就容易被 Internet 上面的 cracker 所入侵了!所以说,仔细的检查自己系统上面的 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 开启多少个?
|