分页: 2/3 第一页 上页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]
[不指定 2008/02/29 17:23 | by tinkoko ]




在哎哟网络已经快半年了。

还算稳定........

感觉还不错.......

除了房贷有时候压得我有点累,到还没有什么 .............


ok,正事

上海,北京,服务器租用托管联系我!~~

自己人好商量............

上海哎哟网络_神仙Tinkoko

乾子
QQ:9197216/63552123

MSN:xuantinkoko@hotmail.com

TEL:021-64327940(202)
QQ群:12935864

认识我的不认识我的看~~~~~~~~~~~~
技术方面,大家都可以相互学习
  主机租用(Dedicated server):提供各种国内外品牌服务器的租用托管
  机柜租用(Colocation Rack):提供电信、网通骨干网络为依托的精品机房机柜租用
  VPS租用(VIRTUAL PRIVATE SERVER):4线接入的虚拟独享服务器
  虚拟主机(Web Hosting):提供可管理的各种容量虚拟主机服务,自主选择操作系统
  域名注册(Domain Register):提供国内外各种域名注册服务
网站制作:提供中韩日优秀网站设计方案
 

 



linux(centos4.4)打造入侵检测系统snort++mysql+Apache+php+acid+adodb+jpgraph

平台 centos4.4 192.168.0.100

前提系统安装zlib和libpcap的支持......^^

所需要的软件

