1. 怎么安装《Hiweed linux 2.0 RC 3》(Hiweed Linux 2.0 RC 3)[光盘镜像]
你先得分给linux一点硬盘 系统文件(也就是根文件“/”)大概5G 然后是交换分区(“/swap”)这个不用太大 一般建议内存的两倍 也就是说你需要分两个空闲的分区出来
然后把下载下来的镜像放到FAT32格式的分区下(不要用你准备用来装linux的两个分区)接着解压 解压后可以看到一个 hiweed-install 类似名字的可执行文件 双击 然后根据提示安装就行了(做完了过后有提示你要重启,先不要重启,先把c:\ubuntu文件夹下面的initrd.gz换成ubuntu8.10镜像里面的initrd.gz,然后重启)
http://pickup.mofile.com/8525188534151422 这里可以下载到initrd.gz
重新启动的时候你会看到一个双启动选择菜单 上面是xp 下面是hiweed linuz选择下面的 这时候又会有一个启动向要求你选择 选择install hiweed linux 这时候就会进入到linux 让你安装 在启动等待的过程中 建议最好不要移动鼠标 否则可能自动登录失败 自动登录之后你就会看到一个安装界面 不要管 先直接退出 点击退出之后 就会回到livecd桌面 你会看到一个很绿 很清新的界面 下面是任务栏 点击上面一个[>_]阳的图标 是黑色的 然后在里面输入 sudo umount /media/s* 回车再输入sudo umount -l /isodevice之后 再关闭窗口 或者 输入 exit 接着就双击左面上的一个install图标 就可以正式开始安装了,按照提示 中间会来到分区设定 选者手动 下一步 接着就会看到你当前的分区列表(和win不太一样)找到你要装linux系统的那个分区 选者格式为ext3挂载为“/” 选者格式化 另一个挂载为“/swap”接着按照提示下一步就可以装了
装完了之后 xp的启动项会被淹没 接下来就是增加xp的启动项 竟如到hiweed
登录成功过后 再次选择任务栏上面的那个黑黑的图标 单击他 根上次一样弹出命令窗口 现在先设置你超级用户的密码 即root 用户 输入 sudo passwd回车 这时候会要求你输入当前用户的密码 直接键入就是了(不会有任何的提示付 即在你输入的过程中不会出现*或者其他符号来代替你输入的密码显示)如果你输密码的时候用到小键盘 一定注意小键盘是否打开 默认linux是关闭的。接下来会叫你输入超级用户的密码 重复确认 (超级用户权限非常强大 慎用 用户名为root 密码就是你刚刚设定的)接下来 再输入 sudo vim /boot/grub/menu.lst 回车 这时候 你会看到一窗口的 英文 按下键盘的insert键 用键盘的上下左右键将光标移动到追后一行(当然这是最简单的办法 也是最没有效率的办法 如果你学过vim那就没必要这样用了)换行 输入
title Windows xp
root (hd0,0)
makeactive
chainloader +1
boot
写完了后按下键盘的Esc键 再按“:”即shift+;键 这个时候会在窗口的最下派出现一个空白行 前面有一个“:” 输入wq 然后重启系统 在刚刚过万bios后按ESC就可以看到xp的启动项了。
http://pickup.mofile.com/1313227183266611 这里可以下载到一个图文的教程
2. 200分! Ubuntu V9.04 系统安装!
对于不了解Linux的说,可以使用一楼说的添加删除程序的方法来安装
ub提供了在windows下进行安装删除自身的功能的程序:wubi.exe
打开光盘根目录下就可以看到(如下图),点击"installinsidewindows"
就可以象普通程序一样安装在xp里面,先保证至少有一个分区有足够的空间,
然后下一步,
选择安装ubuntu的位置(哪个盘空间大安装到哪个盘)
然后选择安装虚拟镜像文件的大小,这决定了ubuntu能使用真实硬盘中多大的空间(这是通过一个镜像文件虚拟硬盘的方式)
再选择下语言,设置下用户名,密码(这要记住,否则就不好登陆了)
就可以开始安装了,速度很快,放心就是了,对原来系统不会有什么影响,
启动方式就像普通双windows系统菜单那样(如下图)
用不习惯就在控制面板里可以直接删除,
注:这样ub使用虚拟硬盘方式,安装和删除都不会改变原来硬盘分区结构
速度不会比真实硬盘慢很多,这个差异是感觉不到的
3. postfix 是做什么的软件啊
一、 postfix概述
postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。下面一段话摘自postfix的官方站点(http://www.postfix.org):“postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真实一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。”
1.1 postfix的特点
1. postfix是免费的:
postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。
2. 更快:
postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。
3. 兼容性好:
postfix是sendmail兼容的,从而使sendmail用户可以很方便地迁移到postfix。Postfix支持/var[/spool]/mail、/etc/aliases、 NIS、和 ~/.forward 文件。
4. 更健壮:
postfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。
5. 更灵活:
postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。
6. 安全性
postfix具有多层防御结构,可以有效地抵御恶意入侵者。如大多数的postfix程序可以运行在较低的权限之下,不可以通过网络访问安全性相关的本地投递程序等等。
1.2 postfix的总体结构
postfix由十几个具有不同功能的半驻留进程组成,并且在这些进程中并无特定的进程间父子关系。某一个特定的进程可以为其他进程提供特定的服务。
大多数的postfix进程由一个进程统一进行管理,该进程负责在需要的时候调用其他进程,这个管理进程就是master进程。该进程也是一个后台程序。
这些postfix进程是可以配置的,我们可以配置每个进程运行的数目,可重用的次数,生存的时间等等。通过灵活的配置特性可以使整个系统的运行成本大大降低。
1.2.1 postfix的邮件队列(mail queues)
postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:
1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。
2. incoming:放置正在到达或队列管理进程尚未发现的邮件。
3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。
4. deferred:放置不能被投递的邮件。
队列管理进程仅仅在内存中保留active队列,并且对该队列的长度进行限制,这样做的目的是为了避免进程运行内存超过系统的可用内存。
1.2.2 postfix对邮件风暴的处理
当有新的邮件到达时,postfix进行初始化,初始化时postfix同时只接受两个并发的连接请求。当邮件投递成功后,可以同时接受的并发连接的数目就会缓慢地增长至一个可以配置的值。当然,如果这时系统的消耗已到达系统不能承受的负载就会停止增长。还有一种情况时,如果postfix在处理邮件过程中遇到了问题,则该值会开始降低。
当接收到的新邮件的数量超过postfix的投递能力时,postfix会暂时停止投递deferred队列中的邮件而去处理新接收到的邮件。这是因为处理新邮件的延迟要小于处理deferred队列中的邮件。Postfix会在空闲时处理deferred中的邮件。
1.2.3 postfix对无法投递的邮件的处理
当一封邮件第一次不能成功投递时,postfix会给该邮件贴上一个将来的时间邮票。邮件队列管理程序会忽略贴有将来时间邮票的邮件。时间邮票到期时,postfix会尝试再对该邮件进行一次投递,如果这次投递再次失败,postfix就给该邮件贴上一个两倍于上次时间邮票的时间邮票,等时间邮票到期时再次进行投递,依此类推。当然,经过一定次数的尝试之后,postfix会放弃对该邮件的投递,返回一个错误信息给该邮件的发件人。
1.2.4 postfix对不可到达的目的地邮件的处理
postfix会在内存中保存一个有长度限制的当前不可到达的地址列表。这样就避免了对那些目的地为当前不可到达地址的邮件的投递尝试。从而大大提高了系统的性能。
1.2.5 postfix的安全性
postfix通过一系列的措施来提高系统的安全性,这些措施包括:
1. 动态分配内存,从而防止系统缓冲区溢出;
2. 把大邮件分割成几块进行处理,投递时再重组;
3. Postfix的各种进程不在其他用户进程的控制之下运行,而是运行在驻留主进程master的控制之下,与其他用户进程无父子关系,所有有很好的绝缘性。
4. Postfix的队列文件有其特殊的格式,只能被postfix本身识别;
二、 postfix对邮件的处理过程
2.1 接收邮件的过程
当postfix接收到一封新邮件时,新邮件首选在incoming队列处停留,然后针对不同的情况进行不同的处理:
1.对于来自于本地的邮件:sendmail进程负责接收来自本地的邮件放在maildrop队列中,然后pickup进程对maildrop中的邮件进行完整性检测。maildrop目录的权限必须设置为某一用户不能删除其他用户的邮件。
2.对于来自于网络的邮件:smtpd进程负责接收来自于网络的邮件,并且进行安全性检测。可以通过UCE(unsolicited commercial email)控制smtpd的行为。
3.由postfix进程产生的邮件:这是为了将不可投递的信息返回给发件人。这些邮件是由bounce后台程序产生的。
5. 由postfix自己产生的邮件:提示postmaster(也即postfix管理员)postfix运行过程中出现的问题。(如SMTP协议问题,违反UCE规则的记录等等。)
关于cleanup后台程序的说明:cleanup是对新邮件进行处理的最后一道工序,它对新邮件进行以下的处理:添加信头中丢失的Form信息;为将地址重写成标准的[email protected]格式进行排列;重信头中抽出收件人的地址;将邮件投入incoming队列中,并请求邮件队列管理进程处理该邮件;请求trivial-rewrite进程将地址转换成标准的[email protected]格式。
2.2 投递邮件的过程
新邮件一旦到达incoming队列,下一步就是开始投递邮件,postfix投递邮件时的处理过程如图三所示。相关的说明如下:
邮件队列管理进程是整个postfix邮件系统的心脏。它和local、smtp、pipe等投递代理相联系,将包含有队列文件路径信息、邮件发件人地址、邮件收件人地址的投递请求发送给投递代理。队列管理进程维护着一个deferred队列,那些无法投递的邮件被投递到该队列中。除此之外,队列管理进程还维护着一个active队列,该队列中的邮件数目是有限制的,这是为了防止在负载太大时内存溢出。邮件队列管理程序还负责将收件人地址在relocated表中列出的邮件返回给发件人,该表包含无效的收件人地址。
如果邮件队列管理进程请求,rewrite后台程序对收件人地址进行解析。但是缺省地,rewrite只对邮件收件人是本地的还是远程的进行区别。
如果邮件对你管理进程请求,bounce后台程序可以生成一个邮件不可投递的报告。
本地投递代理local进程可以理解类似UNIX风格的邮箱,sendmail风格的系统别名数据库和sendmail风格的.forward文件。可以同时运行多个local进程,但是对同一个用户的并发投递进程数目是有限制的。你可以配置local将邮件投递到用户的宿主目录,也可以配置local将邮件发送给一个外部命令,如流行的本地投递代理procmail。在流行的linux发行版本RedHat中,我们就使用procmail作为最终的本地投递代理。
远程投递代理SMTP进程根据收件人地址查询一个SMTP服务器列表,按照顺序连接每一个SMTP服务器,根据性能对该表进行排序。在系统负载太大时,可以有数个并发的SMTP进程同时运行。
4. 5.30 电子邮件sendmail试验
估计时间: 2个小时
目标: 建立基本的MTA的配置的技能
试验的起点: 标准的Red Hat Linux安装
确保在Server1上的sednmail.mc文件中的DAEMON_OPTIONS被注释并且重新编译sendmail.cf文件使得能够接受来自其他主机的电子邮件。
介绍
本次实验作为一个安装和配置MTA的介绍。在介绍中我们将提及sendmail和postfix。您可以选择任何一个MTA,如果时间允许,您两个都可以做一下试验。在接下来的步骤中,您将
1. 安装并且验证sendmail的“发件箱”
2. 为您的sendmail的安装添加新的别名
3. 使用m4工具来改变您的转发行为
4. 安装POP3服务器并且配置POP客户端
在整个试验中,主机和域名取决于您的机器的IP地址。如果下面的试验出现了X字样的名称,您应该把X字样的名称替换成你的工作站的号码(您的IP地址的最后一个部分)。例如,如果您的工作站的IP的地址是192.168.0.2,您应该将stationX.domainX.example.com转换成station2.domain2.example.com。
将数据包过滤设定为无效状态。在本次试验开始之前,请您确保您的主机上的所有包过滤已被关闭(显然,在实际使用中您可以利用Linux内核的防火墙机制,然而我们在这里关掉它是为了减少潜在的问题)。
本次试验中以root身份来使用下面命令达成上面的要求:
service iptables stop
chkconfig iptables off
初始化安装-安装必要的软件包
下列软件包对于sendmail是必需的: sendmail,sendmail-cf,sendmail-doc,m4和procmail。对于postfix而言,您需要: postfix。如果需要他们,从CD上进行检视和安装,server1的NFS安装点,从: ftp://server1/pub/RedHat/RPMS/
为了安全的原因,sendmail和postfix的缺省的配置允许发邮件但是不允许从网络上接收邮件(缺省的它们只接受从回环接口上的连接)。按照如下配置您选择的MTA使得它接受传入的连接:
⑴ 对于sendmail: 修改 /etc/mail/sendmail.mc使用dnl注释在下面的行之前,就像这样:
dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
⑵ 将您的sendmail.cf文件做一个备份:
cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.orig
⑶ 在同一个目录下,编译sendmail.cf
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
⑷ 重新启动sendmail,通过
service sendmail restart
对于postfix:修改/etc/postfix/main.cf
⑴. 找到并注释如下行
inet_interfaces = localhost
⑵. 取消注释该行:
inet_interfaces = all
⑶. 保存文件并且进行到步骤2 的结束的地方。找到和上面一样的对应于postfix的配置的地方。
对于sendmail: 有几个步骤您应该采用,以确保sendmail被正确安装。
⑴. 确信sendmail已经被在适当的运行级别上运行
检查您的sendmail被适当的配置且能够在重新启动以后其能够运行。使用chkconfig是比较方便的。
chkconfig -–list sendmail
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
如果sendmail在标准的用户运行级别时无效,使用chkconfig,ntsysv 或者serviceconf 之类的工具来激活服务。
⑵. 确定sendmail没有在启动的时候出现错误
Red Hat Linux安装的时候使用提供的syslog工具来记录所有的信息到文件/var/log/maillog中去。检查此文件中的最后出现“starting”的地方以确保sendmail在启动的时候没有任何错误。
sendmail可执行文件位于/usr/sbin/sendmail。为了确定sendmail是否正确标识您的主机名称,通过命令行开关开启其调试模式并且设定为0:
sendmail –d0 < /dev/null
Version 8.11.6
Compiled with: LDAPMAP MAP_REGEX LOG MATCHGECOS MIME7TO8 MIME8TO7
NAMED_BIND NETINET NETINET6 NETUNIX NEWDB NIS QUEUE SASL SCANF
SMTP TCPWRAPPERS USERDB
============ SYSTEM IDENTITY (after readcf) ============
(short domain name) $w = station2
(canonical domain name) $j = station2.example.com
(subdomain name) $m = station2
(node name) $k = station2.example.com
Recipient names must be specified
如果sendmail返回您的主机名称为localhost,您可能错误配置了/etc/hosts文件。检查您的/etc/hosts文件,删除所有的但记住留下localhost的指向。如果/etc/hosts文件是正确的,那么检查一下在/etc/sysconfig/netwoek中的HOSTNAME的定义。
试图向root@server1发送简单的邮件。您可以看到一个合理的您的主机的转发服务器的SMTP交换。
#echo “hello root” | mail –v –s hello root@server1
root@server1... Connecting to [127.0.0.1] via relay...
220 localhost.localdomain ESMTP Sendmail 8.12.8/8.12.8; Mon, 22 Sep 2003 14:29:24 +0800
>>> EHLO localhost.localdomain
250-localhost.localdomain Hello station1 [127.0.0.1], pleased to meet you
...
>>> MAIL From: SIZE=52 [email protected]
250 2.1.0 ... Sender ok
>>> RCPT To:
>>> DATA
250 2.1.5 ... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 h8M6TOU5026513 Message accepted for delivery
[email protected]... Sent (h8M6TOU5026513 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 localhost.localdomain closing connection
如果SMTP交换向上面一样正确,那么消息将被转发到您的工作站上的本地的转发服务器上,并且mailq –Ac将会报告一个空的对列。接下来检查mail(不使用参数)来检查一下消息是否从本地的转发到server1。这样对列也应该是空的。
您的消息是不是在/var/log/maillog中正确的记录呢?在下面的步骤中,监视文件/var/log/maillog。下面的命令将会十分的有用:
xterm –e tail –f /var/log/maillog &
对于postfix:
⑴. 运行‘service sendmail stop’,接下来使用redhat-switch-mail使得postfix成为活跃的MTA。您也可以使用如下的命令行:
alternatives –set mta /usr/sbin/sendmail.postfix
⑵. 确保postfix在合适的运行级别有效:
chkconfig -–list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
⑶. 确定hostname命令正确的返回您的主机名称。应该是您的FQDN。
如果sendmail返回您的主机名称为localhost,您可能错误配置了/etc/hosts文件。检查您的/etc/hosts文件,删除所有的但记住留下localhost的指向,然后再试一遍。如果/etc/hosts文件是正确的,那么检查一下在/etc/sysconfig/netwoek中的HOSTNAME的定义。当这些值都正确的时候,启动postfix服务。
⑷. 确定postfix在启动的时候没有错误
和sendmail一样,Red Hat Linux的安装使用提供的syslog工具来记录所有的信息到文件/var/log/maillog中去。检查此文件中的最后查找任何错误信息。
试图向root@server1发送简单的邮件并且检查/var/log/maillog的记录文
mail –s `echo $USER` root@server1 < /etc/redhat-release
应该是如下所示:
Sep 22 02:51:50 station1 postfix/pickup[2865]: A20ED348389: uid=0 from=
Sep 22 02:51:50 station1 postfix/cleanup[3534]: A20ED348389: message-id=<2003092
Sep 22 02:51:50 station1 postfix/nqmgr[2866]: A20ED348389: from=<[email protected] span=""> </[email protected]>
xample.com>, size=341, nrcpt=1 (queue active)
Sep 22 02:51:51 station1 postfix/smtp[3536]: A20ED348389: to=<[email protected] span=""> </[email protected]>
82>, relay=192.168.241.182[192.168.241.182], delay=1, status=sent (250 Message q
ueued)
对于sendmail:
在sendmail决定消息的接受者的目的地的之前,其先试图在别名中查找。Sendmail的主要的别名配置文件是/etc/aliases。为了优化查找,sendmail为其别名记录建立了一个哈希表数据库/etc/aliases.db.该文件通过newalias命令产生(该命令是sendmail –bi的同名)
下列命令将增加用户student(如果不存在的话)
useradd student
在/etc/aliases 行加入如下的行:
me: student
wizards: root, me
methere: [email protected]
现在运行newalias 命令来更新数据库,尝试发送邮件给您定义的收件人:
newalias
echo “hello there” | mail –s “hello” m
echo “hello there” | mail –s “hello” wizards
echo “hello there” | mail –s “hello” methere
您是否得到了期望的结果?是否所有的位于wizards的收件人都收到了邮件?如果没有,su – 到不是root的用户再试一次。
在postfix决定消息的接受者的目的地的之前,其先试图在别名中查找。Postfix的主要的别名配置文件是/etc/postfix/aliases。为了优化查找,postfix为其别名记录建立了一个哈希表别名数据库/etc/postfix/aliases.db(和sendmail类似).该文件通过newalias命令产生。
下列命令将增加用户student(如果不存在的话)
useradd student
在/etc/postfix/aliases 行加入如下的行:
注意:注释root别名的那一行为postfix
me: student
wizards: root, me
methere: [email protected]
现在运行newalias 命令来更新数据库,尝试发送邮件给您定义的收件人:
newalias
echo “hello there” | mail –s “hello” me
echo “hello there” | mail –s “hello” wizards
echo “hello there” | mail –s “hello” methere
您是否得到了期望的结果?是否所有的位于wizards的收件人都受到了邮件?
转发允许邮件通过使用中间的“转发”及其传递到其目的地。尽管这个功能曾经有用,但是转发已经成为Internet上垃圾邮件的源泉了。人们希望发送主动提供的的邮件的时候希望使用转发机制,从而使得邮件发源地很难被侦测出来。
下列步骤将使用下面的主机。替换X,Y和Z为适合的工作站的号码:
stationX:源机器,邮件从这里发出
stationY:转发机器,这里邮件从发送者送出
stationZ:目的机器,邮件的最终目的
该步骤假设您是stationX,转发机器,与某人的stationY合作,该机器为邮件的源头。在该步骤中,注意/var/log/maillog的变化。下列命令将会显得十分的有用。
对于sendmail
步骤⑴ :允许转发
您具有控制允许谁在您的机器上转发的能力。通过控制您的机器的混杂转发,您可以使得任何人都能够将您的机器作为转发的主机。(我们对于这种的尝试表示反对,也希望通过该实验显示出其缺陷)。配置/etc/mail/sendmail.mc, 通过加入如下行使得m4前置处理器允许混杂转发:
/etc/mail/sendmail.mc
(…其他的内容…)FEATURE(promiscuous_relay)dnl
使用m4前置处理机通过这个模板文件生成一个新的sendmail配置文件,然后将新生成的文件与通过sendmail RPM软件包提供的进行比较
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.test-relay
diff /etc/mail/sendmail.test-relay /etc/mail/sendmail.cf
使用混杂转发以后会有多大的不同呢?现在将新建立的sendmail.test放置在恰当的位置上,重新启动sendmail.
mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.accept-mail
cp /etc/mail/sendmail.test-relay /etc/mail/sendmail.cf
service sendmail restart
让您的伙伴扮演恶意的垃圾邮件的发送者,该人能够通过telnet到您的机器上的smtp(sendmail)的25号断口,进行垃圾邮件发送地址的欺骗,在stationY键入如下命令:
这个例子对于stationY(源机器) station2,并且stationX(转发,在这里目的机器) station1
[root@station1 root]# telnet station1 25
Trying station1.example.com...
Connected to station1.example.com (station1.example.com).
Escape character is '^]'.
220 station1.example.com (IMail 8.00 8-1) NT-ESMTP Server X1
helo mail.cracker.org
250 hello station1.example.com
mail from: [email protected]
250 ok
rcpt to:[email protected]
250 ok its for [email protected]
data
354 ok, send it; end with .
Subject: Faked
this was faked!
250 Message queued
quit
221 Goodbye
Connection closed by foreign host.
垃圾邮件现在送到您的机器上了。下一步,看看您的伙伴能不能从您的机器转发给第三台机器:
这个例子对于stationY(源机器) station2,并且stationX(转发,在这里目的机器) station1,并且stationZ(目的机器) station3
[root@station1 root]# telnet station1 25
Trying station1.example.com...
Connected to station1.example.com (station1.example.com).
Escape character is '^]'.
220 station1.example.com (IMail 8.00 9-1) NT-ESMTP Server X1
helo mail.craker.org
250 hello station1.example.com
mail from: [email protected]
250 ok
rcpt to [email protected]
250 ok its for [email protected]
data
354 ok, send it; end with .
Subject: Relayed
this was faked any relayed!
250 Message queued
quit
221 Goodbye
Connection closed by foreign host.
由于您的机器已经被配置成为允许混杂转发,垃圾邮件可以通过您的机器进行邮件转发。
对于postfix:
您具有控制允许谁在您的机器上转发的能力。缺省的postfix允许在子网上的任何人通过您的机器进行转发。但是并不是在每一个环境中都安全的。例如,您的机器和其他机器在一起,如果您的本地子网里有一台机器被其他人控制,那么其他的机器都会有麻烦。
让您的伙伴扮演恶意的垃圾邮件的发送者,该人能够通过telnet到您的机器上的postfix的25号断口,进行垃圾邮件发送地址的欺骗,在stationY键入如下命令:
[root@station1 root]# telnet station1 25
Trying 127.0.0.1...
Connected to station1 (127.0.0.1).
Escape character is '^]'.
220 station1.example.com ESMTP Postfix
helo mail.craker.org
250 station1.example.com
mail from:[email protected]
250 Ok
rcpt to: [email protected]
250 Ok
data
354 End data with .
Subject: Faked
this was faked!
.
250 Ok: queued as 4FFA2348389
quit
221 Bye
Connection closed by foreign host.
垃圾邮件现在送到您的机器上了。下一步,看看您的伙伴能不能从您的机器转发给第三台机器:
这个例子对于stationY(源机器) station2,并且stationX(转发,在这里目的机器) station1,并且stationZ(目的机器) station3
[root@station1 root]# telnet station1 25
Trying 127.0.0.1...
Connected to station1 (127.0.0.1).
Escape character is '^]'.
220 station1.example.com ESMTP Postfix
helo mail.craker.org
250 station1.example.com
mail from: [email protected]
250 Ok
rcpt to: [email protected]
250 Ok
data
354 End data with .
subject: Relayed
this was faked and relayed!
.
250 Ok: queued as 69C7B348389
quit
221 Bye
Connection closed by foreign host.
由于您的机器已经被配置成为允许混杂转发,垃圾邮件可以通过您的机器进行邮件转发。
步骤⑵ :不允许转发
对于sendmail
通过替换新的sendmail.cf为接受传入的信件的配置文件来恢复缺省的sendmail的配置,并且重新启动sendmail:
mv /etc/mail/sendmail.cf.accept-mail /etc/mail/sendmail.cf
service sendmail restart
让您的伙伴再从stationY转发垃圾邮件。您的sendmail还是一个转发器么?任何一个转发的都会产生如下的消息:
550 [email protected] .. Relaying denied
对于postfix
编辑文件/etc/postfix/main.cf取消转发。
查找并且取消注释下面的行,并且重新启动postfix
mynetworks_style = host
让您的伙伴再从stationY转发垃圾邮件。您的postfix还是一个转发器么?任何一个转发的都会产生如下的消息:
554 : Recipient address rejected: Relay access denied
步骤⑶ :选择性的转发
对于sendmail
对于特定的主机,域或者网络,编辑/etc/mail/access并且重新启动sendmail。为了允许所有在example.com域中的机器可以把您的机器作为邮件转发服务器,你在/etc/mail/acces中添加如example.com域。和您的伙伴使用场景A中的命令进行测试。
对于postfix
对于特定的主机,域或者网络,编辑/etc/postfix/main.cf并且重新启动postfix。对于特定的主机允许通过您的机器进行转发,找到并且取消注释该行:
mynetworks_style = host
然后添加新行来允许转发的主机和网络,在这里允许station1和本地转发
mynetworks = 192.168.0.1, 127.0.0.0/8
和您的伙伴使用场景A中的命令进行测试。
在这个步骤中,你将配制您的机器stationX作为邮件的POP3服务器,使得您的在stationY的伙伴扮演POP客户端的角色。
步骤⑴ :安装POP3服务器
配置一个POP3服务器比较简单,只需要两个步骤:
① 安装相关的RPM软件包
② 在xinetd中允许服务
① 安装相关的RPM软件包
POP守护进程和其他的具有相同功能的守护进程,例如IMAP守护进程绑定在软件包imap中。再如xinetd,krb5-libs*和imap软件包来检查imap软件包含有什么软件。
三个守护进程被包括进来:imapd,ipop2d和ipop3d。POP3被用在很多Internet服务提供商,POP2提供是为了向后兼容。IMAP守护进程提供了根加复杂的能力,包括了在服务器端的文件夹的管理。
② 在xinetd中允许服务
对于本实验,我们仅选定POP3服务。ipop3d通过xinetd在请求的时候被启动。为了激活,运行下面的命令:
service xinetd start
chkconfig ipop3 on
查看一下/etc/xinetd.d/ipop3。显式的重新启动xinetd并不是必需的,由于chkconfig发送给xinetd 一个USR2信号告诉他重新调入其配置。
确认服务
运行下面的命令确认服务已经被正确的安装。下面的命令只是一个指导:
echo “mail to be poped” | mail –s “Hello student” student
[root@station1 root]# telnet localhost 110
Trying 127.0.0.1...
Connected to station1 (127.0.0.1).
+OK POP3 station1 v2001.78rh server ready
USER student
+OK User name accepted, password please
PASS student
+OK Mailbox open, 1 messages
list
STAT
+OK 1 440
TOP 1 99999
retr 1
+OK Top of message follows
Return-Path: [email protected]
Delivered-To: [email protected]
Received: by station1.example.com (Postfix, from userid 0)
id 72314348390; Mon, 22 Sep 2003 08:02:27 -0400 (EDT)
Subject: Hello student
Message-Id: [email protected]
Date: Mon, 22 Sep 2003 08:02:27 -0400 (EDT)
From: [email protected] (root)
Status:
mail to be poped
.
DELE 1
+OK Message deleted
QUIT
+OK Sayonara
Connection closed by foreign host.
如果一切顺利的话,您现在有一个安装好的POP服务器了。
步骤⑵ :使用POP客户端
所有的现在的邮件用户代理(MUA),例如netscape,elm,Outlook,pine和mutt都是使用POP的,可以被用作POP的客户端。每一个的配置都有所不同。同样有一个流行字符界面的的POP客户端叫做fetchmail。fetchmail是高度的可配置的,可以查询多个邮箱,可以作为守护进程运行,这样使得其每五分钟查询用户的邮箱。fetchmail在主机上递送邮件到邮件传送代理(MTA),例如sendmail。我们将勾画出以后如何安装fetchmail和使用其来查询我们装过的POP服务器。
从CD或者从 ftp://server1/pub/RedHat/RPMS来安装fetchmail软件包
注意到有很多选项可以影响fetchmail的行为。建立一个~/.fetchmailrc文件如下所示:
~student/.fetchmailrc
poll stationX.exmaple.com with protocol pop3: user studentXX there is user studentXX here password “password”
由于密码存储在该文件中,因此fetchmail将会拒绝运行除非您把该文件的属性设定为对于仅仅文件的所有者只读。注意还可以使用chown改变由root创建的文件的所有者为studentXX。
chmod 600 ~student/.fetchmailrc
chown student.student ~student/.fetchmailrc
尝试使用studentXX登陆到POP3邮
echo “hello student” | mail –s “Hola” student
su – student
fetchmail –v
exit
fetchmail能不能接收到student的POP邮件?将递送student的邮件到哪里?比从本地获取POP邮件有意义么?
让您的伙伴在另外一台机器上建立相同的~/.fetchmailrc文件(或者配置其它诸如mozilla的MTA)试图从您的服务器上进行收信。
⑴ m4宏语言提供给sendmail管理哪些东西?把所有的在xyz.com的用户邮件导向到本地用户xzplogin该使用什么语法?该在什么文件的和处填上这句话?
⑵ mailq命令用来作什么?您如何使用?
⑶ 当命令sendmail –q发出以后,sendmail将会试图仍在队列中等待的邮件。何时使用该命令是有用的?
⑷ 如果去除FEATURE(accept_unresolvable_domains)的注释将对垃圾邮件产生如何的影响?
⑸ m4有什么特征允许sendmail发送邮件作为整个域(例如,“example.com”)而不是完全的符合标准的主机名称(例如,“mail.example.com”)?
⑹ 在postfix中mynetworks_style如何影响转发?
请您查看文件/etc/postfix/main.cf。
⑺ 在文件/etc/postfix/access中需要如何的活跃的变化?
5. 现在最好的杀毒软件是什么
【转贴自龙族论坛】
绝对值得一看的杀毒软件和防火墙评论
最近经常有网友发消息问我,到底哪个哪个杀毒软件最厉害,哪个杀毒软件售价最高?呵呵,诸如此类的问题老实说我也无法做出肯定的答复。我就随便谈一些我个人的见解。世界上公认的比较著名的杀毒软件有卡巴斯基,F-SECURE,MACFEE,诺顿,趋势科技,熊猫,NOD32,AVG,F-PORT等等。其中卡巴,macfee,诺顿又被誉为世界三大杀毒软件!每个杀毒软件都有自身的优势,当然也有不足之处!
比如卡巴斯基的杀毒能力确实很强,对的起排名世界第一的称号,但是监控方面却存在不足,而且在内存占用方面始终令人头疼。Macfee的系统监控恰恰是做的最好的。NOD32的扫毒速度最快,内存占用方面最少,全球获奖无数,因而成为微软御用4年的杀毒软件也绝非空穴来风。熊猫可能大家以为是中国的,其实也是洋货啦,杀毒理念和模块最先进,可惜老是提示你要重新激活,所以破解的不大完美!诺顿大家很熟悉,老实说诺顿的广告宣传还真是不错的,但是大家注意,别看广告,看疗效!当诺顿屡次告诉你XX病毒被隔离,无法清除时,你是否感到厌倦了呢?当然诺顿企业版要比个人版本的杀毒能力更强悍,建议大家使用9.0的,最新10.0占用资源有点大,不算完美。F-SECURE可能知道的人很少,别说用的人了,呵呵。我自己现在用的杀软就是这款,其实这款杀毒软件名气是相当响的。来自芬兰的杀毒软件,集合AVP,LIBRA,ORION,DRACO四套杀毒引擎,其中一个就是Kaspersky的杀毒内核,而且青出于蓝胜于蓝,个人感觉杀毒效率比Kaspersky要好,对网络流行病毒尤其有效。在《PC Utilites》评测中超过Kaspersky名列第一。该软件采用分布式防火墙技术。f-secure 曾经超过Kaspersky,排名第一,但后来Kaspersky增加了扩展病毒库,反超f-secure 。鉴于普通用户用不到扩展病毒库,因此f-secure还是普通用户很不错的一个选择。所以我用下来的感觉就是F-SECURE的综合能力可以排第一名!但是这个软件也有不足,就是进程太多,要近15个进程,呵呵,谁叫它有四套杀毒引擎呢?不过也够安全吧。进程虽多,却一点不觉得卡!
在此不得不提起国产杀毒软件,国产杀毒软件也有很多用户群,个性化的界面也赢得了很多用户的青睐。比如瑞星的那个小狮子就蛮可爱的,做个桌面宠物也不错。但是有很多人会说,国产的技术不行,靠不住的。呵呵,其实我倒不这么认为!国产杀毒软件我最喜欢的就是KV2005,江民的东西还是老牌子,杀毒监控实力不俗。瑞星和金山的起步晚一些,有些地方做的还是不够理想,但毕竟是在不断进步,希望能越做越好,给中国人也争光一把,哈哈。也许有人会说实际的杀毒能力说明一切,金山,瑞星和卡巴比就是垃圾等等。呵呵,那你就错了,如果说卡巴能杀掉这个病毒,金山杀不掉,就说明卡巴强于金山?反过来金山能杀掉这个病毒,卡巴无法清除这个病毒就说明卡巴不行?网络上可以找到一个2005年病毒测试包样本,是个压缩包文件,里面大概有26个病毒样本,试试你的杀软吧,呵呵,江民,金山,瑞星兵不血刃的杀光了所有病毒,再看看卡巴啊,这次傻了吧,所以说每个杀毒软件都有自己的长处,不能一拍子否定。
还有的朋友问我一个杀毒软件保险伐,要不要装两个来个双保险,呵呵,对于这个我觉得是可行的,但是前提是你对杀毒软件的各项设置要比较了解而且自己的电脑配置要高档点,否则不是系统容易崩溃就是电脑被两个杀毒软件拖垮的。比较典型的例子就是卡巴斯基+KV2005的组合,很显然卡巴系统监控的不足由KV2005来弥补。卡巴只负责杀毒即可了。但是这个豪华组合要牺牲很多内存,你电脑够劲的话可以试试。另外卡巴加NOD32也是不错的搭配,NOD32查毒和监控方面都不错,而且查毒速度奇快,内存占用很小,这样你可以用NOD32进行查毒,大家都知道卡巴的查毒速度是很慢的,因为病毒库多啊,每个文件都要那13W病毒库去套,能不慢嘛!
有的朋友关心哪个杀毒软件病毒库多哪个就牛,呵呵,大家都以为卡巴病毒库很多是吧,现在大概13万4千左右吧,但是面对罗马尼亚的杀软BitDefender Professional近20W的病毒库,卡巴一边凉快去吧。所以BitDefender Professional在2005年一些网站的测试中取得过第一名的成绩。但是病毒库多并不能说明问题,实际杀毒能力BitDefender Professional并没有比卡巴更好,所以这个也是大家理解的误区!有人认为卡巴病毒库升级极其迅速所以最牛,虽然卡巴每小时都有升级,很频繁,但是很多病毒库都非最终版,也就是很容易出现误报现象,所以建议大家到周末的时候再升级自己的卡巴,因为周末是卡巴整理一周病毒库,删除错误病毒库的时候。 �
还有有的朋友认为杀毒软件只要杀毒厉害就是一流的,其实这种观点我认为也不对,比如macfee,它其实杀毒并没有怎么厉害,肯定没有卡巴那么野蛮,但是为什么它也拥有广泛的用户群,有很好的口碑,很显然macfee的监控做的很完美,可以说滴水不漏,监控这么好的杀软我想杀毒能力稍微弱点又有何妨呢?因为第一道防线病毒都无法逾越的话不就是最大的成功么?反观卡巴杀毒是厉害,但是恰恰是由于它监控的不足,使病毒可以入侵,但鉴于杀毒能力很牛,所以第二道防线病毒就通不过了,这样逆向思考或许就能想通了!
另外一个大家关心的问题就是装了杀毒软件是否还要加装防火墙的问题,哪款防火墙最好等等!呵呵,其实个人感觉XP SP2自带的防火墙也已经蛮不错了,够用了。如果大家真的有要求的话,我个人认为可以这么做:
1,如果你选择安装的是F-SECURE client security的话,那么这款杀毒软件自带防火墙程序,而且这个防火墙排名欧洲第一,绝对可以了已经。这样你就可以不必再另外安装了,这个选择比较便捷!
2,ZA,也就是ZONEALARM,用户群也蛮多额,ZA功能确实比较强大,但是对普通用户而言还是比较难上手,而且过于严格的规则可能导致上某些论坛出错,而且最新的ZA版本与卡巴斯基有严重冲突,所以卡巴的用户如果要安装ZA防火墙的话还是悠着点,哈哈。实在想尝试的话可以考虑安装5.5版本的,这个稳定。
'
3,OP,也就是outpost,口碑很好,用户对其评价很高,号称世界排名第二的东东,对于广告拦截很有效果,反黑能力也很强悍,网上找个破解补丁可以使用10年,但是可能占用系统资源多一点,配置不高的用户可能上网会感觉有点延迟。而且这款防火墙比较专业,上网过滤的东西也很多,很多网站的图片也被过滤掉,用户可能看的不习惯,所以大家自己看着办吧。
4,Tiny personal firewall pro,tiny防火墙是我用过的防火墙里面感觉技术最为先进的一款,貌似是国外军方防火墙,呵呵。Tiny的规则相当严格和复杂,对于一些刚上手的朋友而言肯定吃不消的,而且tiny防火墙与卡巴的网页扫描功能有冲突,所以这款防火墙是超级强悍,东西绝对是一流的,不怕麻烦的朋友可以尝试安装。
5,Lns,也就是传说中的look'n'stop,号称世界第一的顶级防火墙,只有600多KB,容量很小,系统资源占的很少,但是功能极其强大,只可惜设置超级复杂,很难上手,一般用户还是选择放弃吧,呵呵,虽然有一些别人编订的规则包,但还是不大适合我们使用。
6,天网,相信用的人满天飞,世界排名未知,呵呵,其实是根本埃不到边。天网可以算是一款入门级别的防火墙,和上述5款防火墙最大区别是非常容易上手,根本不需要设置什么东西,拿来就用!普通用户如果怕不装防火墙感觉不安,但又怕设置麻烦的话,干脆就用用天网算了。
国产的瑞星或者天网都会标榜自己的防火墙规则是多么多么丰富,貌似搞的很牛的样子,其实恰恰相反,规则越多防火墙性能越差,比如瑞星几乎天天更新规则,天网更是广告做到声称自己有1000条规则库文件,每次上网,天网防火墙不断闪动红色感叹号,报告XX用户试图连接本机XX端口,该包已被拦截,这个是不是增加你的心里安慰呢?每时每刻都在拦截信息,哪有这么多黑客会盯着你,天网这样做好像有点夸大其词了。其实有这么多规则顶用么?规则一多上网速度就越慢,每个探测端口的信息防火墙就要用近千条规则去衡量,这不傻掉啊!真正一流的防火墙并不需要超级多的规则,也不需要频繁更新,就如卡巴防火墙,虽然界面极其简单,更新也不快,但是一个隐藏模式就足以令国产的瑞星和天网闭嘴!
很多人热衷于做网上安全测试,我也做过几次,后来发现也不能说明什么问题,加装一流防火墙和不装防火墙就一定有本质区别?就拿诺顿安全测试来看,只用XP SP2自带防火墙就可以轻松通过所有测试,全部显示安全。呵呵,装个ZA也是安全,那到底装不装呢?所以大家也不要迷信这些测试网站。自己认为怎么顺手就怎么用好了!
乱七八糟说了这么多,也不知道大家有没有耐心看完额。以上涉及的杀毒软件或者防火墙本人每个都使用过,所以写的内容也是真实的使用体会。大家随便看看吧。如果各位图个方便,不想装其他设置繁琐的防火墙,但又希望系统有最大限度的安全保障的话,可以考虑使用国外的F-Secure Anti-Virus Client Security或者BitDefender Professional,都是杀毒软件+防火墙的组合装。个人更看好F-Secure Anti-Virus Client Security,集合AVP,LIBRA,ORION,DRACO四套杀毒引擎+内置防火墙+反间谍监控程序,可以说各方面功能都比较均衡实在,怕麻烦的朋友们不仿可以考虑一下。但是这个软件只有英文原版的,但是我想英文界面也并非那么令人望而却步吧。
其实对于杀毒软件除了国内的,国外的杀软建议大家都使用英文原版的,那些汉化内核的版本最好别用,bug太多,除了真正出过简体中文版本的,不过我个人还是不喜欢,呵呵。
另外我需要强调一点的就是卡巴其实并不适合每个人,大家应该依照自己的实际情况装杀毒软件,卡巴占用系统资源更象暴发户,所以很容易拖垮电脑,如果自己电脑配置本身就不高,CPU处理器能力也不强,或者内存就256MB那么点,我想还是算了吧,毕竟装了以后你才知道什么叫慢,开了个卡巴,除了得到我系统应该很安全了这样的心里安慰,其他事情都不能做,开个大程序就卡,玩个游戏载入要老半天,这又何苦呢?与其这样,我宁可欣赏飘哥的做法,撒杀毒软件也不装,就搞个防火墙玩玩,毕竟节省资源啊!敢于裸奔电脑上网的用户我就更服帖了!
我写这篇文章就是希望大家不要盲目跟风,卡巴是好卡巴是比较牛,但不是意味着就要一窝蜂都去装卡巴,何必呢,天下杀毒软件如此之多,何必单恋他一个呢?大家说对伐?
6. xp系统能用vista主题么
可以的
windows是不直接接受第三方主题的
给你介绍一款软件装力以后就好了,
Universal UXTheme Patcher v1.1
把你解压缩的文件放在
下载主题后把主题放在C盘,
C:\WINDOWS\RESOURCES\theme目录下
在桌面空白处右击属性主题里改或外观里改直接使用。
几款主题分享
解压缩后放在C:\WINDOWS\RESOURCES\theme目录下
在桌面空白处右击属性主题里改或外观里改
注意破解uxtheme.dll文件
用下面这款软件破解
Universal UXTheme Patcher v1.1
匿名提取文件连接 http://pickup.mofile.com/4164139198337515
或登录Mofile,使用提取码 4164139198337515 提取文件
VistaXP2桌面主题
匿名提取文件连接 http://pickup.mofile.com/0620597031330495
或登录Mofile,使用提取码 0620597031330495 提取文件
Kol_Tiger (Modified by Nick)桌面主题
匿名提取文件连接 http://pickup.mofile.com/7957925503835868
或登录Mofile,使用提取码 7957925503835868 提取文件
theme54in1桌面主题54合一
匿名提取文件连接 http://pickup.mofile.com/3373343860139035
或登录Mofile,使用提取码 3373343860139035 提取文件
Bister桌面主题
匿名提取文件连接 http://pickup.mofile.com/4514488333630361
或登录Mofile,使用提取码 4514488333630361 提取文件
Chinese painting Vista桌面主题
匿名提取文件连接 http://pickup.mofile.com/4904879670837273
或登录Mofile,使用提取码 4904879670837273 提取文件
HanaHana桌面主题
匿名提取文件连接 http://pickup.mofile.com/8218185506334108
或登录Mofile,使用提取码 8218185506334108 提取文件
Jeans桌面主题
匿名提取文件连接 http://pickup.mofile.com/0060031338434792
或登录Mofile,使用提取码 0060031338434792 提取文件
ZeroR掸子修改版桌面主题
匿名提取文件连接 http://pickup.mofile.com/3243213696338297
或登录Mofile,使用提取码 3243213696338297 提取文件
NeoGeniX桌面主题
匿名提取文件连接 http://pickup.mofile.com/2732700816231166
或登录Mofile,使用提取码 2732700816231166 提取文件
7. linux中pickup是什么进程
pickup[英][ˈpɪkʌp][美][ˈpɪkˌʌp] n.收集; 搭车(者); 唱机唱头; 小卡车; adj.临时凑成的,偶然认识的; 例句: 1. Who fired at my pickup? 谁朝我小卡车开枪?
8. 服务器遭受攻击后的处理流程
服务器遭受攻击后的处理流程
安全总是相对的,再安全的服务器也有可能遭受到攻击。作为一个安全运维人员,要把握的原则是:尽量做好系统安全防护,修复所有已知的危险行为,同时,在系统遭受攻击后能够迅速有效地处理攻击行为,最大限度地降低攻击对系统产生的影响。下面是我整理的服务器遭受攻击后的处理流程:
一、处理服务器遭受攻击的一般思路
系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路。
1. 切断网络
所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护服务器所在网络的其他主机。
2. 查找攻击源
可以通过分析系统日志或登录日志文件,查看可疑信息,同时也要查看系统都打开了哪些端口,运行哪些进程,并通过这些进程分析哪些是可疑的程序。这个过程要根据经验和综合判断能力进行追查和分析。下面的章节会详细介绍这个过程的处理思路。
3. 分析入侵原因和途径
既然系统遭到入侵,那么原因是多方面的,可能是系统漏洞,也可能是程序漏洞,一定要查清楚是哪个原因导致的,并且还要查清楚遭到攻击的途径,找到攻击源,因为只有知道了遭受攻击的原因和途径,才能删除攻击源同时进行漏洞的修复。
4. 备份用户数据
在服务器遭受攻击后,需要立刻备份服务器上的用户数据,同时也要查看这些数据中是否隐藏着攻击源。如果攻击源在用户数据中,一定要彻底删除,然后将用户数据备份到一个安全的地方。
5. 重新安装系统
永远不要认为自己能彻底清除攻击源,因为没有人能比黑客更了解攻击程序,在服务器遭到攻击后,最安全也最简单的方法就是重新安装系统,因为大部分攻击程序都会依附在系统文件或者内核中,所以重新安装系统才能彻底清除攻击源。
6. 修复程序或系统漏洞
在发现系统漏洞或者应用程序漏洞后,首先要做的就是修复系统漏洞或者更改程序bug,因为只有将程序的漏洞修复完毕才能正式在服务器上运行。
7. 恢复数据和连接网络
将备份的数据重新复制到新安装的服务器上,然后开启服务,最后将服务器开启网络连接,对外提供服务。
二、检查并锁定可疑用户
当发现服务器遭受攻击后,首先要切断网络连接,但是在有些情况下,比如无法马上切断网络连接时,就必须登录系统查看是否有可疑用户,如果有可疑用户登录了系统,那么需要马上将这个用户锁定,然后中断此用户的远程连接。
1. 登录系统查看可疑用户
通过root用户登录,然后执行“w”命令即可列出所有登录过系统的用户,如图1-11所示。
通过这个输出可以检查是否有可疑或者不熟悉的用户登录,同时还可以根据用户名以及用户登录的源地址和它们正在运行的进程来判断他们是否为非法用户。
2. 锁定可疑用户
一旦发现可疑用户,就要马上将其锁定,例如上面执行“w”命令后发现nobody用户应该是个可疑用户(因为nobody默认情况下是没有登录权限的),于是首先锁定此用户,执行如下操作:
[root@server ~]# passwd -l nobody
锁定之后,有可能此用户还处于登录状态,于是还要将此用户踢下线,根据上面“w”命令的输出,即可获得此用户登录进行的pid值,操作如下:
[root@server ~]# ps -ef|grep @pts/3
531 6051 6049 0 19:23 ? 00:00:00 sshd: nobody@pts/3
[root@server ~]# kill -9 6051
这样就将可疑用户nobody从线上踢下去了。如果此用户再次试图登录它已经无法登录了。
3. 通过last命令查看用户登录事件
last命令记录着所有用户登录系统的日志,可以用来查找非授权用户的登录事件,而last命令的输出结果来源于/var/log/wtmp文件,稍有经验的入侵者都会删掉/var/log/wtmp以清除自己行踪,但是还是会露出蛛丝马迹在此文件中的。
三、查看系统日志
查看系统日志是查找攻击源最好的方法,可查的'系统日志有/var/log/messages、/var/log/secure等,这两个日志文件可以记录软件的运行状态以及远程用户的登录状态,还可以查看每个用户目录下的.bash_history文件,特别是/root目录下的.bash_history文件,这个文件中记录着用户执行的所有历史命令。
四、检查并关闭系统可疑进程
检查可疑进程的命令很多,例如ps、top等,但是有时候只知道进程的名称无法得知路径,此时可以通过如下命令查看:
首先通过pidof命令可以查找正在运行的进程PID,例如要查找sshd进程的PID,执行如下命令:
[root@server ~]# pidof sshd
13276 12942 4284
然后进入内存目录,查看对应PID目录下exe文件的信息:
[root@server ~]# ls -al /proc/13276/exe
lrwxrwxrwx 1 root root 0 Oct 4 22:09 /proc/13276/exe -> /usr/sbin/sshd
这样就找到了进程对应的完整执行路径。如果还有查看文件的句柄,可以查看如下目录:
[root@server ~]# ls -al /proc/13276/fd
通过这种方式基本可以找到任何进程的完整执行信息,此外还有很多类似的命令可以帮助系统运维人员查找可疑进程。例如,可以通过指定端口或者tcp、udp协议找到进程PID,进而找到相关进程:
[root@server ~]# fuser -n tcp 111
111/tcp: 1579
[root@server ~]# fuser -n tcp 25
25/tcp: 2037
[root@server ~]# ps -ef|grep 2037
root 2037 1 0 Sep23 ? 00:00:05 /usr/libexec/postfix/master
postfix 2046 2037 0 Sep23 ? 00:00:01 qmgr -l -t fifo -u
postfix 9612 2037 0 20:34 ? 00:00:00 pickup -l -t fifo -u
root 14927 12944 0 21:11 pts/1 00:00:00 grep 2037
在有些时候,攻击者的程序隐藏很深,例如rootkits后门程序,在这种情况下ps、top、netstat等命令也可能已经被替换,如果再通过系统自身的命令去检查可疑进程就变得毫不可信,此时,就需要借助于第三方工具来检查系统可疑程序,例如前面介绍过的chkrootkit、RKHunter等工具,通过这些工具可以很方便的发现系统被替换或篡改的程序。
五、检查文件系统的完好性
检查文件属性是否发生变化是验证文件系统完好性最简单、最直接的方法,例如可以检查被入侵服务器上/bin/ls文件的大小是否与正常系统上此文件的大小相同,以验证文件是否被替换,但是这种方法比较低级。此时可以借助于Linux下rpm这个工具来完成验证,操作如下:
[root@server ~]# rpm -Va
....L... c /etc/pam.d/system-auth
S.5..... c /etc/security/limits.conf
S.5....T c /etc/sysctl.conf
S.5....T /etc/sgml/docbook-simple.cat
S.5....T c /etc/login.defs
S.5..... c /etc/openldap/ldap.conf
S.5....T c /etc/sudoers
..5....T c /usr/lib64/security/classpath.security
....L... c /etc/pam.d/system-auth
S.5..... c /etc/security/limits.conf
S.5..... c /etc/ldap.conf
S.5....T c /etc/ssh/sshd_config
对于输出中每个标记的含义介绍如下:
? S 表示文件长度发生了变化
? M 表示文件的访问权限或文件类型发生了变化
? 5 表示MD5校验和发生了变化
? D 表示设备节点的属性发生了变化
? L 表示文件的符号链接发生了变化
? U 表示文件/子目录/设备节点的owner发生了变化
? G 表示文件/子目录/设备节点的group发生了变化
? T 表示文件最后一次的修改时间发生了变化
如果在输出结果中有“M”标记出现,那么对应的文件可能已经遭到篡改或替换,此时可以通过卸载这个rpm包重新安装来清除受攻击的文件。
不过这个命令有个局限性,那就是只能检查通过rpm包方式安装的所有文件,对于通过非rpm包方式安装的文件就无能为力了。同时,如果rpm工具也遭到替换,就不能通过这个方法了,此时可以从正常的系统上复制一个rpm工具进行检测。
;