扫净缘客 回复于:2005-07-16 10:40:09 |
我想问下啊.我通过规则以后 在我不登陆ssh的情况下 我的secure是没有其他记录的 要如何禁止其他人来扫描我啊 :em06: :em06: |
platinum 回复于:2005-07-16 10:48:05 |
[quote:8416b0f494="扫净缘客"]我想问下啊.我通过规则以后 在我不登陆ssh的情况下 我的secure是没有其他记录的 要如何禁止其他人来扫描我啊 :em06: :em06:[/quote:8416b0f494] 装了防盗门是为了防撬,你家没有门,买了一个防盗门放在家里,怎么防撬? 这个仅仅是通过 ssh 记录来判断是否扫描的 |
零二年的夏天 回复于:2005-07-16 11:28:13 |
能用tail 来取1分钟不? |
platinum 回复于:2005-07-16 11:40:28 |
[quote:a0f5769509="零二年的夏天"]能用tail 来取1分钟不?[/quote:a0f5769509] 我想过,取多少不好定 少了可能漏信息,多了可能掺杂了其他时间的信息 如果用 tail,我没想好怎么取。。。。。 请夏天老师指教 :em06: |
零二年的夏天 回复于:2005-07-16 11:43:10 |
我没有实验环境,不知道这个命令行不行。我只是觉得pipe太多了。呵呵;) [code:1:clearcase/" target="_blank" >cc7cebcaeb]tail -s 60 -f /var/log/secure|awk ... [/code:1:cc7cebcaeb] ---------- 我是赋闲在家的劳力。 |
platinum 回复于:2005-07-16 11:48:09 |
tail -s 60 -f /var/log/secure|awk ... 这样以后 tail 一直接收 /var/log/secure 的信息,并每 60 秒显示一次最新的 我不清楚这样的信息能用来 for 吗? for i in `tail -s 60 -f /var/log/secure|awk ......` |
platinum 回复于:2005-07-16 12:58:51 |
经测试,for i in `tail -s 60 -f /var/log/secure|awk ......` 的方法无法将新增加的内容提交给变量 i 去进入循环 |
零二年的夏天 回复于:2005-07-16 16:14:04 |
是的。 呵呵,劳动的时候在想这个问题,发觉应该是错误的想法。 :) |
lxdlj 回复于:2005-07-25 10:28:25 |
经常在CU上见到这样的帖子,可我觉得费解的是:在实际情况中,真有必要这样做吗? 我的观点是: 1.系统安全的加固要根据具体的实际需求和定级别。 2.系统是开放的。如果你要怕别人攻击的话,那就把你的所有端口关掉吧。。。。 3。每天Internet上的类似的探测,扫描多了,你还真这样过滤啊。晕。。。。 4.安全是相对的。 |
platinum 回复于:2005-07-25 10:55:21 |
安全是相对的,而我们做的每种方法也都是为了达到相对的安全 |
lxdlj 回复于:2005-07-25 10:59:47 |
可是这些措施我觉得就真一点必要都没有。Internet上尝试扫描登陆的人多,IP也多了。 把SSH等配置好,完全不必要这样做。 就好比,你开个WWW服务,你与其花各种办法阻止SQL 注入,还不如把程序代码写好。 |
platinum 回复于:2005-07-25 11:03:35 |
是的这个 script 也许有点脱离实际用途,主要应该加强各个 service 的安全,重要的在疏通,而不是堵 这个 script 仅仅是一个研究,对于脆弱的 sshd 还是很有一定帮助的 |
我爱钓鱼 回复于:2005-07-25 11:04:42 |
有个问题请教一下:假如机器真的被人盯上了,疯狂扫描,这个脚本的性能如何?对机器的整体性能有影响吗? |
platinum 回复于:2005-07-25 11:06:37 |
[quote:faa5b147e2="我爱钓鱼"]有个问题请教一下:假如机器真的被人盯上了,疯狂扫描,这个脚本的性能如何?对机器的整体性能有影响吗?[/quote:faa5b147e2] 扫描的前 1 分钟和正常机器被扫描一样,机器负载可能比较高 之后这个 IP 马上被尽掉(处理过程大概 1 秒都不到),被 iptables 挡到外面,机器恢复平常状态 |
lxdlj 回复于:2005-07-25 11:12:54 |
在CU上看到这类的贴子多了, 本来从来都是看贴不回贴的,但今天实在忍不住想说几句。 我想我们的研究如果脱离实际情况将有什么意义?想调查一下发言的几位有多少实际做过大型的实际运维工作? 与其把精力放在iptables上还不如去做点其他事情呢。iptables是个好东东,但想请问拿iptables + TC做流量控制,以及iptables 做什么拒绝SYNFlood连接,iptables自动拒绝SSH登陆,等等,这些想法很好,但适合实际的运维吗? 注:我很佩服CU里iptables的高手,但我觉得我们做这些工作的时候要更加的切合实际。 比如iptables+TC做流量控制,这事情不太可行的根本原因就在于iptables+TC无法根据应用层报文进行协议的分析。就好比dst port =25并不意味这就是SMTP服务 |
platinum 回复于:2005-07-25 11:16:39 |
对于实际生产系统,可以会用专业的防火墙去处理 这些方法只是给我们这些没有对 TCP/IP 编程经验的“菜鸟”们用的^_^ |
lxdlj 回复于:2005-07-25 11:19:27 |
注:我很佩服CU里iptables的高手,但我觉得我们做这些工作的时候要更加的切合实际。 比如iptables+TC做流量控制,这事情不太可行的根本原因就在于iptables+TC无法根据应用层报文进行协议的分析。就好比dst port =25并不意味这就是SMTP服务,对这种情况下显然就无法应用于实际中 |
platinum 回复于:2005-07-25 11:28:02 |
没有绝对,只有相对,就好比 TCP/25 ,是 SMTP 的概率有多少?没有 100% 可能也有 99% 了,所以就没必要去分析 packet 中的具体数据内容来判断是否为 SMTP 但好比 TCP/16881,这个虽然 BT 用的很多,但不一定就代表BT,且 BT 还会用到其他端口,因此要想匹配 BT 就需要分析 packet 里面的具体数据内容 任何事都没有绝对的,就好比这个 script,我的机器很烂,366MHz,如果有人扫描我,机器就受不了了,变得异常迟钝,因此我写了这样一个脚本,并贴出来大家共享,我并没有告诉大家要把这个用于生产,但这个对我来说确实实用,仅此而已:) |
采风 回复于:2005-07-25 12:01:57 |
[quote:1e5fbe056c="lxdlj"]注:我很佩服CU里iptables的高手,但我觉得我们做这些工作的时候要更加的切合实际。 比如iptables+TC做流量控制,这事情不太可行的根本原因就在于iptables+TC无法根据应用层报文进行协议的分析。就好比dst port =2..........[/quote:1e5fbe056c] 啥场合需要“根据应用层报文进行协议的分析” :roll: |
soway 回复于:2005-07-26 08:36:17 |
这个方式还是有必要的。 当然,我这里设置更加严格一些,从主机前面的网络层面做了比较笨的ip地址限制。 也是因为我曾经一次发现好几个地方的破解测试。 |
mocou 回复于:2005-07-26 08:56:00 |
[quote:a24c6c3793="lxdlj"]注:我很佩服CU里iptables的高手,但我觉得我们做这些工作的时候要更加的切合实际。 比如iptables+TC做流量控制,这事情不太可行的根本原因就在于iptables+TC无法根据应用层报文进行协议的分析。就好比dst port =2..........[/quote:a24c6c3793] iptables有一个模式支持应用层 :m01: l7 |
waker 回复于:2005-07-26 09:16:56 |
http://bbs.chinaunix.net/forum/viewtopic.php?t=542583 科学就是在不断重复发现别人已经发现的东西:mrgreen: |
platinum 回复于:2005-07-26 09:28:43 |
[quote:5f7d9eb071="waker"]http://bbs.chinaunix.net/forum/viewtopic.php?t=542583 科学就是在不断重复发现别人已经发现的东西:mrgreen:[/quote:5f7d9eb071] 这个我早看过,和我这个原理不同,而且差很多 一个是统计总次数,一个是分析频率,当然,我若为他的方法好:) |
守夜人 回复于:2005-07-26 15:11:59 |
谢谢platinum贡献这么好的方法,目前正好在学shell~~~ 不知能不能将此句分析一下(看了半天也没弄懂是什么意思,上机试也报错),platinum谢谢了 SCANNER=`grep "\`date \"+ %d %H:%M\" -d \"-1min\"\`" /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $1"="$2;}'` |
platinum 回复于:2005-07-26 15:39:13 |
获取前 1 分钟内的 secure 记录,统计 ssh 认证失败的 IP 和其失败次数 |
perryhg 回复于:2005-08-04 06:13:24 |
用tail总是不可靠,不能阻止flood以及应对logrotate对文件的截断,而且每分钟都运行对系统资源也是一种浪费,尤其是系统负荷高的时候。 我用java写了个监控程序,对所有failed login都记录其ip地址和失败的时间,如果30分钟内失败超过10次,那么就调用iptables屏蔽这个ip,至于怎么读取log,我用mkfifo 创建一个pipe,然后设置syslog把有关的日志同时也发送一份到这个pipe设备上,然后在java程序的单独线程里面读取这个pipe文件,这个程序以后台服务运行,这样重要的日志一条也漏不掉。为了防止内存占用过多,我只记录100个ip,超过100个最前面的自动删除,每个ip只记录10个login的时间,新记录进来最前面的自动删除。 |