2009年3月29日星期日

Oracle数据库补丁分类、安装及管理

根据Patch Set Notes中的说明,有一些特殊系统构成需要额外的步骤,本例中由于全部没有涉及到,所以可以按标准步骤执行。

另外,检查“Known issues and alerts affecting 10.1.0.5”文档后,发现10.1.0.5引入的影响最大的一个Bug是执行SELECT MAX()在某些特定条件下结果不正确。而这一Bug可以通过设置事件(event)关闭FIRST ROW优化而避免。最后的结论是这一BUG不会对本系统有影响,可以安装PSR10.1.0.5.

1. 检查数据库表空间和初始化参数是否需要调整。
System表空间要求有一定未使用空间:初始化参数SHARED_POOL_SIZE 和 JAVA_POOL_SIZE不能低于最小值150MB.
2. 关闭数据库,停止listener和agent等进程。
3. 解压缩下载文件至某一目录,执行oui.

在压缩文件中附带的oui的版本要比已经安装的版本高,应总是使用新版本的oui.在oui窗口中,要求选择本次安装的软件的位置,正确的位置是解压缩目录下的子目录Disk1/stage/, 选中products.xml即可开始文件拷贝。
要注意窗口中会出现本次安装的日志文件的文件路径和文件名。文件的位置是在Oracle的inventory所在目录的子目录logs中,文件名由前缀InstallActions和安装日期时间组成,如: InstallActions2006-08-30-11-32-48AM.log.

正常结束后,退出oui.打开日志文件,检索是否出现error 或“ORA-”的错误信息。本次安装产生的日志文件内,没有任何此类的信息,表明PSR软件安装成功。如果此时再次启动oui,点击“已安装软件”,则可以看到在原有的10.1.0.2软件之下,新出现了10.1.0.5一项,这也证实PSR软件安装成功。

4.更新数据库数据字典
更新数据字典时,必须以特殊的升级方式打开数据库。
$ sqlplus /nolog SQL> CONNECT / AS SYSDBA SQL> STARTUP UPGRADE SQL> SPOOL patch.log SQL> @?/rdbms/admin/catpatch.sql
执行结束后,关闭重定向:
SQL> SPOOL OFF
打开文件patch.log检查是否有错误“ORA-”。(这一文件在启动sqlplus时的当前目录中,当然也可以在“SPOOL patch.log”语句中显式指定文件路径。)如果出现错误要分析原因,在解决问题后,需要再次执行catpatch.sql程序。

更新数据字典时,由于对某些PL/SQL包删除后又重新生成,造成相关PL/SQL包的状态为异常(invalid)。在以后调用这些包时,检测到其状态为非法,会自动执行编译命令,使状态成为正常(valid)。虽然不会出错,但会造成个别处理第一次执行时变慢。显然,与其留到应用系统运行时再一个个编译,不如之前集中一次重编译所有异常包。

SQL> SHUTDOWN SQL> STARTUP SQL> @?/rdbms/admin/utlrp.sql

