众所周知,Linux可以通过编写iptables规则对进出Linux主机的数据包进行过滤等操作,在一定程度上可以提升Linux主机的安全性,在新版本内核中,新增了recent模块,该模块可以根据源地址、目的地址统计最近一段时间内经过本机的数据包的情况,并根据相应的规则作出相应的决策,详见:http://snowman.net/projects/ipt_recent/
1、通过recent模块可以防止穷举猜测Linux主机用户口令,通常可以通过iptables限制只允许某些网段和主机连接Linux机器的22/TCP端口,如果管理员IP地址经常变化,此时iptables就很难适用这样的环境了。通过使用recent模块,使用下面这两条规则即可解决问题:
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name SSH --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource -j ACCEPT
应用该规则后,如果某IP地址在一分钟之内对Linux主机22/TCP端口新发起的连接超过4次,之后的新发起的连接将被丢弃。
2、通过recent模块可以防止端口扫描。
-A INPUT -m recent --update --seconds 60 --hitcount 20 --name PORTSCAN --rsource -j DROP
-A INPUT -m recent --set --name PORTSCAN --rsource -j DROP
应用该规则后,如果某个IP地址对非Linux主机允许的端口发起连接,并且一分钟内超过20次,则系统将中断该主机与本机的连接。
详细配置如下:
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [458:123843]
-A INPUT -i lo -j ACCEPT
-A INPUT -i tap+ -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m recent --update --seconds 60 --hitcount 20 --name PORTSCAN --rsource -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --name SSH --rsource -j DROP
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A INPUT -m recent --set --name PORTSCAN --rsource -j DROP
COMMIT
以上配置说明,本机开放可供服务的端口有22/TCP(有连接频率限制),53/TCP/UDP, 80/TCP, 443/TCP,所有发往本机的其他ip报文则认为是端口扫描,如果一分钟之内超过20次,则封禁该主机,攻击停止一分钟以上自动解封。
在这只是取个抛砖引玉的作用,通过recent模块还可以实现很多更复杂的功能,例如:22/TCP端口对所有主机都是关闭的,通过顺序访问23/TCP 24/TCP 25/TCP之后,22/TCP端口就对你一个IP地址开放等等。
wenzk 未分类
相信很多人都知道Linux下的arping命令,对于同一网段ping带有防火墙的机器是很方便的。
但是在windows下似乎没有这个程序,于是写了一个bat脚本来实现该功能。
@echo off
:loop
ping -n 1 -w 500 %1 >nul
for /f "tokens=1,2 delims= " %%i in ('arp -a') do if %%i == %1 echo Reply from %1 [%%j]
arp -d
goto loop
将这段代码保存成arping.bat放到C:\Windows\System32下即可,需要将全角的双引号、单引号都变成半角的。
使用方法:
arping 目的IP地址,如:
C:\Documents and Settings\Administrator>arping 192.168.254.254
Reply from 192.168.254.254 [00-18-4d-32-a8-34]
Reply from 192.168.254.254 [00-18-4d-32-a8-34]
Reply from 192.168.254.254 [00-18-4d-32-a8-34]
Reply from 192.168.254.254 [00-18-4d-32-a8-34]
^C终止批处理操作吗(Y/N)? y
C:\Documents and Settings\Administrator>
wenzk 未分类 arping, windows
在使用段老师给的seems.tar.gz时,发现系统无法描绘出path的路径图像。
运行dot生成图像时提示:
Error: Layout was not done. Missing layout plugins
解决办法,由root运行dot -c一次即可。
Its is looking for its plugins at runtime in the location
/usr/lib/graphviz/ (or /usr/lib64/graphviz/ on 64bit machines),
where the prefix, “/usr”, is set at ./configure time or at install-time.
So dot is not run-time relocatable in the way you are trying. It is
install-time relocatable, but that requires root access.
/usr/lib/graphviz/config is created at install-time, by running “dot
-c” as root. It is a record of the plugins found in
/usr/lib/graphviz/libgvplugin-*
wenzk 未分类 dot, graphviz
# date –version
date (coreutils) 5.2.1
Written by David MacKenzie.
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[root@node40 data]# date +%s
1235955408
# date -d @1235955408
date: invalid date `@1235955408′
# date -d “1970-01-01 UTC 1235955408 seconds”
Mon Mar 2 08:56:48 CST 2009
$ date –version
date (GNU coreutils) 5.97
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License .
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
$ date -d @1235955408
Mon Mar 2 08:56:48 CST 2009
$ date -d “1970-01-01 UTC 1235955408 seconds”
Mon Mar 2 08:56:48 CST 2009
wenzk 未分类 date 时间 转换
写在开始之前
其实这是一篇介绍Putty使用的文章,文章不会太关注于技术细节和其它客户端的比较,原本想把文章的题目叫“Putty的使用”,但是又觉得文章介绍的内容并非是Putty独有的功能,而是OpenSSH的一些功能,所以最终还是选择使用“OpenSSH与Putty”,希望这个题目会相对贴切一些。
每当看到一些朋友或同事使用SecureCRT的时候,我总是会问一句:“为什么使用SecureCRT呢,这个软件不免费,需要破解,需要安装……?”,一般得到的答复都是:“习惯了,刚开始接触就用这个,你用什么呢?”,没错,很多时候人总是让惯性所左右了,很多事情都是习惯了,因为习惯了,所以我要继续保持现状……,其实我刚开始接触SSH的时候,使用的也是SecureCRT,并且这个软件对Serial支持也很好,对于网管来说,再也不用忍受Windows自带的“超级终端”了。后来想让自己尽量尊重知识产权,尽量少使用破解、盗版软件,所以逐步替换机器上的破解软件,具体是什么时候开始使用Putty我也记不太清楚了,肯定是2006年以前的事情了,当时Putty还不支持Serial,现在最新版本已经支持了,虽然不支持Xmodem(需要使用的时候,可以使用超级终端嘛)。
因为前一段时间和段老师讨论通过SSH编辑远程主机上的UTF-8文件的时候讨论到了Putty,段老师建议我写一篇Putty的使用手册,发在我们的博客上,充分利用这个平台交流,所以这篇文章和大家见面了,由于本人水平有限,如有错误,欢迎指正。
阅读全文…
wenzk 未分类 openssh, port forwarding, putty, socks, ssh, winscp
一直没有往这个博客发过带图片的日志,今天测试一下用Live Writer发布一个图片试试,但是结果却是让人预想不到的,居然提示日志不允许发布图片,建议使用FTP上传图片,于是登录到后台看看是否哪个地方设置不对了,但是看看设置,一切也是OK的,为什么呢?
阅读全文…
wenzk 未分类 Live Writer, 图片, 域名, 日志
用键盘上的PrtSC也可以只抓活动窗口,而不是全屏。
wenzk 未分类