Sunday, April 27, 2008

Ten Must-have free security tools from eweek (bilingual)

1. Secunia Personal Software Inspector

The Secunia PSI examines .exe, .dll, and .ocx files on your computer and
matches the data against a file signatures engine to determine whether
you are running unpatched software programs. It then provides help in
patching the vulnerabilities that are identified.

Secunia是一家专注于安全技术的公司,他们的PSI软件会检查你电脑上的.exe,
.dll, 和 .ocx文件并将结果和文件签名引擎中的数据进行匹配以确定你正在使用
的软件是否已经打过补丁。如果没有,他们会提供帮助让你补上那些已经被查出的
漏洞。

Download link(下载链接): https://psi.secunia.com/

2. OpenDNS

No software to install. Just change your DNS settings to use OpenDNS
servers (208.67.222.222 and 208.67.220.220) to get valuable security
features—content filtering, adult site blocking, phishing and malware
blocking, and protection against DNS rebinding attacks.

无需安装任何软件,只是将你的DNS服务器设为OpenDNS提供的服务器
(208.67.222.222 and 208.67.220.220)即可使用他们的安全服务 -- 内容过滤,
成人网站拦截,欺骗性邮件和恶意软件拦截,并可保护你的DNS服务免于rebinding
攻击。

Download link(下载链接): http://www.opendns.com


3. Haute Secure

The free browser plugin (Internet Explorer and Firefox) covers the
growing data security hole between your firewall and anti-virus
programs. It provides an aggressive, color-coded early warning system
for drive-by malware attacks.

这是一个免费的浏览器插件,适用于IE和火狐(Firefox)。主要用于防火墙和防病
毒软件无法保护的那部分的数据安全。它针对恶意软件攻击提供很主动的并用颜色
标识的早期预警系统。

Download link(下载链接): http://www.hautesecure.com


4. Trend Micro RUBotted

This lightweight beta program intelligently monitors Windows machines
for remote botnet C&C (command and control) commands. These can include
commands to turn the zombie machine into a spam relay; launch
denial-of-service attacks; or host malicious Web sites for phishing attacks.

这个轻量级的测试程序智能地监视Windows系统以检测任何可能的botnet远程控制
命令。包括那些可以把僵尸机器变成垃圾邮件转发器,发动DoS攻击以及生成欺骗
性网站内容的命令。

Download link(下载链接):

http://www.trendsecure.com/portal/en-US/tools/security_tools/rubotted


5. AVG Anti-Rootkit

Detects and removes stealthy rootkits used by hackers to hide malicious
software from security programs.

侦测删除隐蔽的rootkit程序,防止hacker隐藏其他恶意程序以躲避安全软件的侦测。

Download link(下载链接): http://free.grisoft.com/doc/39798/us/frt/0

6. ZoneAlarm Firewall

Easy-to-use firewall systematically identifies hackers and blocks access
attempts.

非常易用的防火墙,系统地侦测和防止黑客行为

Download link(下载链接):

http://www.zonealarm.com/store/content/catalog/products/sku_list_za.jsp?lid=nav_za

7. BitDefender 10 Free AntiVirus

Provides on-demand scan engines to find and remove viruses. Features
include scheduled scanning, immediate scanning, ability to quarantine
suspicious files and reporting capabilities.

提供按需扫描引擎来侦测和删除病毒。主要特性包括:计划扫描,立即扫描,隔离
疑似病毒文件及报告功能。

Download link(下载链接):

http://www.bitdefender.com/PRODUCT-14-en--BitDefender-Free-Edition.html

8. CC Cleaner

This lightweight utility combines a system cleaner that removes unused
and temporary files URL history and cookies from the three main Web
browsers (IE, Firefox and Opera). It also features a registry cleaner.

这个轻量级的工具整合了系统清理和注册表清理功能,可以清理不使用的和临时文
件,URL历史,清理IE,Firefox和Opera的cookie。

Download link(下载链接): http://www.ccleaner.com/

9. WinPatrol

This ultimate watchdog program monitors Windows computers for signs of
malicious hacker activity. It can also be used to monitor, stop and
control Windows services, detect and review new auto-startup programs
and monitor IE home and search pages.

这个终极的防护程序监视Windows机器以发现可能的恶意黑客活动迹象。它还能用
于监视、停止和控制Windows的服务,检查自动启动程序并监视IE 的主页和搜索页。

Download link(下载链接): http://www.winpatrol.com/download.html

10. NoScript

This is a no-brainer for Firefox, Flock, Seamonkey and others
Mozilla-based browsers. This free add-on allows JavaScript, Java, Flash
and other plugins to be executed only by trusted web sites, providing
powerful anti-XSS protection directly in the browser.

这是一个针对Firefox,Flock,Seamonkey和其他基于Mozilla的浏览器的非常易于
使用的工具。这个插件可以让 avaScript, Java, Flash 和其他插件只被信任的网
站执行,为浏览器提供了很强有力的anti-XSS保护。

Download link(下载链接): http://noscript.net/

Saturday, April 26, 2008

Turn Off the PC-Speaker

 Did you ever get annoyed for that beeping sound from your Windows Machine, especially when you're in office or some other public places? You mute all sound devices but it didn't work. Here is how to turn it off.
 
当你正在办公室或者其他地方使用电脑,但突然它发出尖锐的"嘟嘟"声。 非常恼人,不是吗?你将所有设备都设为静音,但仍然无济于事。这里我们有一个办法来关掉它。

  In Windows 2k/XP,click "start >> Run", key in "devmgmt.msc" and press "Enter" to go into device manager, select the "Show hidden devices" option in the "View" menu, go to "non plug and play device" find that device named "Beep" and set it to disabled.

在Windows2k/XP中,点击"开始>>运行",输入"devmgmt.msc",在弹出的设备管理器窗口中,点击"查看"菜单,选中"显示隐藏设备"。然后在下面右边的窗口中点击"非即插即用设备",找到"beep",右键单击,选择"禁用",虽有按提示操作,重启电脑即可。



中 国 最 强 网 游 --- 网 易 梦 幻 西 游 ,166 万 玩 家 同 时 在 线

Friday, April 25, 2008

How to patch your OpenBSD

Every OS needs to be patched, even for OpenBSD, either for security reasons, reliability ones, bug fixes or new functions.

