存档

作者存档

[转载]WIN2003 Server安全配置完整篇

2006年2月16日 没有评论

一、先关闭不需要的端口
      我比较小心,先关了端口。只开了3389 21 80 1433有些人一直说什么默认的3389不安全,对此我不否认,但是利用的途径也只能一个一个的穷举爆破,你把帐号改了密码设置为十五六位,我估计他要破上好几年,哈哈!办法:本地连接–属性–Internet协议(TCP/IP)–高级–选项–TCP/IP筛选–属性–把勾打上 然后添加你需要的端口即可。PS一句:设置完端口需要重新启动!
当然大家也可以更改远程连接端口方法:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp]
“PortNumber”=dword:00002683
保存为.REG文件双击即可!更改为9859,当然大家也可以换别的端口,  直接打开以上注册表的地址,把值改为十进制的输入你想要的端口即可!重启生效!

还有一点,在2003系统里,用TCP/IP筛选里的端口过滤功能,使用FTP服务器的时候,只开放21端口,在进行FTP传输的时候,FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。所做FTP下载的用户看仔细点,表怪俺说俺写文章是垃圾…如果要关闭不必要的端口,在\system32\drivers\etc\services中有列表,记事本就可以打开的。如果懒惰的话,最简单的方法是启用WIN2003的自身带的网络防火墙,并进行端口的改变。功能还可以!Internet 连接防火墙可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫描,提高Windows 2003服务器的安全性。同时,也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。

关于端口的介绍可以访问:http://bbs.86dm.net/viewthread.php?tid=7&extra=page%3D1

二.关闭不需要的服务 打开相应的审核策略
      我关闭了以下的服务
  Computer Browser 维护网络上计算机的最新列表以及提供这个列表

     Task scheduler 允许程序在指定时间运行

  Messenger 传输客户端和服务器之间的 NET SEND 和 警报器服务消息

  Distributed File System: 局域网管理共享文件,不需要禁用

  Distributed linktracking client:用于局域网更新连接信息,不需要禁用

  Error reporting service:禁止发送错误报告

  Microsoft Serch:提供快速的单词搜索,不需要可禁用

  NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用

  PrintSpooler:如果没有打印机可禁用

  Remote Registry:禁止远程修改注册表

  Remote Desktop Help Session Manager:禁止远程协助

       Workstation   关闭的话远程NET命令列不出用户组

 把不必要的服务都禁止掉,尽管这些不一定能被攻击者利用得上,但是按照安全规则和标准上来说,多余的东西就没必要开启,减少一份隐患。
  
  在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),由于要控制带宽流量服务,额外安装了Qos数据包计划程序。在高级tcp/ip设置里–”NetBIOS”设置”禁用tcp/IP上的NetBIOS(S)”。在高级选项里,使用”Internet连接防火墙”,这是windows 2003 自带的防火墙,在2000系统里没有的功能,虽然没什么功能,但可以屏蔽端口,这样已经基本达到了一个IPSec的功能。

在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-Windows设置-安全设置-审核策略在创建审核项目时需要注意的是如果审核的项目太多,生成的事件也就越多,那么要想发现严重的事件也越难当然如果审核的太少也会影响你发现严重的事件,你需要根据情况在这二者之间做出选择。

  推荐的要审核的项目是:

  登录事件   成功 失败

  账户登录事件 成功 失败

  系统事件   成功 失败

  策略更改   成功 失败

  对象访问   失败

  目录服务访问 失败

  特权使用   失败

 

关于WIN2003的服务说明:http://bbs.86dm.net/viewthread.php?tid=9&extra=page%3D1

三、关闭默认共享的空连接

地球人都知道,我就不打了!

四、磁盘权限设置

C盘只给administrators 和system权限,其他的权限不给,其他的盘也可以这样设置,这里给的system权限也不一定需要给,只是由于某些第三方应用程序是以服务形式启动的,需要加上这个用户,否则造成启动不了。
  

 

  Windows目录要加上给users的默认权限,否则ASP和ASPX等应用程序就无法运行。以前有朋友单独设置Instsrv和temp等目录权限,其实没有这个必要的。
  

 

  另外在c:/Documents and Settings/这里相当重要,后面的目录里的权限根本不会继承从前的设置,如果仅仅只是设置了C盘给administrators权限,而在All Users/Application Data目录下会 出现everyone用户有完全控制权限,这样入侵这可以跳转到这个目录,写入脚本或只文件,再结合其他漏洞来提升权限;譬如利用serv-u的本地溢出提升权限,或系统遗漏有补丁,数据库的弱点,甚至社会工程学等等N多方法,从前不是有牛人发飑说:”只要给我一个webshell,我就能拿到system”,这也的确是有可能的。在用做web/ftp服务器的系统里,建议是将这些目录都设置的锁死。其他每个盘的目录都按照这样设置,没个盘都只给adinistrators权限。
