在centos5.5上配置nagios详细步骤

2011年3月11日 freedom 没有评论

本文环境 cat /etc/issue 操作系统为Centos release 5.5(Final) uname -a       位数为64位 本文假设安装配置时用户是root 第一步:安装必要的环境 yum install httpd php5        //apache和php5 yum install gcc glibc glibc-common //gcc 编译器 yum install gd dg-devel      //GD开发库 yum install mysql-devel.x86_64 //安装64位的mysql工具包 第二步:配置必要的用户 useradd -m nagios     //增加nagios用户 passwd  nagios        //设置nagios用户的密码,恩,你应该懂的 groupadd nagcmd [...]

分类: 网络运维 标签:

Squid代理服务器高级应用两例

2011年2月22日 freedom 没有评论

Squid是一个缓存Internet数据的一个软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。目前,Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS协议,暂不能代理POP3、NNTP等协议。并且,Squid可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。Squid可以工作在很多的操作系统中,如AIX、Digital、UNIX、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。 Squid安装的例子很多了,本文不讲述,本文着重介绍2个Linux下Squid代理服务高级应用的例子。 1、配置带认证的代理服务 默认时,Squid本身不带任何认证程序,但是可以通过外部认证程序来实现用户认证。一般有以下的认证程序:LDAP认证、SMB认证、基于mysql的认证、基于sock5的密码认证和基于Radius的认证。下面介绍常用的ncsa实现的认证,ncsa是Squid源代码包自带的认证程序之一,从squid 2.5开始都包含了ncsa的模块。在Red Hat Enterprise Linux 5的/usr/lib/squid目录下可以找到ncsa_auth文件。  要使用该认证服务,首先需要创建认证用户和密码: #htpasswd -c /usr/local/squid/etc/ps_file guest 如果是以后添加用户的话就把-c的参数去掉。 然后,再更改/etc/squid/squid.conf主配置文件,添加如下:  //配置认证文件和用户文件 auth_param basic program /usr/lib/squid/ncsa_auth /usr/local/squid/etc/ ps_file //指定认证程序的进程数 auth_param basic children 5 //代理服务器的名称 auth_param basic realm Squid proxy-caching web server //认证有效时间为2小时 auth_param basic credentialsttl 2 hours //只有认证用户才能访问 acl normal proxy_auth REQUIRED http_Access allow normal 最后,重启squid服务即可。在浏览器里配上这个代理,打开任意网站,如果弹出了输入用户名和密码的对话框,就证明配置成功了。 2、配置反向代理服务器 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。 [...]

分类: 网络运维 标签:

完成RHEL5 Squid配置过程的五步法

2011年2月22日 freedom 没有评论

RHEL5 是一个安全性和稳定性都很好的系统,对以这样一个系统就需要一个很好的缓存服务器来配合它,Squid就是这样一个服务器,Squid是一个流行的自由软件的代理服务器和Web缓存服务器,RHEL5 Squid配置过程中有很多步骤,下面就来为大家解析一下。 一、RHEL5 Squid配置环境及操作平台 xp——(eth1) AS5 (eth0)——Internet 192.168.1.0/24 10.0.0.0/8 Linux AS5 squid-2.6(RPM) 二、RHEL5 Squid配置安装 安装AS5自带的squid-2.6 rpm包 三、RHEL5 Squid配置 route add default gw 10.100.100.254 //10.100.100.254 连接Internet Router 地址,添加默认网关。 1、squid主配文件:/etc/squid/squid.conf a、http_port 3128 transparent //启用透明模式 b、cache_dir ufs /var/spool/squid 1000 16 256 c、cache_mem 96M d、visible_hostname localhost e、http_access allow all 以上为基本配置 2、iptales 配置 #!/bin/bash #ip.sh echo ’1′ >/proc/sys/net/ipv4/ip_forward //启用ip [...]

分类: 网络运维 标签:

巧用Squid的ACL和访问列表实现高效访问控制

2011年2月22日 freedom 没有评论

Squid是一个缓存Internet数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid发出一个申请,要Squid代替其进行下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。Squid可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且,Squid可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。 Squid可以工作在很多的操作系统中,如AIX、Digital、UNIX、FreeBSD、HP-UX、Irix、Linux、NetBSD、Nextstep、SCO、Solaris、OS/2等。 在使用过程中,合理使用访问控制是非常重要的工作。使用访问控制特性,可以控制其在访问时根据特定的时间间隔进行缓存、访问特定站点或一组站点等等。Squid访问控制有两个要素:ACL元素和访问列表。访问列表可以允许或拒绝某些用户对此服务的访问。下面分别介绍ACL元素以及访问列表的使用方法。 1.ACL元素 该元素定义的语法如下: acl aclname acltype string1… acl aclname acltype “file”… 当使用文件时,该文件的格式为每行包含一个条目。 其中,acltype可以是src、dst、srcdomain、dstdomain、url_regex、urlpath_regex、time、port、proto、method中的一任意一种。 src:指明源地址。可以用以下的方法指定: acl aclname src ip-address/netmask … 客户ip地址 acl aclname src addr1-addr2/netmask … 地址范围 dst:指明目标地址,即客户请求的服务器的IP地址。语法为: acl aclname dst ip-address/netmask … srcdomain:指明客户所属的域,Squid将根据客户IP反向查询DNS。语法为: acl aclname srcdomain foo.com … dstdomain:指明请求服务器所属的域,由客户请求的URL决定。语法为: acl aclname dstdomain foo.com …。此处需要注意的是:如果用户使用服务器IP而非完整的域名时,Squid将进行反向的DNS解析来确定其完整域名,如果失败,就记录为“none”。 time:指明访问时间。语法如下: acl aclname time [day-abbrevs] [h1:m1-h2:m2][hh:mm-hh:mm] 日期的缩写指代关系如下: S:指代Sunday M:指代Monday [...]

分类: 网络运维 标签:

搭建性能比Squid高很多的Varnish服务器

2011年2月22日 freedom 没有评论

Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (http://www.vg.no) 使用3台Varnish代替了原来的12台squid性能比以前更好。 varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。 硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是 Varnish cache设计架构。 1.下载源码包编译安装: cd /usr/local/src && wget http://nchc.dl.sourceforge.net/s … arnish-1.1.1.tar.gz tar zxvf /usr/local/src/varnish-1.1.1.tar.gz cd /usr/local/src/varnish-1.1.1 ./autogen.sh ./configure –enable-debugging-symbols –enable-developer-warnings –enable-dependency-tracking 注:如果你的gcc版本是4.2.0或更高的版本,可以加上–enable-extra-warnings编译参数,在出错时,得到附加的警告信息。 我这里是用源码包安装的,如果你是redhat或centos可以用rpm包来安装(rpm下载位置:http: //sourceforge.net/project/showfiles.php? group_id=155816&package_id=173643&release_id=533569). 2. 建立cache目录: mkdir -p /cache/varnish/V && chown -R nobody:nobody /cache 3.编写启动文件: cd /usr/local/varnish/sbin vi start.sh 内容如下: #!/bin/sh # file: go.sh date -u [...]

分类: 网络运维 标签:

Linux下利用Squid构建高速的Proxy Server

2011年2月22日 freedom 没有评论

一、什么是Proxy Server(代理服务器),Proxy的作用 在真实世界中我们常常会去帮人家办一些事情,例如帮人家交电费什么的,在这种情况下你不是电表的主人,而是代办者(代理者)的身份。在网络世界中Proxy就是相当于那个帮人家交电费的人了,当我们发出连接请求的时候,就会通过Proxy去帮我们直接与目标服务器沟通,帮我们取得资料。     client通过Proxy Server上网的步骤如下: ①client端向Server发出请求。 ②Server收到请求后比较判断Cache中时候存在client想要的资料,如果没有则向远程Server发送数据请求。 ③将请求回来的资料先存放到Cache中,再将资料传送给client端。 ④当client发出的请求中所需要的资料在Cache中有,则将Cache中的资料直接传送给client端。 虽然当第一访问这向Proxy请求的数据Cache中没有时,Proxy抓取数据后会先保存在Cache中,这样访问速度变慢了,可是第二个访问者以及后来的访问者需要该资料的时候,proxy都不要想远程服务器请求,直接将cache中的资料发送给后来的请求者就行了,这样就减少了连接远程服务器的流量,另外由于proxy是在本地的,所以传输速度也更快。 二、使用Squid在构建Proxy Server 本文中笔者所使用的环境是: 操作系统: Redhat 9.0,内核:2.4.20-31.9,其他系统套件已经通过apt更新到最新了。 1.编译安装Squid 由于Squid对系统硬件要求比较高,所以我们安装的时候应尽量优化。 CODE: #groupadd squid #useradd squid 添加suqid用户和用户组 CODE:#export CFLAGES=’-O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2 可以根据你的CPU选择相应的参数GCC-3.1以上可針對CPU最佳化: CODE:Pentium2: -O2 -mcpu=i686 -march=i686 -mmmx Pentium3: -O2 -mcpu=pentium3 -march=pentium3 -mmmx -msse Pentium4: -O2 -mcpu=pentium4 -march=pentium4 -mmmx -msse -msse2  #./configure –prefix=/usr/local/squid –enable-gnuregex –enable-async-io=80 –enable-icmp [...]

分类: 网络运维 标签:

代理服务器Squid 使用详解

2011年2月22日 freedom 没有评论

  做为眼下最流行的操作系统,Linux已经越来越受到世人的关注。虽然目前Linux的软件还不是很丰富,替代WINDOWS作为普通PC机操作系统还为时过早,但是在服务器领域,Linux的稳定性,可操作性决不输于任何操作系统,并且也有优秀的软件支持 。Squid就是其中之一。Linux加Squid的组合做为代理服务器,性能远远超过WINNT加MSPROXY2.0(个人观点),为几百人的小型局域网代理绰绰有余。下面,我就详细的介绍Squid的安装及使用技巧,希望大家能够喜欢上它。 1.Squid简介 Squid是一个缓存internet数据的一个软件,它接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户象要下载一个主页时,它向Squid发出一个申请,要Squid替它下载,然后Squid连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid把保存的备份立即传给用户,使用户觉得速度相当快。目前,Squid 可以代理HTTP, FTP, GOPHER, SSL 和 WAIS 协议,暂不能代理POP, NNTP等协议。不过,已经有人开始修改Squid,相信不久的将来,Squid能够代理这些协议。 Squid能够缓存任何数据吗?不是的。象缓存信用卡帐号、可以远方执行的scripts、经常变换的主页等是不合适的也是不安全的。Squid可以自动的进行处理,你也可以根据自己的需要设置Squid,使之过滤掉你不想要的东西。 Squid可以工作在很多的操作系统中,如AIX, Digital Unix, FreeBSD, HP-UX, Irix, Linux, NetBSD, Nextstep, SCO, Solaris,OS/2等,也有不少人在其他操作系统中重新编译过Squid。 Squid对硬件的要求是内存一定要大,不应小于128M,硬盘转速越快越好,最好使用服务器专用SCSI硬盘,处理器要求不高,400MH以上既可。 2. Squid的编译和运行 其实现在的Linux发行套件中基本都有已经编译好的Squid,你所作的就是安装它既可。如果你手头没有现成的编译好的Squid或想使用最新的版本,去ftp:squid.nlanr.net下载一份,自己编译。 Squid的编译是非常简单的,因为它基本上是自己配置自己。最容易出现的问题是你的系统上没有合适的编译器,这可以通过安装相应的编译器解决。如果出现其他问题,你可以问一下有经验的用户或到相应的邮件列表寻找帮助。 编译Squid之前,最好建一个专门运行Squid的用户和组。我就在自己的服务器上建了一个名为squid的用户和组,用户目录设为/usr/local/squid。然后su为用户squid并从squid.nlanr.net下载Squid的源文件到目录 /usr/local/squid/src中,用如下命令进行解压: %tar xzf squid-2.0.RELEASE-src.tar.gz %cd /usr/local/squid/src/ squid-*.*.RELEASE / %./configure %make %make install 第一个命令在目录/usr/local/squid/src中产生一个新的子目录/squid-*.*.RELEASE/。命令./configure会自动查询你的系统配置情况以及你系统中使用的头文件。不加参数的./configure会把Squid安装在目录/usr/local/squid中,如果你想使用其他目录,用如下命令./configure –prefix=/some/other/directory,这会把Squid安装在目录/some/other/directory中。make命令编译Squid,make install命令安装Squid。 不出意外的话,目录/usr/local/squid中会出现如下目录: /bin /cache /etc /logs/ /src (自己创建的) 目录/bin中含有Squid可执行程序,包括Squid本身,ftpget等。 目录/cache包含Squid缓存的数据,其中包含象/00/ [...]

分类: 网络运维 标签:

详解虚拟专用服务器——VPS

2011年1月27日 freedom 没有评论

最近在学习Linux,遇到了一些问题,也解决了一些问题,我研究一下Linux的虚拟主机,下面给大家介绍一下虚拟专用服务器技术,希望大家看完本文,能了解到虚拟专用服务器技术。 VPS(Virtual Private Server 虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的优质服务。 每个VPS都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。 用户除了可以分配多个虚拟主机及无限企业邮箱外,更具有独立服务器功能,可自行安装程序,单独重启服务器。 高端虚拟主机用户的最佳选择。您不再受其他用户程序对您造成的影响, 得到的是更加公平的资源分配,远远低于虚拟主机的故障率. VPS主机技术优势? 1、唯一同时支持Linux和Windows的VPS产品 VPS是唯一一款同时支持Linux和Windows平台的VPS(虚拟专用服务器)产品。VPS采用虚拟操作系统技术,使得每一台物理服务器在硬件支持的情况下可以安装50~200个VPS来为客户提供服务。是最佳的商用虚拟化服务器产品。Virtuozzo管理工具对Windows和Linux是通用的,使得对同时管理两种操作系统的工作更加简便易行。 2、两个隔离:实现了服务器零宕机,确保每个VPS主机独占资源 为什么用户往往会钟情于独立主机服务呢?最重要的原因之一就是对服务器有完全的控制权并且不受外界其他因素的干扰。而VPS主机则具有同样的功能!VPS实现了两个隔离,软件和硬件的隔离以及客户和客户的隔离 3、 软件和硬件的隔离 VPS主机采用操作系统虚拟化技术实现了软件和硬件的隔离,因而改变了黑客程序经常利用的攻击入口,从而增强了服务器的安全性,这同时意味着VPS主机可以被快速而容易地从一台服务器迁移至另一台。事实上VPS主机甚至比独立的服务器都要更加安全可靠。由于基于操作系统虚拟化技术,VPS主机完全与底层硬件隔离,通过操作系统模版轻松实现VPS主机的开通,可以通过拖拽方式瞬间实现VPS主机的服务器迁移,从而真正实现服务器维护和更新时零宕机。 4、客户之间的隔离 每一个VPS主机拥有独立的服务器的资源(包括驱动器、CPU、内存、硬盘和网络I/O),由于采用动态的分区隔离,VPS主机实现不同客户之间的隔离。客户之间的隔离确保每个VPS主机都能独占自己的服务器资源,而且针对单个用户的DDos攻击不会影响同一物理服务器的其他用户,将DDos的攻击危害降至最少,从而提高了服务器的安全性。而且如果其中一个VPS主机宕机,其它的VPS主机不会受到影响,仍旧可以正常运行。 虚拟主机 VS VPS主机 虚拟主机的缺陷在于所有使用者同时共享服务器上的全部资源,当其中的一个使用者过度使用资源,负荷过重时即容易造成服务器发生问题,也因此造成危及其它使用者的情况。VPS主机(Virtual Private Server 虚拟独享主机)乃是以世界知名公司VMWARE公司的虚拟化软件将服务器上的资源做高度技术含量的独立划分,使划分的每一个独立领域有独自的 Root/Administrator管理权限,独自的操作系统OS与IP地址,就像是完全独立主机一般,拥有完全的控制权。并且所有的使用者因各自独立与使用监视,所以不会产生相互影响的现象。 VPS是利用VPS(Virtual Private Server)技术,将一部服务器分割成多个虚拟专享服务器的优质服务。每个VPS都可分配独立公网IP地址、独立操作系统Windows/Linux、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。用户除了可以分配多个虚拟主机及无限企业邮箱外,更具有独立服务器功能,可自行安装程序,单独重启服务器,总而言之,VPS是一项具备高弹性、高质量及低成本效益的服务器解决方案。 通过我的介绍你应该对VPS有所了解,虚拟主机和VPS主机孰好孰坏,说你不清楚,还是看你的选择。

分类: 未分类 标签:

如何在VPS下化解CC攻击

2011年1月27日 freedom 没有评论

CC攻击是基于DDOS攻击而出现的一种新型攻击方法,攻击者大多使用代理攻击,不仅保证自己的隐藏性而且是的攻击程度更加犀利。本篇文章就将通过Linux VPS实现简单的化解CC攻击。 一,准备工作 1,登录进VPS控制面板,准备好随时重启VPS。 2,关闭Web Server先,过高的负载会导致后面的操作很难进行,甚至直接无法登录SSH。 3,以防万一,把设置的Web Server系统启动后自动运行去掉。 (如果已经无法登录进系统,并且重启后负载过高导致刚刚开机就已经无法登录,可联系管理员在母机上封掉VPS的IP或80端口,在母机上用虚拟控制台登录进系统,然后进行2&3的操作,之后解封) 二,找出攻击者IP 1,在网站根目录建立文件ip.php,写入下面的内容。 <?php $real_ip = getenv(‘HTTP_X_FORWARDED_FOR’); if(isset($real_ip)){ shell_exec(“echo $real_ip 》 real_ip.txt”); shell_exec(“echo $_SERVER['REMOTE_ADDR'] 》 proxy.txt”); }else{ shell_exec(“echo $_SERVER['REMOTE_ADDR'] 》 ips.txt”); } echo ‘服务器受到攻击,正在收集攻击源,请在5分钟后访问本站,5分钟内多次访问本站有可能会被当作攻击源封掉IP。谢谢合作!’; ?> 2,设置伪静态,将网站下的所有访问都rewrite到ip.php。 Nginx规则: rewrite (。*) /ip.php; Lighttpd规则: url.rewrite = ( “^/(。+)/?$” => “/ip.php” ) 3,启动Web Server开始收集IP 进行完1和2的设置后,启动Web Server,开始记录IP信息。 收集时间建议为3到5分钟,然后再次关闭Web Server。 real_ip.txt,这个文件中保存的IP有80%以上都相同的,这个IP就是攻击者实施攻击的平台的IP。 proxy.txt,这个文件中保存的是攻击者调用的代理服务器的IP,需要封掉。 ips.txt,这里记录的是未表现出代理服务器特征的IP,根据访问次数判断是否为攻击源。 [...]

分类: 未分类 标签:

nagioscn 简介及配置(一)

2011年1月16日 freedom 没有评论

摘要 Nagios是一款非常优秀的网络主机管理软件,它在开源社区的影响力是非同寻常的。但很可惜的是,它的界面及操作使用过程中采用了英语的语言提示与源程序紧密结合使得这款软件的汉化界面迟迟不能推出,影响了它在中文区的使用。为推进Nagios的使用,笔者建立了nagios-cn工程,该工程的主要目标是翻译源程序中运行提示、界面生成和文档说明,通过一些努力,nagios-cn终于可以正常运转了,本书编写的主要目的是为在中文使用区域推广和使用Nagios软件,让这款优秀的软件为国人服务。 1)建立一个帐号 [root@june src]# useradd nagios 创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。 [root@june src]# groupadd nagcmd [root@june src]#usermod -G nagcmd nagios [root@june src]#usermod -G nagcmd apache 2)下载Nagios和插件程序包 [root@june src]# wget http://nagios-cn.googlecode.com/files/nagios-cn-3.1.0.tar.bz2 [root@june src]# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz [root@june src]# tar xjfv nagios-cn-3.1.0.tar.bz2 3)编译与安装Nagios 展开Nagios源程序包 [root@june src]# tar xjfv nagios-cn-3.1.0.tar.bz2 运行Nagios配置脚本并使用先前开设的用户及用户组 [root@june src]# cd nagios-cn-3.1.0 [root@june nagios-cn-3.1.0]# ./configure –prefix=/usr/local/nagios/ –with-nagios-user=nagios –with-nagios-group=nagios –with-command-user=nagios  [...]

分类: 未分类 标签:
SEO Powered by Platinum SEO from Techblissonline