To patch OpenBSD, you need first to know whether there are any patches released/applicable for your version of release. For OpenBSd, there are two ways you can check if there are any patches available. First, and recommended, is to check the errata (http://www.openbsd.org/errata.html) page. Second is to subscribe to "announce " and "security-announce" mailing lists. for more details on how, check OpenBSD web page or send a mail to majordomo@openbsd.org with subject "help".


In OpenBSD, there are 3 ways to patch your system with all the patches.
1. upgrade your system to -current branch, since all patches and fixes are incorporated into -current.

This is not suitable for most users because of the ever-changing code for -current.

2. upgrade your system to -stable branch of your your release.

By doing this, you'll need to fetch or update your source tree using the appropriate -stable branch, and recompile the kernel and userland files. While this is the easiest way and is OK for most users, it take quite a while to download source files and recompile the system, especially for these who has limited bandwidth to Internet.

3. Patch, compile and install individual impacted files.

This is what we will use for our example below. While this requires less bandwidth and typically less time than an entire cvs(1) checkout/update and source code compilation, this is sometimes the most difficult option, as there is no one universal set of instructions to follow. Sometimes you must patch, recompile and install one application, other times, you might have to recompile entire sections of the tree if the problem is in a library file.

Once you've identified the patch you need to apply to your system, here are the steps to follow:

++++++++++++++++++Following lines are from www.openbsd.org/faq/faq10.html:

Applying patches.

Patches for the OpenBSD Operating System are distributed as "Unified diffs", which are text files that hold differences to the original source code. They are NOT distributed in binary form. This means that to patch your system you must have the source code from the RELEASE version of OpenBSD readily available. In general, you should have the entire source tree available. If you are running a release from official CDROM, the source trees are available on disk 3, they are also available as files from the FTP servers. We will assume you have the entire tree checked out.

For our example here, we will look at patch 001 for OpenBSD 3.6 dealing with the st(4) driver, which handles tape drives. Without this patch, recovering data from backups is quite difficult. People using a tape drive need this patch, however those without a tape drive may have no particular need to install it. Let's look at the patch:

# more 001_st.patch
Apply by doing:
cd /usr/src
patch -p0 < 001_st.patch

Rebuild your kernel.

Index: sys/scsi/st.c
===================================================================
RCS file: /cvs/src/sys/scsi/st.c,v
retrieving revision 1.41
retrieving revision 1.41.2.1
diff -u -p -r1.41 -r1.41.2.1
--- sys/scsi/st.c 1 Aug 2004 23:01:06 -0000 1.41
+++ sys/scsi/st.c 2 Nov 2004 01:05:50 -0000 1.41.2.1
@@ -1815,7 +1815,7 @@ st_interpret_sense(xs)
u_int8_t skey = sense->flags & SSD_KEY;
int32_t info;

- if (((sense->flags & SDEV_OPEN) == 0) ||
+ if (((sc_link->flags & SDEV_OPEN) == 0) ||
(serr != 0x70 && serr != 0x71))
return (EJUSTRETURN); /* let the generic code handle it */

As you will note, the top of the patch includes brief instructions on applying it. We will assume you have put this patch into the /usr/src directory, in which case, the following steps are used:

# cd /usr/src
# patch -p0 < 001_st.patch
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|Apply by doing:
| cd /usr/src
| patch -p0 < 001_st.patch
|
|Rebuild your kernel.
|
|Index: sys/scsi/st.c
|===================================================================
|RCS file: /cvs/src/sys/scsi/st.c,v
|retrieving revision 1.41
|retrieving revision 1.41.2.1
|diff -u -p -r1.41 -r1.41.2.1
|--- sys/scsi/st.c 1 Aug 2004 23:01:06 -0000 1.41
|+++ sys/scsi/st.c 2 Nov 2004 01:05:50 -0000 1.41.2.1
--------------------------
Patching file sys/scsi/st.c using Plan A...
Hunk #1 succeeded at 1815. <-- Look for this message!
done

Note the "Hunk #1 succeeded" message above. This indicates the patch was applied successfully. Many patches are more complex than this one, and will involve multiple hunks and multiple files, in which case, you should verify that all hunks succeeded on all files. If they did not, it normally means your source tree is not right, you didn't follow instructions carefully, or your patch was mangled. Patches are very sensitive to "white space" -- copying and pasting from your browser will often change tab characters into spaces or otherwise alter the white space of a file, making it not apply.

At this point, you can build the kernel as normal, install it and reboot the system.

Not all patches are for the kernel. In some cases, you will have to rebuild individual utilities. At other times, will require recompiling all utilities statically linked to a patched library. Follow the guidance in the header of the patch, and if uncertain, rebuild the entire system.

Patches that are irrelevant to your particular system need not be applied -- usually.

Sunday, April 13, 2008

use proxy authentication with perl

Here is a simple script to grab a URL using proxy that requires authentication and using different port for different service:

use strict;
use LWP::UserAgent;
use HTTP::Request;

my $Silverfox = LWP::UserAgent->new();
$Silverfox->proxy(http =>'http://username:pwd@myproxy.com:8080');
$Silverfox->proxy(ftp =>'username:pwd@http://myproxy.com:81');
$Silverfox->no_proxy(qw('127.0.0.1' local));

# initialize proxy settings from environment variables
#$Sliverfox->env_proxy;

my $req = HTTP::Request->new(GET =>'http://www.bsdplus.cn');
print $Silverfox->request($req)->as_string;