最后,根据Known Issues中的指示,完成与本系统有关的操作。例如,修改Pro*C的配置文件。这里执行一个修改文件存取权限的“后操作”,以便非同组用户和程序可以存取客户端工具和库函数。
$ cd $ORACLE_HOME/install $ ./ changePerm.sh
如前所述,在发布一个PSR后发现的新BUG,只能把其补丁收入到下一个PSR中。如果对数据库有实质性影响,则这一补丁以个别补丁的形式向用户提供。个别补丁是与某一个特定的PSR关联,是安装在这一PSR之上的。另外,如同其名字表明的,个别补丁只是单一Bug的补丁,不会包含其他个别补丁,即不是累积型的。
在9.2版之前,安装个别补丁的操作完全是手工的。这种手工方式的缺点不仅在于加重DBA的负担,容易造成操作失误,更严重的是无法对已安装的个别补丁进行管理。
为解决手工方式的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch.opatch使用一个称为 inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch 命令完成,冲突检测也由opatch在安装时自动完成;提供列表命令可以很方便得到已安装个别补丁的信息。
10g(10.1和10.2)版本中,opatch作为一个标准工具,在软件安装时自动安装。(安装在$ORACLE_HOME/OPatch 下。)而对于9.2版,需要从metalink下载opatch.无论数据库是哪一个版本,系统中是否已经安装opatch,在使用之前,应从 metalink下载最新版本的opatch.很遗憾,由于系统实现的问题,10.2使用的opatch与之前版本(10.1和9.2)使用的 opatch不兼容,不能混用,这一点必须注意。
opatch是使用perl编写的脚本程序(其中也使用JAVA API)。编程使用的perl版本是5.6版,虽然在5.6之前的版本中也可运行,但应尽可能安装5.6或以上的版本的perl.对于DBA来说一个好消息是,如果安装9.2版软件时保留了HTTP服务器,则在$ORACLE_HOME/Apache下会自动安装perl.(10g会自动安装配置perl 和opatch.)
opatch命令格式为:
opatch < command > [< command_options >] [ -h[elp] ]
命令有:apply(安装个别补丁)、rollback(卸载个别补丁)、lsinventory(对inventory进行列表)、 query(显示某一个别补丁的详细信息)、version(显示opatch版本信息)。在opatch目录下,有用户使用指南文件(Users_Guide.txt),其中有详细的命令格式和使用示例,读者可以参考。Opatch执行操作时,除在屏幕输出结果外,还生成日志文件。日志文件的路径和文件名格式如下:
$ORACLE_HOME/.patch_storage/< patch_id >/ < action >-< patch_id >_< mm-dd-yyyy_hh-mi-ss >.log
其中“patch_id”是Oracle技术支持部门为个别补丁分配的编号。
沿用安装PSR实例中的环境。在安装PSR10.1.0.5后,检索metalink,发现若干在其之上的个别补丁。选择其中之一安装。
个别补丁Patch 4518443修复BUG4518443,这一BUG的主要问题是TNS LISTENER在注册ONS(Oracle Notification Services)的同时如果创建子进程,那么LISTENER会挂起(HANGUP)。
安装时,首先,从metalink下载补丁的压缩文件p4518443_10105_LINUX.zip.将此文件解压缩至某一目录中。解压缩后,这一补丁的所有文件都在子目录4518443下,目录名就是个别补丁的补丁号,opatch依据目录名获得信息,所以一定不要重命名子目录。
然后,在终端窗口中,执行cd命令移动到4518443子目录中,执行以下命令:
$ $ORACLE_HOME/OPatch/opatch apply 对inventory列表,确认安装操作: $ $ORACLE_HOME/OPatch/opatch lsinventory
执行卸载命令时,也必须使4518443子目录成为当前目录。其中,Rollback命令需要两个参数:-id给出个别补丁号;-ph 给出个别补丁解压缩后的路径。
$ $ORACLE_HOME/OPatch/opatch rollback -id 4518443 -ph /…/4518443
随后再对inventory列表,则会看到这一个别补丁已经被移去。
不需要启动数据库,执行加选项的对inventory的列表命令,可以得到已安装的软件的各个组件的详细版本信息。
$ $ORACLE_HOME/OPatch/opatch lsinventory -detail 一个CPU内包含了对多个安全漏洞的修复,并且也包括相应必需的非安全漏洞的补丁。CPU是累积型的,只要安装最新发布的CPU即可,其中包括之前发布的所有CPU的内容。事实上,在CPU之前的安全漏洞修改除去个别例外也被包括在CPU中。Oracle公司只对处于标准技术支持和延长支持期间的产品提供CPU更新,对处于维持支持范围的产品不提供新的CPU.(对于9.2以前的版本,只对处于ECS和EMS期间的版本提供CPU更新。)一般对当前补丁发行版及前一个版本提供CPU,但也有只限于当前补丁发行版的例外情形。也就是说,一般需要先安装最新PSR后才可能安装CPU.由于是累积型的定期发布,所以对于某一平台的某一版本,如果两次CPU发布期间没有发现新的安全漏洞,则新发布的CPU与前一版本完全相同。
本文出自 “帅小伙的博客” 博客,请务必保留此出处http://zhaizhenxing.blog.51cto.com/643480/134471

RHEL5--DNS智能策略解析

RHEL5--DNS智能策略解析



什么是智能DNS策略解析
  随着原中国电信集团按南北地域分家,新的中国电信和网通集团随即成立,互联网的骨干网也被一分为二了,北有网通、南有电信。从此,细心的网民可以发现,有些经常访问的网站速度一下子慢了下来,有时候还有访问不到的情况出现。例如北方地区的网络用户访问中国网通的服务器会非常快,而访问中国电信的服务器时,感觉非常慢。这种现象不仅影响了网站的访问量,更严重的是它直接影响了一些经营性网站的经济效益。据分析,产生这个问题的根本原因是中国电信分家之后,电信与网通之间的互连存在问题。虽然信息产业部已经在规划电信网通互联互通计划,但在今后相当长的一段时期内,南北方网互连的问题还会存在。

解决方案
  智能DNS策略解析很好的解决了上面所述的问题。DNS策略解析最基本的功能是可以智能的判断访问您网站的用户,然后根据不同的访问者把您的域名分别解析成不同的IP地址。如访问者是网通用户,DNS策略解析服务器会把你的域名对应的网通IP地址解析给这个访问者。如果用户是电信用户,DNS策略解析服务器会把您域名对应的电信IP地址解析给这个访问者。
  智能DNS策略解析还可以实现就近访问机制(即将推出)。有些用户在国外和国内都放置了服务器,使用我们的DNS策略解析服务可以让国外的网络用户访问你国外的服务器,国内的用户访问国内的服务器,从而使国内外的用户都能迅速的访问到你的服务器。
智能DNS策略解析还可以给你的多个主机实现负载均衡,这时来自各地的访问流量会比较平均的分布到你的每一个主机上,主机的数量限制为40个。

  要使用的智能DNS策略解析服务您要具备下面的条件:
  1.你的主机已经申请了合法的域名。
  2.您的主机上配置有电信、网通各一个合法的公网IP地址。
  3.你在电信机房和网通机房各放置了一台主机。
  4.要使用多主机负载均衡服务,你需要有多台主机并连接到了互联网上。
注意:第二条和第三条只要有一条满足条件即可。主机所使用的操作系统和这个策略解析服务无关。

试验步骤:

第一步:安装dns服务器软件包

[root@yixia ~]#mount /dev/cdrom /mnt
[root@yixia ~]#cd /mnt/Server
[root@yixia Server]# rpm -ivh bind-9.3.3-7.el5.i386.rpm
[root@yixia Server]# rpm -ivh bind-chroot-9.3.3-7.el5.i386.rpm
[root@yixia Server]# rpm -ivh caching-nameserver-9.3.3-7.el5.i386.rpm

第二步:建立主配置文件,并修改相关选项;