snort-2.8.0.1.tar.gz (
http://www.snort.orghttp://www.snort.org)

snortrules-snapshot-CURRENT.tar.gz (
http://www.snort.orghttp://www.snort.org这个是规则,下载rules)

jpgraph-1.22.tar.gz (http://www.aditus.nu/jpgraph/index.php
)

adodb498.tgz (

http://adodb.sourceforge.net
)

acid-0.9.6b23.tar.gz (
http://acidlab.sourceforge.net)

httpd 版本自己设置 自己下载

mysql 版本自己设置自己下载

php 版本自己设置 自己下载


1。配制LAMP环境

这个不用多说了。很多案例,或者找我的blog上的linux技术文档

配制完成后,mysql 用户root ,密码123456
创建两个数据库:snort和snort_archive
懒得设置过多,使用root用户,密码123456

2。安装并启动snort
# ./configure --prefix=/usr/local/snort --with-mysql=/usr/local/mysql
# make && make install
# mkdir /var/snort
# mkdir /var/log/snort
# mkdir /etc/snort(存放rules的目录)

安装rules

# tar zxvf snortrules-snapshot-CURRENT.tar.gz
里面会有4个目录 etc rules doc so_rules
# mv rules /etc/snort
# mv doc /etc/snort
# cp etc/
snort.conf /etc/snort/rules/
#cp etc/* /etc/snort/

修改/etc/snort/rules/snort.conf:
找到var RULE_PATH ./rules 修改为 var RULE_PATH /
etc/snort/rules
找到
output database: log, mysql, user=root password=your_password dbname=snort host=localhost
去掉注释,并且按照你的信息自己修改...
output database: log, mysql, user=root password=123456 dbname=snort host=localhost


这个时候需要create_mysql这个脚本
找到snort-2.8.0.1.tar.gz 的安装目录
进入/snort-2.8.0.1/schemas/这个目录
运行
# /usr/local/mysql/bin/mysql -u root -p snort < create_mysql
# /usr/local/mysql/bin/mysql -u root -p snort_archive < create_mysql

启动snort
# /usr/local/snort/bin/snort -d -D -c /etc/snort/rules/snort.conf

3.安装ACID设置

解压缩
jpgraph-1.22.tar.gz

adodb498.tgz

acid-0.9.6b23.tar.gz

移动到apache可以访问的目录
#cp -r acid /usr/local/apache/htdocs
#cp -r adodb /usr/local/apache/htdocs
#cp -r jpgraph /usr/local/apache/htdocs

#vi /usr/local/apache/htdocs/acid/acid_conf.php
修改以下内容:
$DBlib_path="../adodb";
$alert_dbname="snort";
$alert_user="root";
$alert_password="123456";
$Chartlib_path="../jpgraph/src";

按照自己的设置去修改

4。测试ACID是不是成功
http://192.168.1.100/acid

如果访问正常,则setup进行安装acid数据库

然后就会出现你想要的界面了!
Analysis Console for Intrusion Databases

Added 0 alert(s) to the Alert cache

Queried on : Tue February 19, 2008 19:46:13
Database: snort@localhost (schema version: 0)

到现在,基本安装已经完成了!~~~~~~~~~~~
接下来的就是去查看IDS了…………

控制存取,以mrtg为例:
配置公司mrtg,由于不想叫外人访问,需要给mrtg目录加个权限
win2003下可以用iis+ntfs实现,linux下使用apache
1、修改http.conf
 找到

# AllowOverride None
修改

AllowOverride All

  意思是在/usr/local/apache/htdocs下不同目录的访问权限由该目录下的.htaccess文件来控制,
而且不同目录的权限策略可互相覆盖。

2、编辑你想要控制的目录下的.htaccess文件
  假设你的mrtg目录在/usr/local/apache/htdocs/mrtg下,你可以这样在mrtg目录下创建一
个.htaccess文件,
内容如下:

AuthUserFile /usr/local/apache/pass/pwd
AuthType Basic
AuthName "Database Security Zone"
ErrorDocument 401 /401.html

require valid-user


该文件说明了几个问题:
(1) 用户信息存放在/usr/local/apache/pass/pwd中.
(2) 认证类型为基本型(此外还有一些其他的加密类型).
(3) ErrorDocument 所指向的html文件.
(4) 认证方式:用户认证(valid-user)或组认证(valid-group).


mkdir /usr/local/apache/pass
touch pwd

3. 生成用户密码文件

/usr/local/apache/bin/htpasswd -bc /usr/local/apache/pass/pwd admin 123456

4. 重起apache deamon
/usr/local/apache/bin/apachectl restart
这时,再访问你的phpmyadmin就要用户名和密码了。。。

由于 原来接触的jsp环境不多,临时又需要,临时找东西配置

自己整理下!

配置JSP环境,同时还要求apahce处理静态页面,tomcat处理jsp页面,apache还需虚拟主机
所需要软件
httpd-2.2.9.tar.gz
jakarta-tomcat-5.5.12.tar.gz
j2sdk-1_4_2_16-linux-i586-rpm.bin
jakarta-tomcat-connectors-jk2-2.0.4-src.tar.tar



1。先去下载J2Dk

j2sdk-1_4_2_16-linux-i586-rpm.bin 有很多,自己下载,原来下载的是tar 包,结果编译怎么也不成功,赶时间,就去下载个bin文件,比较简单些。

安装:./xxxxxxxx.bin
rpm -ivh xxxxxx.rpm
2、安装Apache。
  # tar xzvf httpd-2.2.0.tar.gz

  # cd httpd-2.2.0

  # ./configure ——prefix=/usr/local/apache ——enable-so

  # make

  # make install

3.安装tomcat
下载jakarta-tomcat-4.1.31.tar.gz,由于是2进制文件,所以下载后解压直接可以用。

为了方便 ,我在/usr/local下面分别建立jdk和tomcat的链接

ln -s /usr/java/j2sdk1.4.2_16/ /usr/local/jdk
ln -s /usr/local/src/tomcat /usr/local/tomcat


4.设置系统变量:

Vi /usr/local/tomcat/bin/srart.sh和Vi /usr/local/tomcat/bin/shutdown.sh
分别将以下命令添加进取到#--------------------------------这个后面

Export JAVA_HOME=/usr/local/jdk

Export PATH=$PATH:$JAVA_HOME/bin

Export CLASSPATH=$JAVA_HOME/lib

启动tomcat /usr/local/tomcat/bin/start.sh
随系统启动 vi /etc/rc.d/rc.local


然后访问 localhost:8080就会看见tom图标了
!~~~别忘记了防火墙设置

---------------------------------------------------------------------------
----------------------------------
---------------------------------------
5.整合apache和tomcat,安装mod_jk连接器
下载mod_jk2(jakarta-tomcat-connectors-jk2-2.0.4-src.tar.tar)
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/source/

编译生成mod_jk。

  # tar xzvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.tar

  # cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native

  # ./configure ——with-apxs2=/usr/local/apache/bin/apxs

  # make

#cd ../build/jk2/apache2
#/usr/local/apache/bin/apxs -n jk2 -i mod_jk2.so

6.整合参数*********************

#cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf/

# vi workers.properties
修改
workers.tomcat_home=/usr/local/tomcat

workers.java_home=/usr/local/jdk
修改成你相应的目录....

7.修改Apache的配置文件httpd.conf,添加:
LoadModule jk2_module modules/mod_jk2.so
在DirectoryIndex中添加 index.jsp

在文件末尾添加:

增加mod_jk的配置文件

<IfModule mod_jk.c>
JkWorkersFile /home/tinkoko/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel error
</IfModule>
增加mod_jk匹配的类型


<IfModule mod_jk.c>
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /servlet/* ajp13
</IfModule>

8。使tomcat和apache的主目录一致,都是/usr/local/apache/htdocs

编辑# vi /usr/local/tomcat/conf/server.xml
找到<Host name="localhost" debug="0" appBase="webapps"
下面添加:<Context path="" docBase="/usr/local/apache/htdocs" debug="0"/>
保存退出就好了

9。测试

在/usr/local/apache/htdocs新建一个te.jsp

里面内容:


hello,this time is <%= new java.util.Date() %>

10:
访问:
一个使用 x.x.x.x/te.jsp
tomcat使用x.x.x.x:8080/te.jsp

如果都能出现系统时间那么就是正常了。。。。。。。。

hello,this time is Sun Feb 17 18:41:53 CST 2008
--------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------
如何上面做有问题,可以尝试下面这样子作,依旧是对mod_jk中间连接器的增改
-----------------------------------------------------------------------------------

ps:在第6步时候,编辑/usr/local/apache/conf/workers2.properties

里面内容

[shm]
info=Scoreboard. Requried for reconfiguration and status with multiprocess servers.
file=anon

# Defines a load balancer named lb. Use even if you only have one machine.
[lb:lb]

# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1

# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
group=lb

# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]
group=lb

[status:]

info=Status worker, displays runtime information

[uri:/jkstatus/*]
info=The Tomcat /jkstatus handler
group=status:
[uri:/*.jsp]
worker=ajp13:localhost:8009

保存退出。

编辑/usr/local/apache/conf/httpd.conf

里面添加
LoadModule jk2_module         modules/mod_jk2.so

<IfModule mod_jk.c>
JkWorkersFile /usr/local/apache/conf/workers2.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel error
</IfModule>
<IfModule mod_jk.c>
JkMount /*.jsp ajp13
JkMount /*.do ajp13
JkMount /servlet/* ajp13
</IfModule>

保存退出!
重新启动apache

[不指定 2008/01/17 10:49 | by tinkoko ]
. 抵御SYN
SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际
建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。
Linux内核提供了若干SYN相关的配置,用命令:
sysctl -a | grep syn
看到:
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5

tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie
功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN
的重试次数。

加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分
SYN攻击,降低重试次数也有一定效果。

调整上述设置的方法是:
增加SYN队列长度到2048:
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
打开SYN COOKIE功能:
sysctl -w net.ipv4.tcp_syncookies=1
降低重试次数:
sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3

为了系统重启动时保持上述配置,可将上述命令加入到/etc/rc.d/rc.local文件中。



2.抵御DDOS
DDOS,分布式拒绝访问攻击,是指黑客组织来自不同来源的许多主机,向常见的端口,如80,
25等发送大量连接,但这些客户端只建立连接,不是正常访问。由于一般Apache配置的接受连接
数有限(通常为256),这些“假” 访问会把Apache占满,正常访问无法进行。
* 用iptables屏蔽IP
iptables -I RH-Lokkit-0-50-INPUT 1 -p tcp -m tcp -s 213.8.166.227 --dport 80 --syn -j REJECT


使用iptables禁止ping:
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 6/min --limit-burst 2 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT --reject-with icmp-port-unreachable

允许某ip连接
-I RH-Firewall-1-INPUT 1 -p tcp -m tcp -s 192.168.0.51 --syn -j ACCEPT
分页: 2/3 第一页 上页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]