Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198781
  • 博文数量: 124
  • 博客积分: 7051
  • 博客等级: 少将
  • 技术积分: 1425
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-20 13:21
文章分类

全部博文(124)

文章存档

2008年(124)

我的朋友

分类: LINUX

2008-04-23 15:43:58

    
    保护你的系统最简单有效的的方法是TCP wrapper.Linux系统在跟踪对你的机器的访问记录方面作了大量的工作。wrapper拒绝对你的系统的某些访问的同时系统在一些LOG文件中增加了一些信息内容。在/var/log目录下,一般可以看到如下文件:

boot.log cron cron.1 cron.2 dmesg httpd
lastlog lastlog.1 maillog maillog.1
maillog.2
messages messages.1 netconf.log
netconf.log.1
netconf.log.2 secure secure.1 secure.2
secure.3 secure.4 spooler spooler.1 spooler.2
uucp wtmp wtmp.1 xferlog xferlog.1
xferlog.2
可以看到某些LOG文件有1,2等扩展名。这是由于系统运行cron.daily引起的。实际上,cron.daily是在/etc下面的子目录,包含了 很多系统自动运行的管理script文件。不需要你参与,这些script实现一些任务的自动化:如轮转log文件使其不会变的过分大。作为管理员你应该 熟悉如何通过修改这些script来定时运行程序。
从攻击者的观点而言,他们对你的你服务器上的安全文件最感兴趣。若你关闭外部网络对你的服务器的访问。你可能会遇到这样的情况:
[root@linux /]#grep refused /var/log/secure*

Sep 12 07:52:42 netgate in.rlogind[7138]: refused
connect from 2??.?.5?.?42
Sep 12 07:52:52 netgate in.rshd[7139]: refused
connect from 2??.?.5?.?42
Sep 12 07:52:55 netgate in.rexecd[7144]: refused
connect from 2??.?.5?.?42
Sep 12 07:52:59 netgate imapd[7146]: refused connect
from 2??.?.5?.42
Sep 12 07:52:59 netgate in.fingerd[7142]: refused
connect from 2??.?.5?.?42
Sep 12 07:53:00 netgate ipop3d[7143]: refused
connect from 2??.?.5?.?42
Sep 12 07:53:07 netgate in.ftpd[7147]: refused
connect from 2??.?.5?.?42
Sep 12 07:53:10 netgate gn[7145]: refused connect
from 2??.?.5?.?42
Sep 12 07:53:22 netgate in.telnetd[7149]: refused
connect from 2??.?.5?.?42
Sep 12 07:56:34 netgate imapd[7150]: refused connect
from 2??.?.5?.?42
正如你看到的那样,攻击者已经试图连接服务器上的若干个端口。但是由于服务器关闭了inetd启动的所有服务,所以LOG系统记录下了这些访问拒 绝。若在你的机器中没有发现这样的服务拒绝并不能说明你的机器没有被攻击。maillog文件将保存那些通过服务器被陆游转发的email信息。 xferlog保存ftp的log信息。
若你希望查看wtmp,你可以使用last命令

# last | more

fishduck ttyp6 nexus Tue Sep 28
16:03 still logged in
birdrat ttyp5 speedy Tue Sep 28
15:57 still logged in
root tty1 Tue Sep 28
12:54 still logged in
将显示谁什么时候登陆进来,登陆了多长时间等信息。通过查看你可以发现非法登陆者信息。
你也可以查看以前的wtmp文件如wtmp.1, 你可以用命令:
# last -f /var/log/wtmp.1 | more
但是你还需要注意你的log文件的状态信息,如果它特别小 或者大小为0 则说明可能有攻击者进入系统,并且修改了这个文件。但是使用Linux Intrusion Detection System可以防止攻击者修改LOG文件。该工具的详细信息可以通过访问获得



系统的所有进程的祖父进程被成称为\"init\",其进程ID号是1。你可以通过下面的命令,看到init进程信息。
# ps ax | grep init
1 ? S 6:03 init

系统在启动时的init进程将会启动\"inetd\"进程,正如前面提到的该进程实现监听网络请求,监听是通过网络端口号来实现的。 例如你telnet到你的linux服务器上时,实际上你上请求inetd进程启动进程in.telnetd进程在23端口来处理你的访问请求实现通信。 随后,in.telnetd进程启动一个询问你的用户名和密码的进程,然后你 就登陆到机器了。基本上inetd监听很多端口来等待访问请求,然后激活完成相关服务的程序。你可以通过查看文件/etc/services来看哪个服务 使用哪个端口。从节省资源角度来说,利用一个进程而不是每种服务对应一个进程是有意义的。

当一个攻击者第一次访问你的站点时,他们往往使用成为端口扫描仪的工具,通过该工具攻击者来查看你开放了那些系统服务。
LInux上比较出名的一个端口扫描仪是nmap.可以从http://www.insecure.org/nmap/index.html下载得到该软件,最新的版本甚至有一个图形化界面nmapfe。下面我们就运行nmap看可以得到什么结果:

选项\"-sS\",指使用TCP SYN, 也就是半连接half-open扫描, \"-O\",只同时探测被扫描系统的操作系统。(利用OS指纹的技术,可以参见)攻击者知道了对方使用的何种操作系统就可以有针对性的寻找该操作系统的常见漏洞
# nmap -sS -O localhost


Starting nmap V. 2.3BETA5 by Fyodor ( This e-mail address is being protected from spambots, you need JavaScript enabled to view it ,
www.insecure.org/nmap/)
Interesting ports on localhost (127.0.0.1):
Port State Protocol Service
21 open tcp ftp
23 open tcp telnet
25 open tcp smtp
53 open tcp domain
79 open tcp finger
80 open tcp http
98 open tcp linuxconf
111 open tcp sunrpc
113 open tcp auth
139 open tcp netbios-ssn
513 open tcp login
514 open tcp shell
515 open tcp printer

TCP Sequence Prediction: Class=random positive increments
Difficulty=4360068 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.12

Nmap run completed -- 1 IP address (1 host up) scanned in 2
seconds

这些打开的端口就是攻击者入侵点。当你修改过inetd.conf文件以关闭某些服务,从新启动inetd后,你再用nmap扫描就可以发现被注释掉的服务扫描不到了
阅读(192) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~