[root@yixia ~]# cp -p /var/named/chroot/etc/named.caching-nameserver.conf named.conf
[root@yixia ~]# vi /var/named/chroot/etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
query-source port 53;
query-source-v6 port 53;
allow-query { any; }; //允许所有客户机请求查询;
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; };
match-destinations { localhost; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
acl "cnc" { 192.168.1.251/32; }; //定义网通客户端的地址端范围;
acl "tel" { 192.168.1.252/32; }; //定义电信客户端的地址端范围;
view "cnc" in { //定义网通视图;
match-clients { cnc; }; //定义客户端匹配的条件;
recursion yes;
additional-from-auth yes;
additional-from-cache yes;

zone "xxx.com.cn" IN {
type master;
file "xxx.com.cn.db1";
};
};
view "tel" in { //定义电信视图;
match-clients { tel; }; //定义客户端匹配的条件;
recursion yes;
additional-from-auth yes;
additional-from-cache yes;
zone "xxx.com.cn" IN {
type master;
file "xxx.com.cn.db2";
};
};

第三步:建立区域的数据库文件;

[root@yixia ~]# cd /var/named/chroot/var/named
[root@yixia named]# vi xxx.com.cn.db1
$TTL 86400
xxx.com.cn. IN SOA ns.xxx.com.cn. root@xxx.com.cn. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.xxx.com.cn.
ns IN A 192.168.1.102
www IN A 2.2.2.2

[root@yixia named]# vi xxx.com.cn.db2
$TTL 86400
xxx.com.cn. IN SOA ns.xxx.com.cn. root@xxx.com.cn. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.xxx.com.cn.
ns IN A 192.168.1.102
www IN A 3.3.3.3

第四步:客户机测试

网通客户机
pc1 ip:192.168.1.251 subnetmask:255.255.255.0 dns:192.168.1.102

电信客户机
pc2 ip:192.168.1.252 subnetmask:255.255.255.0 dns:192.168.1.102

pc1测试结果

C:\>nslookup
>server 192.168.1.102
> www.xxx.com.cnName: www.xxx.com.cnAddress: 2.2.2.2

pc2测试结果
C:\>nslookup
>server 192.168.1.102
> www.xxx.com.cnName: www.xxx.com.cnAddress: 3.3.3.3

结果:同一个域名,在不同的客户机上解析得到不同的ip地址,这就是我们想要的结果。

2009年3月27日星期五

在 rescue 模式下修复 MBR

在 rescue 模式下修复 MBR:

# >1< 破坏 GRUB 使之不能启动;
[bady]# dd if=/dev/zero of=/dev/sda bs=446 count=1;reboot

# >2< 从光盘/软盘启动输入 linux rescue 进入 rescue 模式;

sh-2.05b# mount /* 以读写模式加载硬盘文件,进入后用 mount 检查文件系统加载是否正确 */
sh-2.05b# fdisk -l /dev/sda /* 查看分区情况 */
sh-2.05b# cat /mnt/sysimage/boot/grub/grub.conf /* 要注意:硬盘加载在/mnt/sysimage 目录下,检查 grub.conf 文件 */
sh-2.05b# chroot /mnt/sysimage /* 使 /mnt/sysimage 成为 grub-install 认为的系统得根 */
sh-2.05b# grub-install /dev/sda /* 加载 chroot shell,运行 grub-install */
sh-2.05b# exit /* 退出 chroot shell */
sh-2.05b# exit /* 退出 rescue 模式 */

2009年3月25日星期三

使用wget直接下载OTN上的Oracle 安装文件

使用wget直接下载 OTN 上的 Oracle 安装文件


wget -b --post-data="https://profile.oracle.com/jsp/realms/otnLogin.jsp?\

remoteIp=218.24.2.9&globalId=&redirectUrl=http%3a%2f%2fdownload-\

llnw.oracle.com%3a80%2fotn%2flinux%2foracle10g%2f10201%\

2f10201_database_linux_x86_64.cpio.gz\

&username=YOUR-USER-NAME&password=YOUR-PASSWORD&submit=Continue" https://profile.oracle.com/jsp/reg/loginHandler.jsp \

-o downloadOracle.log




上面的ip218.24.2.9是我用来下载的服务器。


注意上面的格式,不要添加额外的空格

2009年3月22日星期日

PWN2OWN黑客大赛2009到底有哪些猛料?

文/ 鲜橙加冰

【51CTO.com 独家报道】3月18日在温哥华举办的CanSecWest黑客大赛如火如荼的开始之后,网上出现了很多相关赛事的报道。如“黑客5秒钟攻破Mac系统 Safari是罪魁祸首”和“黑客大赛曝Safari、IE8与Firefox零日攻击”等。51CTO也在之前为网友们提供了介绍和时间表,详情请见:“http://netsecurity.51cto.com/art/200902/110496.htm”

到底今年的大赛到底准备了那些系统和软件让大家来测试和攻击?到底准备了那些猛料?我们来看看以下来自51CTO记者的报道。


PWN2OWN 2009


在经过多次讨论和研究之后,PWN20WN比赛的最终安排如下:


浏览器和联合测试的平台

索尼VAIO - Windows 7(51CTO编者按:去年也是索尼VAIO。)


IE8
Firefox
Chrome

苹果机 - (这个不用说啥系统了吧)


Safari
Firefox

第一天:默认不安装额外插件,用户去连接。

第二天:安装flash, java, .net, quicktime。用户去连接。

第三天:安装像Acrobat Reader那样的大众软件,用户去连接。

任务?- 在应用程序的环境中执行代码。(51CTO编者按:提权溢出之类的)

--------------------------------------------------------------------------------

电话(和其他相关的测试平台)

黑莓(TBA)

谷歌Android手机(G1开发测试版)

苹果iphone手机(2.0正式版)

Nokia/Symbian(机型N95)

Windows Mobile (宏达 Touch)


第一天

SMS 短信

MMS 彩信

Email 电子邮件(只看收取的)

wifi 无线,如果默认开启的话

bluetooth蓝牙,同上

Radio 无线接收器

第二天

电子邮件/短信/彩信(只可以读取-不可以有间接行为)

无线保持启动

蓝牙保持启动(默认不接受配对。耳机是配好的。配对过程不可见。)

第三天

在默认应用程序用户界面的一个层面

蓝牙保持启动(默认不接受配对。耳机和满足以上要求的其他设备是配好的。配对过程不可见。)

任务?必须去实现……

1.造成信息丢失(用户数据)

2.造成财务损失

51CTO编辑观察:

首先,对老外能举办这类真刀真枪测试产品的活动表示赞扬。大致看了一下,基本上国外顶尖安全厂商全部参与。这次的大赢家是德国人Nils,这哥们快把所有主流浏览器都破坏了个遍。成功收获15000美元和一台笔记本电脑。上届冠军Charlie Miller在10秒内拿下Safari,顺利收获5000美元和一台苹果笔记本。相对来说,智能手机的安全性还是比较经受考验的,没有出现30秒内被攻破的事情。

事实证明,世界上并不存在绝对安全的浏览器,以前说什么用Firefox不会中毒这样的事情,很遗憾只是YY。这一年来Firefox的漏洞甚至超过其他浏览器的总和,虽然它的修补速度够快。在51CTO记者截稿前,谷歌Chrome的表现似乎足够坚挺。但之前爆的漏洞也不少。笔者认为暂时的未攻破有以下几点原因:

1.相对Firefox和IE8、Safari之类浏览器来说,谷歌chrome本身的代码量就少,说是个精悍的浏览器内核都不为过。

2.它真的是足够新了,目前还算是“非主流”(51CTO编者按:Windows默认IE,MAC默认Safari,Linux默认Firefox。Chrome虽系出名门,但要想雄霸一方尚需时日)其他浏览器都至少出了三代,它最近才出2.0beta,而且还已经是升的非常非常勤了。

3.Google设计chrome的初衷就是,除了本地的管理员以外,普通用户也可以不限使用。加上沙盒(sandbox)技术,让它的安全性显著提高,换句话说,即使发现了chrome的漏洞,骇客也只有很小的权限,无法造成很大的破坏。

当然,黑客们找到Chrome新的攻击方式只是时间问题,我们可以拭目以待。

希望我们国家也能尽快出现此类活动,并对国内的信息安全研究给予支持和良好导向。这类活动不仅能为社会发掘更多的技术天才,更是能有效推进我国的信息安全产业发展。有攻才有防,有防才有保障。将更多的安全人才引向“白色产业链”,避免让更多的优秀人才戴上“黑帽”,这是好事,更是值得去做的事。

2009年3月21日星期六

apache2.2.11最大连接数配置

每次重做服务器,就会学到一些新的东西,所以了解linux最简洁有效的办法,就是不停的重做系统,重新配置优化系统(XD!)。
本次使用了apache2.2.6,编译完成后,最大连接数默认为150,运行一段时间后出现大量的CLOSE_WAIT,于是修改默认连接数。 apache2.2以后许多功能都抽出来单独存放了,在http.conf里进行引用。存储连接数等相关指令的文件是httpd- mpm.conf,apache采用的是prefork模式来进行连接数量方面的控制,prefork模块的格式如下:

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0

其工作原理如下:

控制进程在最初建立StartServers个子进程后, 为了满足MinSpareServers设置的需要,创建一个进程,等待一秒钟,继续创建第二个,等待一秒钟,继而创建四个,如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止,这也就是预派生(prefork)的由来。这种模式可以使得不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。

MaxSpareServers 设置了最大的空闲进程数,如果空闲进程数大于这个值,Apache会自动kill某些多余进程。这个值一般不要设的过大,但如果设的比 MinSpareServers小,Apache会自动把它调整为MinSpareServers+1。如果站点负载较大的话,可考虑同时加大 MinSpareServers和MaxSpareServers。

MaxRequestsPerChild设置的是每个子进程可以处理的请求数。每个子进程在处理了MaxRequestsPerChild个请求后将自动销毁。0意味着无限,即子进程永不销毁。虽然缺省设为0可以使每个子进程处理更多的请求,但如果设成非零值也有两点重要的好处:

1. 可防止意外的内存卸漏;
2. 在服务器负载下降的时侯会自动减少子进程数。

因此,可根据服务器的负载来调整这个值,如果非零的话,笔者认为10000左右是比较合适的。事实上这个值对Apache的性能影响不是很大。

MaxClients 是这些指令中最为重要的一个,它设定的就是Apache可以同时处理的请求,这是对Apache性能影响最大的参数.在我个人看来,缺省的150是远远不够的,如果请求总数已达到这个值(可通过ps –ef|grep httpd|wc –l来确认),那么下面的请求就要排队,直到某个已处理请求完毕。这就是为什么系统资源还剩下很多,而http访问却很慢的主要原因。系统管理员可以根据硬件配置和负载情况来动态调整这个值,虽然理论上这个值越大,可以处理的请求就越多,但Apache默认的限制是不能大于256。如果把这个值设为大于 256那么Apache将无法起动。事实上,256对于负载稍重的站点也是很不够的。在Apache1.3中这是个硬限制,如果要加大这个值,必须在 configure前手工修改源代码树下的src/include/httpd.h,查找256,会发现#define HARD_SERVER_LIMIT 256这行,把256改为你要增大的值如4000,然后重新编译Apache即可。我想这个方法稍有些经验的Apache系统管理员都知道,不过我相信在 Apache2.0中知道如何加大这个值的人就不会太多了。

在Apache2.0中新加入了ServerLimit指令,使得无须重编译Apache就可以加大MaxClients。下面是笔者的prefork配置段。


StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000


BTW: ServerLimit的最大值是20000,这对于大多数站点是足够了,但如果你一定要再加大的话,那么这个值位于源代码树下的server/mpm/prefork/prefork.c中。里面的

#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000

这两行就对应着MaxClients和ServerLimit的限制值。 但我相信很少有人可以用到20000的并发连接数。

以上内容来自unix中文 对于prefork的工作模式能够实现的功能描写的比较详尽了。我在用的时候发现ServerLimits和MaxClients这两个参数的顺序是不可以颠倒的,否则重起apache时会报警。根据周超 同学的提醒,凡是有依赖关系的命令,书写应该都是有顺序的。

同时在查资料的过程中,拣到一条命令:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
这条语句返回结果如下
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
返回的结果非常简洁直接,就是句子有点长 -_-

2009年3月16日星期一

让fedora选用更快的源

Fedora应该是许多人非常喜欢的linux发行版了.不过当初我不太喜欢他的原因就是因为他的源太慢,而且不太稳定.不过这两天突然发现他有一个自动可以选择最快的源的包,挺有意思的.

yum install yum-fastestmirror yum-presto

好像安装成功即可,然后你在安装包的时候,他会根据速度找到最快的包的.可以说是非常方便的.

2009年3月9日星期一

Apache 防止 DDoS 攻擊

Apache 防止 DDoS 攻擊



DDoS (distributed denial-of-service) 及 DoS (denial-of-service) 在網路上十分常見,而 DoS 攻擊所傳送的請求跟正常的請求一樣,分別在於每秒鐘發出大量請求到伺服器,使伺服器的負載增加,最常見的情況是伺服器暫停服務。

而 mod_evasive 則是一個預防 Apache 遭受 DDos 攻擊的模組,可以防止同一個 IP 對相同 URI 發出的大量請求,可設定的選項有:

– 限制同一個 IP 在一定秒數內請求一個頁面或檔案的次數。
– 限制同一個 IP 一秒內只可發出 50 個請求。
– 設定被禁止的 IP 封鎖時間。

以下是 mod_evasive 的安裝方法:

1. 先將原來的 httpd.conf 備份起來。

2. 到 http://www.zdziarski.com/projects/mod_evasive/ 下載 mod_evasive。

3. 在指令模式解壓及編譯 mod_evasive:

tar zxvf mod_evasive_1.10.1.tar.gz
cd mod_evasive/
apxs -cia mod_evasive20.c
以上的 apxs 會放在 Apache 的 bin 目錄內;如果 Apache 版本是 1.3 的話,指令要改為:

apxs -cia mod_evasive.c
安裝好 mod_evasive 後,便要修改 httpd.conf 內容。

4. 開啟 httpd.conf,加入以內容:

DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 10
DOSBlockingPeriod 600

DOSHashTableSize — 這是佔用記憶體的大小,如果伺服器比較繁忙,這個數值要設定大一點。
DOSPageCount — 同一 IP 在一個時段內可以存取同一頁面的次數,超過會被禁止。
DOSSiteCount — 同一 IP 在一個網站內可以佔用多少 Object,超過會禁止。
DOSPageInterval — DOSPageCount 內的時段設定。
DOSSiteInterval — DOSSiteCount 的時間設定,以秒為單位。
DOSBlockingPeriod — 當發現疑似攻擊後,使用者會收到 403 Forbidden,這是設定封鎖的時間,以秒為單位。

5. 最後重新啟動 Apache 即可。



原文地址 http://www.bsdlover.cn/html/22/n-2722.html

2009年3月1日星期日

LFS如何启动sshd

/etc/rc.d/init.d/sshd start 即可
LFS LiveCD居然是吧sshd放到/etc/rc.d/init.d下。

LFS6.3下调试通过