假设两点:
1 不能让访问真正访问到真实服务器
2 记录访问发送的内容
我的笨方法:
1 在网关上控制数据的访问
2 建立一个网关,把所有转发数据都发送到本地webserver,记录日志
3 修改被监控的机器网关
Step 1,iptables脚本:
Step 2,建立nginx记录日志(配置简化):
Step 3,修改被检测机器的网关为刚才的服务器
这个结果是,被检测的机器发送的所有外网请求都会记录在日志里,日志里包含了域名、post的数据、cookie信息等,比如:
比如可以知道机器做了啥:
1 访问阿权的书房的
2 不明白什么访问的
3 访问谷歌的
4 360提交了什么东西
5 微软提交了什么东西
6 有道词典的数据,有cookie信息
知道访问的域名了,就可以在真正的网关禁止访问某个ip($x)即可。
完成~~
PS: 我们的大大的防火墙是否也类似这样呢。。
参考阅读:
1 透明代理配置
2 使用nginx截取https数据
3 NginxHttpLogModule
4 iptables 端口转发
1 不能让访问真正访问到真实服务器
2 记录访问发送的内容
我的笨方法:
1 在网关上控制数据的访问
2 建立一个网关,把所有转发数据都发送到本地webserver,记录日志
3 修改被监控的机器网关
Step 1,iptables脚本:
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -P FORWARD ACCEPT
iptables -A INPUT -t filter -s 192.168.1.1/24 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp -d ! 192.168.1.1/24 -j REDIRECT --to-ports 80
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -P FORWARD ACCEPT
iptables -A INPUT -t filter -s 192.168.1.1/24 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp -d ! 192.168.1.1/24 -j REDIRECT --to-ports 80
Step 2,建立nginx记录日志(配置简化):
log_format main '$remote_addr - $http_host [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "||$http_cookie||" "||$request_body||"';
server {
listen 80;
server_name localhost;
access_log /Data/logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "||$http_cookie||" "||$request_body||"';
server {
listen 80;
server_name localhost;
access_log /Data/logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
}
Step 3,修改被检测机器的网关为刚才的服务器
这个结果是,被检测的机器发送的所有外网请求都会记录在日志里,日志里包含了域名、post的数据、cookie信息等,比如:
引用
192.168.1.27 - www.aslibra.com [13/May/2010:19:50:09 +0800] "GET / HTTP/1.1" 404 169 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET
CLR 3.5.30729)"||-||" "||-||"
192.168.1.27 - 221.176.31.1 [13/May/2010:19:50:09 +0800] "POST /ht/sd.aspx?t=i&i=1 HTTP/1.1" 404 169 "-" "IIC2.0/PC 3.6.2020" "||ssi
c=||" "||-||"
192.168.1.27 - www.google.com.hk [13/May/2010:19:50:10 +0800] "GET / HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windo
ws NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "||-||" "||-||"
192.168.1.27 - qurl.f.360.cn [13/May/2010:19:50:10 +0800] "POST /check_outchain.php HTTP/1.1" 404 169 "-" "Post_Multipart" "||-||" "
||-||"
192.168.1.27 - www.sqm.microsoft.com [13/May/2010:19:51:18 +0800] "POST /sqm/messenger/sqmserver.dll HTTP/1.1" 404 169 "-" "MSDW" "|
|-||" "||-||"
192.168.1.27 - dict.youdao.com [13/May/2010:19:51:23 +0800] "GET /fsearch?client=deskdict&keyfrom=deskdict.network_test&q=Yodao%20di
ct%20Retest&pos=7&doctype=xml&xmlVersion=3.2&dogVersion=1.0&id=3d933c2ef00b99c1&vendor=360z&in=___________________3.1.17.6336&appVer
=3.1.17.6336&le=eng&wstate=yes&proc=iexplore.exe HTTP/1.1" 404 169 "-" "Yodao Desktop Dict (Windows 5.1.2600)" "||OUTFOX_SEARCH_USER
_ID=-2146282@1.2.3.4; DESKDICT_VENDOR=360z; JSESSIONID=bfds6TxoFfFvb_uv1srIs||" "||-||"
CLR 3.5.30729)"||-||" "||-||"
192.168.1.27 - 221.176.31.1 [13/May/2010:19:50:09 +0800] "POST /ht/sd.aspx?t=i&i=1 HTTP/1.1" 404 169 "-" "IIC2.0/PC 3.6.2020" "||ssi
c=||" "||-||"
192.168.1.27 - www.google.com.hk [13/May/2010:19:50:10 +0800] "GET / HTTP/1.1" 200 151 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windo
ws NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "||-||" "||-||"
192.168.1.27 - qurl.f.360.cn [13/May/2010:19:50:10 +0800] "POST /check_outchain.php HTTP/1.1" 404 169 "-" "Post_Multipart" "||-||" "
||-||"
192.168.1.27 - www.sqm.microsoft.com [13/May/2010:19:51:18 +0800] "POST /sqm/messenger/sqmserver.dll HTTP/1.1" 404 169 "-" "MSDW" "|
|-||" "||-||"
192.168.1.27 - dict.youdao.com [13/May/2010:19:51:23 +0800] "GET /fsearch?client=deskdict&keyfrom=deskdict.network_test&q=Yodao%20di
ct%20Retest&pos=7&doctype=xml&xmlVersion=3.2&dogVersion=1.0&id=3d933c2ef00b99c1&vendor=360z&in=___________________3.1.17.6336&appVer
=3.1.17.6336&le=eng&wstate=yes&proc=iexplore.exe HTTP/1.1" 404 169 "-" "Yodao Desktop Dict (Windows 5.1.2600)" "||OUTFOX_SEARCH_USER
_ID=-2146282@1.2.3.4; DESKDICT_VENDOR=360z; JSESSIONID=bfds6TxoFfFvb_uv1srIs||" "||-||"
比如可以知道机器做了啥:
1 访问阿权的书房的
2 不明白什么访问的
3 访问谷歌的
4 360提交了什么东西
5 微软提交了什么东西
6 有道词典的数据,有cookie信息
知道访问的域名了,就可以在真正的网关禁止访问某个ip($x)即可。
iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REJECT
或者
iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REDIRECT --to-ports 80
或者
iptables -t nat -A PREROUTING -p tcp -m tcp -d $x -j REDIRECT --to-ports 80
完成~~
PS: 我们的大大的防火墙是否也类似这样呢。。
参考阅读:
1 透明代理配置
2 使用nginx截取https数据
3 NginxHttpLogModule
4 iptables 端口转发
为什么要用虚拟机?
1 机器空闲,需要充分利用资源
2 运行的程序有危险性,需要用独立的机器处理,但又没有空闲机器
3 做一些测试性的操作
4 建立脱离机器配置的服务,容易迁移到另外的服务器,备份硬盘即可
有哪些虚拟机软件?
XEN使用半虛擬化的環境所具備的特色有:
安装XEN
安装相应的软件后,修改启动文件:
/boot/grub/menu.lst
把xen内核版本的作为默认启动项,比如 title CentOS (2.6.18-164.15.1.el5xen)
重启机器后,“uname -r” 检查是否内核带有xen后缀
安装虚拟机
按鸟哥的文章安装吧,其实没有那么麻烦,本地建立web服务,把centos的dvd光盘mount到某个目录,web可以访问即可。当然了,cd版本的按他的做吧。
1 机器空闲,需要充分利用资源
2 运行的程序有危险性,需要用独立的机器处理,但又没有空闲机器
3 做一些测试性的操作
4 建立脱离机器配置的服务,容易迁移到另外的服务器,备份硬盘即可
有哪些虚拟机软件?
引用
1 老牌子的 VMWare (http://www.vmware.com/)
2 已漸趨成熟的 Xen (http://www.xensource.com/)
3 後起之秀 KVM (Kernel based Virtual Machine, http://kvm.qumranet.com/kvmwiki)
4 酷!炫!有勁的 VirtualBox (http://www.virtualbox.org/)
2 已漸趨成熟的 Xen (http://www.xensource.com/)
3 後起之秀 KVM (Kernel based Virtual Machine, http://kvm.qumranet.com/kvmwiki)
4 酷!炫!有勁的 VirtualBox (http://www.virtualbox.org/)
XEN使用半虛擬化的環境所具備的特色有:
引用
虛擬機器的運作效率與實體機器的效能相當;
最多可支援到具有 32 顆以上 CPU 的主機環境;
支援 x86/32, x86/32 含 PAE 技術, 及 x86/64 的硬體平台環境;
良好的硬體驅動程式支援,幾乎支援所有的 Linux 裝置之驅動程式;
最多可支援到具有 32 顆以上 CPU 的主機環境;
支援 x86/32, x86/32 含 PAE 技術, 及 x86/64 的硬體平台環境;
良好的硬體驅動程式支援,幾乎支援所有的 Linux 裝置之驅動程式;
安装XEN
yum -y install kernel-xen
yum -y install xen xen-libs python-virtinst
yum -y install xen xen-libs python-virtinst
安装相应的软件后,修改启动文件:
/boot/grub/menu.lst
把xen内核版本的作为默认启动项,比如 title CentOS (2.6.18-164.15.1.el5xen)
重启机器后,“uname -r” 检查是否内核带有xen后缀
安装虚拟机
按鸟哥的文章安装吧,其实没有那么麻烦,本地建立web服务,把centos的dvd光盘mount到某个目录,web可以访问即可。当然了,cd版本的按他的做吧。
其实怎么安装proftp不用说
一句话就可以了,需要说明的有几点:
1 限制用户主目录
2 限制用户使用shell
如果使用/bin/false 或者是 /usr/sbin/nologin作为用户的shell,则输入正确的密码也登录不上ftp
这个主要是因为 这两个shell程序不是有效的shell程序
# /etc/shells: valid login shells
我们可以编辑 /etc/shells 加入此shell即可,用户则会登录后强制退出了
参考:
http://hi.baidu.com/jeffyqiu/blog/item/d5aba635f992ed8aa61e129b.html
apt-get install proftpd
一句话就可以了,需要说明的有几点:
1 限制用户主目录
#编辑 /etc/proftpd/proftpd.conf ,打开DefaultRoot的注释即可
# Use this to jail all users in their homes
DefaultRoot ~
# Use this to jail all users in their homes
DefaultRoot ~
2 限制用户使用shell
如果使用/bin/false 或者是 /usr/sbin/nologin作为用户的shell,则输入正确的密码也登录不上ftp
这个主要是因为 这两个shell程序不是有效的shell程序
# /etc/shells: valid login shells
我们可以编辑 /etc/shells 加入此shell即可,用户则会登录后强制退出了
参考:
http://hi.baidu.com/jeffyqiu/blog/item/d5aba635f992ed8aa61e129b.html
配置RAID可以参考这个《使用ServeRAID Manager 配置阵列》。
不过,使用此功能,还是需要下载IBM的iso,可是ibm官方已经没法下载了,感谢迅雷,让我们可以下载到这些资源:
IBM ServeRAID Support CD
如果有相关的错误,可以参考这个:
《IBM xSeries 206 錯誤代碼說明》
用该ISO刻录后启动机器,就可以进入设置了,参考前面的文章即可,我发现有个5ee的选项,看的是不错的东西:
RAID 5EE 阵列级别简介
不过,使用此功能,还是需要下载IBM的iso,可是ibm官方已经没法下载了,感谢迅雷,让我们可以下载到这些资源:
IBM ServeRAID Support CD
如果有相关的错误,可以参考这个:
《IBM xSeries 206 錯誤代碼說明》
用该ISO刻录后启动机器,就可以进入设置了,参考前面的文章即可,我发现有个5ee的选项,看的是不错的东西:
RAID 5EE 阵列级别简介
安装过程比较简单,囫囵吞枣的也可以完成任务的,原文挺好,这里有所不同,笔记一下,可以参考:
1 安装软件,好简单,飞快
2 设置服务
3 添加用户权限,执行 mysql -u root -p cacti
1 安装软件,好简单,飞快
apt-get -y install apache2 mysql-server php5 php5-mysql php5-cgi php5-cli php5-snmp php-pear snmp snmpd rrdtool
2 设置服务
cd /var/www/
wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
tar xfz cacti-0.8.7e.tar.gz
mv cacti-0.8.7e.tar.gz /Data/tgz/
mv cacti-0.8.7e/ cacti
cd cacti/
mysqladmin -u root -p create cacti
mysql -u root -p cacti < cacti.sql
wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz
tar xfz cacti-0.8.7e.tar.gz
mv cacti-0.8.7e.tar.gz /Data/tgz/
mv cacti-0.8.7e/ cacti
cd cacti/
mysqladmin -u root -p create cacti
mysql -u root -p cacti < cacti.sql
3 添加用户权限,执行 mysql -u root -p cacti
grant all on cacti.* to cactiuser@localhost identified by 'cacti';
flush privileges;
set password for cactiuser@localhost=password('cactiuser');
flush privileges;
set password for cactiuser@localhost=password('cactiuser');
小笔记一下md的创建:
1 创建raid1的md1,用两个分区创建
可以查看md1的情况:
1 创建raid1的md1,用两个分区创建
[root@aslibra ~]# mdadm -CR /dev/md1 -l1 -n2 /dev/sda3 /dev/sdb2
mdadm: largest drive (/dev/sdb2) exceed size (118792576K) by more than 1%
mdadm: array /dev/md1 started.
mdadm: largest drive (/dev/sdb2) exceed size (118792576K) by more than 1%
mdadm: array /dev/md1 started.
可以查看md1的情况:
今天给一台局域网机器加上snmp服务,apt-get install snmpd后,发现监听的端口是127.0.0.1,还需要修改一些地方,和centos还是有点不一样。
参考另外一篇笔记,这个和debian系统一样:
先安裝 snmpd 與 snmp 套件
修改 /etc/snmp/snmpd.conf 設定檔。修改 community string,如下範例中 qu2uZEGa 就是你自己設定的 community string ( 預設為 public )
設定 syslocation 與 syscontact
修改 /etc/default/snmpd 設定檔
如果你的 snmpd 需要接受遠端來的連線,將 127.0.0.1 部分移除
参考另外一篇笔记,这个和debian系统一样:
先安裝 snmpd 與 snmp 套件
apt-get install snmpd snmp
修改 /etc/snmp/snmpd.conf 設定檔。修改 community string,如下範例中 qu2uZEGa 就是你自己設定的 community string ( 預設為 public )
# sec.name source community
#com2sec paranoid default public
com2sec readonly default qu2uZEGa
#com2sec readwrite default private
#com2sec paranoid default public
com2sec readonly default qu2uZEGa
#com2sec readwrite default private
設定 syslocation 與 syscontact
syslocation Doggy Digital Creative Inc. IDC
syscontact Will
syscontact Will
修改 /etc/default/snmpd 設定檔
如果你的 snmpd 需要接受遠端來的連線,將 127.0.0.1 部分移除