另外,还将:
net.exe NET命令
cmd.exe  CMD 懂电脑的都知道咯~
tftp.exe
netstat.exe
regedit.exe  注册表啦 大家都知道
at.exe
attrib.exe
cacls.exe  ACL用户组权限设置,此命令可以在NTFS下设置任何文件夹的任何权限!偶入侵的时候没少用这个….(:
format.exe  不说了,大家都知道是做嘛的
大家都知道ASP木马吧,有个CMD运行这个的,这些如果都可以在CMD下运行..55,,估计别的没啥,format下估计就哭料~~~(:这些文件都设置只允许administrators访问。
五、防火墙、杀毒软件的安装
关于这个东西的安装其实我也说不来,反正安装什么的都有,建议使用卡巴,卖咖啡。用系统自带的防火墙,,这个我不专业,不说了!大家凑合!

六、SQL2000 SERV-U FTP安全设置

SQL安全方面
      1、System Administrators 角色最好不要超过两个

  2、如果是在本机最好将身份验证配置为Win登陆

  3、不要使用Sa账户,为其配置一个超级复杂的密码

  4、删除以下的扩展存储过程格式为:
  use master
  sp_dropextendedproc ‘扩展存储过程名’

  xp_cmdshell:是进入操作系统的最佳捷径,删除

  访问注册表的存储过程,删除
  Xp_regaddmultistring  Xp_regdeletekey  Xp_regdeletevalue  Xp_regenumvalues  
  Xp_regread      Xp_regwrite    Xp_regremovemultistring  

  OLE自动存储过程,不需要删除
  Sp_OACreate   Sp_OADestroy    Sp_OAGetErrorInfo  Sp_OAGetProperty
  Sp_OAMethod  Sp_OASetProperty  Sp_OAStop

  5、隐藏 SQL Server、更改默认的1433端口

  右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默认的1433端口

serv-u的几点常规安全需要设置下:
  
  选中”Block “FTP_bounce”attack and FXP”。什么是FXP呢?通常,当使用FTP协议进行文件传输时,客户端首先向FTP服务器发出一个”PORT”命令,该命令中包含此用户的IP地址和将被用来进行数据传输的端口号,服务器收到后,利用命令所提供的用户地址信息建立与用户的连接。大多数情况下,上述过程不会出现任何问题,但当客户端是一名恶意用户时,可能会通过在PORT命令中加入特定的地址信息,使FTP服务器与其它非客户端的机器建立连接。虽然这名恶意用户可能本身无权直接访问某一特定机器,但是如果FTP服务器有权访问该机器的话,那么恶意用户就可以通过FTP服务器作为中介,仍然能够最终实现与目标服务器的连接。这就是FXP,也称跨服务器攻击。选中后就可以防止发生此种情况。

七、IIS安全设置

IIS的安全:

  1、不使用默认的Web站点,如果使用也要将 将IIS目录与系统磁盘分开。

  2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。

  3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、MSADC。

  4、删除不必要的IIS扩展名映射。

  右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映射。主要为.shtml, .shtm, .stm

  5、更改IIS日志的路径

  右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性

  6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要。
  
八、其它

1、  系统升级、打操作系统补丁,尤其是IIS 6.0补丁、SQL SP3a补丁,甚至IE 6.0补丁也要打。同时及时跟踪最新漏洞补丁;
2、停掉Guest 帐号、并给guest 加一个异常复杂的密码,把Administrator改名或伪装!
3、隐藏重要文件/目录

  可以修改注册表实现完全隐藏:“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows Current-VersionExplorerAdvancedFolderHi-ddenSHOWALL”,鼠标右击 “CheckedValue”,选择修改,把数值由1改为0

4、启动系统自带的Internet连接防火墙,在设置服务选项中勾选Web服务器。

5、防止SYN洪水攻击

  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
TcpipParameters

  新建DWORD值,名为SynAttackProtect,值为2

6. 禁止响应ICMP路由通告报文

  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
TcpipParametersInterfacesinterface

  新建DWORD值,名为PerformRouterDiscovery 值为0

7. 防止ICMP重定向报文的攻击

  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip
Parameters

  将EnableICMPRedirects 值设为0

8. 不支持IGMP协议

  HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
TcpipParameters

  新建DWORD值,名为IGMPLevel 值为0

9、禁用DCOM:

  运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。

  对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。

  清除“在这台计算机上启用分布式 COM”复选框。
八、  建议安全以上步骤做的朋友们,每做一步先进行一下测试,省的无可挽回,毕竟microsoft会出一些非常规性的问题的咯!

分类: 只谈技术 标签:

[转载]Mysql 数据库双机热备的配置

2006年1月16日 没有评论

1。mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题。还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现mysql数据库的热备份。
2。要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备mysql的版本都要高于3.2,还有一个基本的原则就是作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。

3。设置主数据库服务器:
a.首先查看主服务器的版本是否是支持热备的版本。然后查看my.cnf(类unix)或者my.ini(windows)中mysqld配置块的配置有没有log-bin(记录数据库更改日志),因为mysql的复制机制是基于日志的复制机制,所以主服务器一定要支持更改日志才行。然后设置要写入日志的数据库或者不要写入日志的数据库。这样只有您感兴趣的数据库的更改才写入到数据库的日志中。
server-id=1 //数据库的id这个应该默认是1就不用改动
log-bin=log_name //日志文件的名称,这里可以制定日志到别的目录 如果没有设置则默认主机名的一个日志名称
binlog-do-db=db_name //记录日志的数据库
binlog-ignore-db=db_name //不记录日志的数据库
以上的如果有多个数据库用”,”分割开

然后设置同步数据库的用户帐号
mysql> GRANT REPLICATION SLAVE ON *.*
-> TO ‘repl’@'%.mydomain.com’ IDENTIFIED BY ‘slavepass’;

4.0.2以前的版本, 因为不支持REPLICATION 要使用下面的语句来实现这个功能

mysql> GRANT FILE ON *.*
-> TO ‘repl’@'%.mydomain.com’ IDENTIFIED BY ‘slavepass’;

设置好主服务器的配置文件后重新启动数据库

b.锁定现有的数据库并备份现在的数据
锁定数据库
mysql> FLUSH TABLES WITH READ LOCK;
备份数据库有两种办法一种是直接进入到mysql的data目录然后打包你需要备份数据库的文件夹,第二种是使用mysqldump的方式来备份数据库但是要加上”–master-data ” 这个参数,建议使用第一种方法来备份数据库
c.查看主服务器的状态
mysql> show master statusG;
+—————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+—————+———-+————–+——————+
| mysql-bin.003 | 73 | test | manual,mysql |
+—————+———-+————–+——————+
记录File 和 Position 项目的值,以后要用的。

d.然后把数据库的锁定打开
mysql> UNLOCK TABLES;

4。设置从服务器
a.首先设置数据库的配置文件
server-id=n //设置数据库id默认主服务器是1可以随便设置但是如果有多台从服务器则不能重复。
master-host=db-master.mycompany.com //主服务器的IP地址或者域名
master-port=3306 //主数据库的端口号
master-user=pertinax //同步数据库的用户
master-password=freitag //同步数据库的密码
master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差
report-host=db-slave.mycompany.com //报告错误的服务器

b.把从主数据库服务器备份出来的数据库导入到从服务器中
c.然后启动从数据库服务器,如果启动的时候没有加上”–skip-slave-start”这个参数则进入到mysql中
mysql> slave stop; //停止slave的服务
d.设置主服务器的各种参数
mysql> CHANGE MASTER TO
-> MASTER_HOST=’master_host_name’, //主服务器的IP地址
-> MASTER_USER=’replication_user_name’, //同步数据库的用户
-> MASTER_PASSWORD=’replication_password’, //同步数据库的密码
-> MASTER_LOG_FILE=’recorded_log_file_name’, //主服务器二进制日志的文件名(前面要求记住的参数)
-> MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)
e.启动同步数据库的线程
mysql> slave start;

查看数据库的同步情况吧。如果能够成功同步那就恭喜了!

查看主从服务器的状态

mysql> SHOW PROCESSLISTG //可以查看mysql的进程看看是否有监听的进程

如果日志太大清除日志的步骤如下
如果日志太大清除日志的步骤如下
    1.锁定主数据库 mysql> FLUSH TABLES WITH READ LOCK;
    2.停掉从数据库的slave mysql> slave stop;
    3.查看主数据库的日志文件名和日志文件的position
show master status;
+—————+———-+————–+——————+ | File | Position | Binlog_do_db | Binlog_ignore_db | +—————+———-+————–+——————+ | louis-bin.001 | 79 | | mysql | +—————+———-+————–+——————+
    4.解开主数据库的锁 mysql> unlock tables;
    5.更新从数据库中主数据库的信息 mysql> CHANGE MASTER TO ->         MASTER_HOST=’master_host_name’, //主服务器的IP地址 ->     MASTER_USER=’replication_user_name’, //同步数据库的用户 -> MASTER_PASSWORD=’replication_password’, //同步数据库的密码 -> MASTER_LOG_FILE=’recorded_log_file_name’, //主服务器二进制日志的文件名(前面要求记住的参数) -> MASTER_LOG_POS=recorded_log_position; //日志文件的开始位置(前面要求记住的参数)
6.启动从数据库的slave mysql> slave start;

分类: 只谈技术 标签:

[转载]利用mod_ajp整合apache-2.2.0和tomcat-5.5.12

2006年1月16日 没有评论

今天偶然在网上发现apache-2.2.0增加了一个proxy-ajp模块,看了看它可以完全代替原来的mod-jk把tomcat和apache结合到一起。于是我就下载下来试了一下真的很方便比原来的方法简单多了。下面就说明一下我的安装步骤。tomcat和jdk的安装网上太多的教程我在这里就不再介绍了。大家可以去查看其他的教程。

首先从http://www.apache.org的网站上下载apache-2.2.0的源代码。apache-2.2.0的版本做了些改动大家需要注意一下。首先apr和apr-util需要单独的安装,还有配置文件由原来的一个变为现在的多个不过这样也好,可以清楚的知道那部分配置在那个配置文件里方便修改。安装步骤如下:

解压apache的源代码
# tar xvjf httpd-2.2.0.tar.bz2
# cd httpd-2.2.0

安装apr
# cd srclib/apr
# ./configure –prefix=/server/soft/apr
# make
# make install

安装apr-util
# cd ../apr-util/
# ./configure –prefix=/server/soft/apr-util
    –with-apr=/server/soft/apr
# make
# make install
# cd ../../

安装apache
# ./configure –prefix=/server/soft/apache
    –enable-so
    –enable-rewrite=share
    –enable-proxy=share
    –enable-proxy-ajp=share
    –enable-dav=share
    –with-apr=/server/soft/apr
    –with-apr-util=/server/soft/apr-util/
# make
# make install

# /server/soft/apache/bin/httpd -l //看看是否有proxy-ajp这个模块
如果有这个模块证明proxy-ajp模块安装成功,可以进行与tomcat的结合了。

# vi /server/soft/apache/conf/httpd.conf
把”#Include conf/extra/httpd-vhosts.conf” 前面的”#”去掉然后编辑
/server/soft/apache/conf/extra/httpd-vhosts.conf

编辑为如下的代码
<VirtualHost *:80>
    ServerAdmin admin@easyea.com
    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
    ServerName localhost
    ServerAlias www.easyea.com
    ErrorLog logs/easyea.com-error_log
    CustomLog logs/easyea.com-access_log common
</VirtualHost>

然后先启动tomcat,再启动apache
# /server/soft/apache/bin/apachctl start
打开浏览器看看是否看到了tomcat的欢迎页面,如果是说明apache和tomcat的结合成功

分类: 只谈技术 标签: ,

页面播放器代码

2006年1月10日 没有评论

<OBJECT id=Player type=application/x-oleobject height=64 width=180 classid=CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6>
<PARAM NAME=”URL” VALUE=”mms://v.thmz.com/fm104“>
<PARAM NAME=”playCount” VALUE=”100″>
<PARAM NAME=”autoStart” VALUE=”1″>
<PARAM NAME=”volume” VALUE=”100″>
<PARAM NAME=”uiMode” VALUE=”mini”>
</OBJECT>

height=64  播放器的高度
width=180  播放器的宽度
mms://v.thmz.com/fm104  播放内容的地址

分类: 只谈技术 标签: ,

[转载]wget 使用帮助中文版

2005年12月24日 没有评论

$ wget –help
GNU Wget 1.9.1,非交互式的网络文件下载工具。
用法: wget [选项]… [URL]…

长选项必须用的参数在使用短选项时也是必须的。

启动:
  -V,  –version           显示 Wget 的版本并且退出。
  -h,  –help              打印此帮助。
  -b,  -background         启动后进入后台操作。
  -e,  -execute=COMMAND    运行‘.wgetrc’形式的命令。

日志记录及输入文件:
  -o,  –output-file=文件     将日志消息写入到指定文件中。
  -a,  –append-output=文件   将日志消息追加到指定文件的末端。
  -d,  –debug                打印调试输出。
  -q,  –quiet                安静模式(不输出信息)。
  -v,  –verbose               详细输出模式(默认)。
  -nv, –non-verbose          关闭详细输出模式,但不进入安静模式。
  -i,  –input-file=文件      下载从指定文件中找到的 URL。
  -F,  –force-html           以 HTML 方式处理输入文件。
  -B,  –base=URL             使用 -F -i 文件选项时,在相对链接前添加指定的 URL。

下载:
  -t,  –tries=次数             配置重试次数(0 表示无限)。
       –retry-connrefused      即使拒绝连接也重试。
  -O   –output-document=文件   将数据写入此文件中。
  -nc, –no-clobber             不更改已经存在的文件,也不使用在文件名后
                                添加 .#(# 为数字)的方法写入新的文件。
  -c,  –continue               继续接收已下载了一部分的文件。
       –progress=方式          选择下载进度的表示方式。
  -N,  –timestamping           除非远程文件较新,否则不再取回。
  -S,  –server-response        显示服务器回应消息。
       –spider                 不下载任何数据。
  -T,  –timeout=秒数           配置读取数据的超时时间 (秒数)。
  -w,  –wait=秒数              接收不同文件之间等待的秒数。
       –waitretry=秒数         在每次重试之间稍等一段时间 (由 1 秒至指定的 秒数不等)。
       –random-wait            接收不同文件之间稍等一段时间(由 0 秒至  2*WAIT 秒不等)。
  -Y,  –proxy=on/off           打开或关闭代理服务器。
  -Q,  –quota=大小             配置接收数据的限额大小。
       –bind-address=地址      使用本机的指定地址 (主机名称或 IP) 进行连接。
       –limit-rate=速率        限制下载的速率。
       –dns-cache=off          禁止查找存于高速缓存中的 DNS。
       –restrict-file-names=OS 限制文件名中的字符为指定的 OS (操作系统) 所允许的字符。

目录:
  -nd  –no-directories            不创建目录。
  -x,  –force-directories         强制创建目录。
  -nH, –no-host-directories       不创建含有远程主机名称的目录。
  -P,  –directory-prefix=名称     保存文件前先创建指定名称的目录。
       –cut-dirs=数目             忽略远程目录中指定数目的目录层。

HTTP 选项:
       –http-user=用户    配置 http 用户名。
       –http-passwd=密码    配置 http 用户密码。
  -C,  –cache=on/off        (不)使用服务器中的高速缓存中的数据 (默认是使用的)。
  -E,  –html-extension      将所有 MIME 类型为 text/html 的文件都加上 .html 扩展文件名。
       –ignore-length       忽略“Content-Length”文件头字段。
       –header=字符串         在文件头中添加指定字符串。
       –proxy-user=用户   配置代理服务器用户名。
       –proxy-passwd=密码   配置代理服务器用户密码。
       –referer=URL         在 HTTP 请求中包含“Referer:URL”头。
  -s,  –save-headers        将 HTTP 头存入文件。
  -U,  –user-agent=AGENT    标志为 AGENT 而不是 Wget/VERSION。
       –no-http-keep-alive  禁用 HTTP keep-alive(持久性连接)。
       –cookies=off         禁用 cookie。
       –load-cookies=文件   会话开始前由指定文件载入 cookie。
       –save-cookies=文件   会话结束后将 cookie 保存至指定文件。
       –post-data=字符串    使用 POST 方法,发送指定字符串。
       –post-file=文件      使用 POST 方法,发送指定文件中的内容。

HTTPS (SSL) 选项:
       –sslcertfile=文件     可选的客户段端证书。
       –sslcertkey=密钥文件  对此证书可选的“密钥文件”。
       –egd-file=文件        EGD socket 文件名。
       –sslcadir=目录         CA 散列表所在的目录。
       –sslcafile=文件      包含 CA 的文件。
       –sslcerttype=0/1      Client-Cert 类型 0=PEM (默认) / 1=ASN1 (DER)
       –sslcheckcert=0/1     根据提供的 CA 检查服务器的证书
       –sslprotocol=0-3      选择 SSL 协议;0=自动选择,
                              1=SSLv2 2=SSLv3 3=TLSv1

FTP 选项:
  -nr, –dont-remove-listing   不删除“.listing”文件。
  -g,  –glob=on/off           设置是否展开有通配符的文件名。
       –passive-ftp           使用“被动”传输模式。
       –retr-symlinks         在递归模式中,下载链接所指示的文件(连至目录
                               则例外)。
递归下载:
  -r,  –recursive          递归下载。
  -l,  –level=数字         最大递归深度(inf 或 0 表示无限)。
       –delete-after       删除下载后的文件。
  -k,  –convert-links      将绝对链接转换为相对链接。
  -K,  –backup-converted   转换文件 X 前先将其备份为 X.orig。
  -m,  –mirror             等效于 -r -N -l inf -nr 的选项。
  -p,  –page-requisites    下载所有显示完整网页所需的文件,例如图像。
       –strict-comments    打开对 HTML 备注的严格(SGML)处理选项。

递归下载时有关接受/拒绝的选项:
  -A,  –accept=列表                接受的文件样式列表,以逗号分隔。
  -R,  –reject=列表                排除的文件样式列表,以逗号分隔。
  -D,  –domains=列表               接受的域列表,以逗号分隔。
       –exclude-domains=列表       排除的域列表,以逗号分隔。
       –follow-ftp                 跟随 HTML 文件中的 FTP 链接。
       –follow-tags=列表           要跟随的 HTML 标记,以逗号分隔。
  -G,  –ignore-tags=列表           要忽略的 HTML 标记,以逗号分隔。
  -H,  –span-hosts                 递归时可进入其它主机。
  -L,  –relative                   只跟随相对链接。
  -I,  –include-directories=列表   要下载的目录列表。
  -X,  –exclude-directories=列表   要排除的目录列表。
  -np, –no-parent                  不搜索上层目录。

请将错误报告或建议寄给 <bug-wget@gnu.org>。

分类: 只谈软件 标签:

MediaWiki安装

2005年12月12日 没有评论

说道wiki,头一次知道是在一个开源游戏(OPENTTD)的主页上发现的,他的游戏指南就是用wiki做的,域名就是wiki.openttd.org,当时很奇怪,你说着游戏指南、帮助,怎么二级域名用wiki,蛮奇怪的,所以也没多留意,只是觉得上面的Random page功能比较好玩。

后来陆续看到一些网站都是用wiki当二级域名,才发现有些蹊跷,看看右下角似乎都有个向日葵的power by mediawiki这个标志,本来想去这个软件官方主页看看的,不过至今从来没打开过他的主页,也就没研究成

最近老大一句话,说研究研究wiki,看看是不是我们也搞个。所以就开始找这个mediawiki,同时搜了写国内wiki站点,好像都是拿这个系统建的(看来我眼光还不错嘛哈哈^^)所以下载了个装了试试,一打开傻眼,地址是http://wiki.thmz.com/index.php/%E9%A6%96%E9%A1%B5

这不是传说中的apache专用url跳转么,我这会不巧测试用的正好是iis的服务器,这mediawiki也真是的,网站打不开,说明文档么一句话,支持iis就是没说在iis上怎么装。想着只能明天看看找台apache的服务器装了再试吧,先看看这wiki到底啥玩意,看到了刚刚安装生成的配置文件LocalSettings.php

看到有这么几行
## If using PHP as a CGI module, use the ugly URLs
$wgArticlePath      = “$wgScript/$1″;
# $wgArticlePath      = “$wgScript?title=$1″;

这看着似乎有点眉目,这不就是说url格式的么,改成了

## If using PHP as a CGI module, use the ugly URLs
#$wgArticlePath      = “$wgScript/$1″;
$wgArticlePath      = “$wgScript?title=$1″;

打开就好了

http://wiki.thmz.com/index.php?title=%E9%A6%96%E9%A1%B5

这下地址对了^^

分类: 只谈软件 标签:

htaccess文件使用大全

2005年12月7日 没有评论

- .htaccess文件(或者”分布式配置文件”提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。[1]作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

- 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。

- .htaccess必须以ASCII模式上传,最好将其权限设置为644。

错误文档的定位

常用的客户端请求错误返回代码:
401 Authorization Required
403 Forbidden
404 Not Found
405 Method Not Allowed
408 Request Timed Out
411 Content Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
常见的服务器错误返回代码:
500 Internal Server Error

用户可以利用.htaccess指定自己事先制作好的错误提醒页面。一般情况下,人们可以专门设立一个目录,例如errors放置这些页面。然后再.htaccess中,加入如下的指令:

ErrorDocument 404 /errors/notfound.html
ErrorDocument 500 /errors/internalerror.html

一条指令一行。上述第一条指令的意思是对于404,也就是没有找到所需要的文档的时候得显示页面为/errors目录下的notfound.html页面。不难看出语法格式为:

ErrorDocument 错误代码 /目录名/文件名.扩展名

如果所需要提示的信息很少的话,不必专门制作页面,直接在指令中使用HTML号了,例如下面这个例子:

ErrorDocument 401 “
你没有权限访问该页面,请放弃!

文档访问的密码保护

要利用.htaccess对某个目录下的文档设定访问用户和对应的密码,首先要做的是生成一个.htpasswd的文本文档,例如:

zheng:y4E7Ep8e7EYV

这里密码经过加密,用户可以自己找些工具将密码加密成.htaccess支持的编码。该文档最好不要放在www目录下,建议放在www根目录文档之外,这样更为安全些。

有了授权用户文档,可以在.htaccess中加入如下指令了:

AuthUserFile .htpasswd的服务器目录
AuthGroupFile /dev/null (需要授权访问的目录)
AuthName EnterPassword
AuthType Basic (授权类型)

require user wsabstract (允许访问的用户,如果希望表中所有用户都允许,可以使用 require valid-user)

注,括号部分为学习时候自己添加的注释

拒绝来自某个IP的访问

如果我不想某个政府部门访问到我的站点的内容,那可以通过.htaccess中加入该部门的IP而将它们拒绝在外。

例如:

order allow,deny
deny from 210.10.56.32
deny from 219.5.45.
allow from all

第二行拒绝某个IP,第三行拒绝某个IP段,也就是219.5.45.0~219.2.45.255

想要拒绝所有人?用deny from all好了。不止用IP,也可以用域名来设定。

保护.htaccess文档

在使用.htaccess来设置目录的密码保护时,它包含了密码文件的路径。从安全考虑,有必要把.htaccess也保护起来,不让别人看到其中的内容。虽然可以用其他方式做到这点,比如文档的权限。不过,.htaccess本身也能做到,只需加入如下的指令:

order allow,deny
deny from all

URL转向

我们可能对网站进行重新规划,将文档进行了迁移,或者更改了目录。这时候,来自搜索引擎或者其他网站链接过来的访问就可能出错。这种情况下,可以通过如下指令来完成旧的URL自动转向到新的地址:

Redirect /旧目录/旧文档名 新文档的地址

或者整个目录的转向:

Redirect 旧目录 新目录

改变缺省的首页文件

一般情况下缺省的首页文件名有default、index等。不过,有些时候目录中没有缺省文件,而是某个特定的文件名,比如在pmwiki中是pmwiki.php。这种情况下,要用户记住文件名来访问很麻烦。在.htaccess中可以轻易的设置新的缺省文件名:

DirectoryIndex 新的缺省文件名

也可以列出多个,顺序表明它们之间的优先级别,例如:

DirectoryIndex filename.html index.cgi index.pl default.htm

防止盗链

如果不喜欢别人在他们的网页上连接自己的图片、文档的话,也可以通过htaccess的指令来做到。

所需要的指令如下:

RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
RewriteRule .(gif&line;jpg)$ – [F]

如果觉得让别人的页面开个天窗不好看,那可以用一张图片来代替:

RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^$
RewriteCond %{ HTTP_REFERER } !^http://(www.)?mydomain.com/.*$ [NC]
RewriteRule .(gif&line;jpg)$ http://www.mydomain.com/替代图片文件名 [R,L]

分类: 只谈技术 标签:

Linux下常用配置文件及常用命令介绍

2005年12月6日 没有评论

/etc/sysconfig/network 包括主机基本网络信息,用于系统启动

/etc/sysconfig/network-script/ 此目录下是系统启动最初始化网络的信息

/etc/sysconfig/network-script/ifcfg-eth0 网络配置信息

/etc/xinetd.conf 定义了由超级进程XINETD启动的网络服务

/etc/protocols 设定了主机使用的协议以及各个协议的协议号

/etc/services 设定了主机的不同端口的网络服务

// 网络配置工具

# redhat-config-network

/* 使用ifconfig命令配置并查看网络接口情况 */

//配置eth0的IP,同时激活设备

# ifconfig eth0 192.168.168.119 netmask 255.255.255.0 up

//配置eth0别名设备 eth0:1 的IP,并添加路由

# ifconfig eth0:1 192.168.168.110

# route add –host 192.168.168.110 dev eth0:1

//激活(禁用)设备

# ifconfig eth0:1 up(down)

//查看所有(指定)网络接口配置

# ifconfig (eth0)

/* 使用route 命令配置路由表 */

//添加到主机路由

# route add –host 192.168.168.110 dev eth0:1

# route add –host 192.168.168.119 gw 192.168.168.1

//添加到网络的路由

# route add –net IP netmask MASK eth0

# route add –net IP netmask MASK gw IP

# route add –net IP/24 eth1

//添加默认网关

# route add default gw IP

//删除路由

# route del –host 192.168.168.110 dev eth0:1

/* 常用命令 */

# traceroute www.pconline.com.cn

# ping www.pconline.com.cn

//显示网络接口状态信息

# netstat –I

//显示所有监控的服务器的Socket和正在使用Socket的程序信息

# netstat –lpe

//显示内核路由表信息

# netstat –r

# netstat –nr

//显示TCP/UDP传输协议的连接状态

# netstat –t

# netstat –u

//更改主机名

# hostname myhost

//查看ARP缓存

# arp

//添加

# arp –s IP MAC

//删除

# arp –d IP

/* 运行级别与网络服务 */

//查看当前运行级别

# runlevel

//运行级别的切换

# init

# telinit

分类: 只谈技术 标签:

urlscan使用详解

2005年12月5日 没有评论

(一)、软件的下载与安装

URLScan可以在微软的网站上下载,地址如下:

http://download.microsoft.com/download/iis50/Utility/1.0/NT45XP/EN-US/UrlScan.exe

和一般软件一样安装,但是,此软件不能选择安装路径,安装完成以后,我们可以在System32/InetSvr/URLScan目录下找到以下文件:

urlscan.dll:动态连接库文件;
urlscan.inf:安装信息文件;
urlscan.txt:软件说明文件;
urlscan.ini:软件配置文件,这个文件很只要,因为对URLScan的所有配置,均有这个文件来完成。

(二)、软件的配置

软件的配置由urlscan.ini文件来完成,在配置此文件以前,我们需要了解一些基本知识。

1、urlscan配置文件的构造形式

urlscan配置文件必须遵从以下规则:

(1)此文件名必须为urlscan.ini;

(2)配置文件必须和urlscan.dll在同一目录;

(3)配置文件必须是标准ini文件结构,也就是由节,串和值组成;

(4)配置文件修改以后,必须重新启动IIS,使配置生效;

(5)配置文件由以下各节组成:

[Option]节,主要设置节;
[AllowVerbs]节,配置认定为合法URL规则设定,此设定与Option节有关;
[DenyVerbs]节,配置认定为非法URL规则设定,此设定与Option节有关;
[DenyHeaders]节,配置认定为非法的header在设立设置;
[AllowExtensions]节,配置认定为合法的文件扩展名在这里设置,此设定与Option节有关;
[DenyExtensions]节,配置认定为非法的文件扩展名在这里设置,此设定与Option节有关;

2、具体配置

(1)Option节的配置,因为Option节的设置直接影响到以后的配置,因此,这一节的设置特别重要。此节主要进行以下属性的设置:

UseAllowVerbs:使用允许模式检查URL请求,如果设置为1,所有没有在[AllowVerbs]节设置的请求都被拒绝;如果设置为0,所有没有在[DenyVerbs]设置的URL请求都认为合法;默认为1;

UseAllowExtensions:使用允许模式检测文件扩展名;如果设置为 1,所有没在[AllowExtensions]节设置的文件扩展名均认为是非法请求;如果设置为0,所有没在[DenyExtensions]节设置的扩展名均被认为是合法请求;默认为0;

EnableLogging:是否允许使用Log文件,如果为1,将在urlscan.dll的相同目录设置名为urlscan.log的文件记录所有过滤;

AllowLateScanning:允许其他URL过滤在URLScan过滤之前进行,系统默认为不允许0;

AlternateServerName:使用服务名代替;如果此节存在而且[RemoveServerHeader]节设置为0,IIS将在这里设置的服务器名代替默认的“Server”;

NormalizeUrlBeforeScan:在检测URL之前规格化URL;如果为1,URLScan将在IIS编码URL之前URL进行检测;需要提醒的是,只有管理员对URL解析非常熟悉的情况下才可以将其设置为0;默认为1;

VerifyNormalization:如果设置为1,UrlScan将校验URL规则,默认为1;此节设定与NormalizeUrlBeforeScan有关;

AllowHighBitCharacters:如果设置为1,将允许URL中存在所有字节,如果为0,含有非ASCII字符的URL将拒绝;默认为1;

AllowDotInPath:如果设置为1,将拒绝所有含有多个“.”的URL请求,由于URL检测在IIS解析URL之前,所以,对这一检测的准确性不能保证,默认为0;

RemoveServerHeader:如果设置为1,将把所有应答的服务头清除,默认为0;

(2)[AllowVerbs]节配置

如果UseAllowVerbs设置为1,此节设置的所有请求将被允许,一般设置以下请求:

GET、HEAD、POST

(3)[DenyVerbs]节配置

如果UseAllowVerbs设置为0,此节设置的所有请求将拒绝,一般设置以下请求:

PROPFIND、PROPPATCH、MKCOL、DELETE、PUT、COPY、MOVE、LOCK、UNLOCK

(4)[AllowExtensions]节设置

在这一节设置的所有扩展名文件将被允许请求,一般设置以下请求:

.asp、.htm、.html、.txt、.jpg、.jpeg、.gif,如果需要提供文件下载服务,需要增加.rar、.zip

(5)[DenyExtensions]节设置

在这一节设置的所有扩展名文件请求将被拒绝,根据已经发现的漏洞,我们可以在这一节增加内容,一般为以下设置:
.asa、可执行文件、批处理文件、日志文件、罕见扩展如:shtml、.printer等。

 

分类: 只谈软件 标签:

Redhat常用配置文件

2005年12月1日 没有评论

我这个人比较喜欢直接改配置文件,慢慢加吧,都是一些日常配置要用到的配置文件名,想到什么加什么。

网卡ip地址:
/etc/sysconfig/network-scripts
ifcfg-eth0、ifcfg-eth1就是物理网卡1、2的配置文件了,改完了network服务重启下就行

系统dns地址:
/etc/resolv.conf

默认网关地址:
/etc/sysconfig/network
改完了网卡配置里面的网关,如果route发现系统默认网关还是老的地址的话就是这个配置文件里面的设置在作怪了

分类: 只谈软件 标签: