php中增加mongodb支持

网上使用云数据库已经火了很长一段时间了,今天我也试试看这个功能。但是php并不自带mongodb模块,只能从github下载了编译安装模块。
(下载地址:https://github.com/mongodb/mongo-php-driver/archive/master.zip),下载该源码包,然后执行以下命令:
$ unzip master
$ cd mongo-php-driver-master
$ phpize
$ ./configure
$ make && make install
如果你的php是自己编译的,则安装方法如下(假设是编译在/usr/local/php目录中):
$ unzip master
$ cd mongo-php-driver-master
$ /usr/local/php/bin/phpize
$ ./configure –enable-mongo=share –with-php-config=/usr/local/php/bin/php-config
$ make && make install
最后出现的提示Build complete.Don’t forget to run ‘make test’.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
说明安装成功 接下来配置php.ini
编辑php.ini 加入
extension=mongo.so

可以在phpinfo里面看到mongo就大功告成了。

3D打印的撞匙:几乎可以开所有锁

keybump-inline-lead-660x443

 

撞匙是锁匠(和黑客)用来开一些普通锁所使用的的简单工具。到目前为止,很多锁由于过于复杂无法被撞匙打开,所以还是安全的,也因此由于这种复杂性而让人有一点安全感。而这一切现在都发生了改变。

由乔斯·威尔斯(Jos Weyers)和克里斯蒂安·霍勒(Christian Holler)创造出来的这些钥匙,在被锤子撞击后,可以用来敲打或撞击开标准锁的锁芯。这两人发现了根据锁孔本身的照片来3D打印一个适合锁眼的塑料钥匙的方法。在塑料材料经过几次精细的裁剪之后,你就可以拿到一个可用的钥匙了。

视频展示了它的工作原理——以及它的简单易用。

两人并不希望人们用这个工具闯入军事设施。相反,他们想要展示大多数门锁是如何地原始,而且要骗过安全系统真的是变得越来越容易。如果任何人只要有3D打印机和相机就可以制作一把钥匙,那为什么还要锁呢?

3D打印的撞匙:几乎可以开所有锁,首发于极客范 – GeekFan.net

如何用正确姿势调戏蹭网者?

这篇文章本来是知乎回答的一个问题,但是由于本人五行缺勤奋,所以一直没写(其实是忘了=。=),下面是我的一个实验,如何通过squid调戏那些蹭网的人。没什么技术含量,请大牛不要笑话~

声明:本实验仅作为技术分享,一把刀用来砍什么,由你决定。

先上效果:

是不是有点意思?
这里还需要说明一件事情
本文目的在于分享,采用的方式是国外的Pete大大的一种做法,效果不错,http://www.ex-parrot.com/pete/upside-down-ternet.html 但是这里不是重复造轮子,实在是Pete先僧写得过于简略,作为事件主角的squid居然被一笔带过,squid表示相当不爽(╯‵□′)╯︵┻━┻ 。如果可以通过上面的描述实现这个效果的,就不用往下看我的废话连篇了~如果你和我一样开始遇到过问题,那就跟着我走吧~
先说一下大体的思路。既然是要对网页中的图片进行操作,那么我们首先需要把图片下载到本地,然后进行变换之后再输出到客户端机器上面,就实现了图片的翻转,水印,模糊等各种捉弄人的效果。当然功能绝不仅仅是这样就算了,更多功能,大家看完之后不妨多挖掘一下,我就不多废话了~
好的,那么下面我们正式开始!

0×01    实验环境

我先说一下我的实验环境:

主机:ubuntu
虚拟机:windowsXP(vbox)
软件:squid、apache

拓扑环境就不多废话了,我这边是host通过wlan0上网,虚拟机选择Host-Only模式,连接到主机的vboxnet0接口(默认的,我没修改)。

0×02  系统配置

这里,我们首先要把系统的网络转发功能打开,可以使用

echo 1 > /proc/sys/net/ipv4/ip_forward

暂时启用,当然也可以修改sysctl.conf永久转发。
然后,对虚拟机进行ip设定,我这里设置为192.168.56.21,子网掩码255.255.255.0

0×03  软件设置
下面我们进行软件的设置。
apache不多说了,你可以指定一个本地路径作为网络分享的地址,作用主要是发布修改后的图片,我这里的路径选择是/mydoc/test/
接着是squid。
关于squid的安装这里不是重点,网上有很多的教程,我们着重说配置。Squid的配置文件是在/etc/squid(3)下面的squid.conf。为了看起来能凸显得我的高冷气质(楼主自恋程度已经逆天…( _ _)ノ|壁 ),着重配置的点我都已经写在上传的文件里面了,文末我会给出地址,大家可以看一下。
这里之所以说squid是关键,是因为我们主要使用了squid的redircetor的功能,即我们常说的重定向器功能。重定向器可以将收到的url进行改写重定向,而且支持python、perl、C等等语言写的重定向脚本(程序),功能还是很强大的,这里感兴趣的同学不妨玩玩~这里贴上《squid权威指南》中关于squid的详细描述,有问题可以到这里查阅:http://zyan.cc/book/squid/chap11.html
然后,我们把脚本文件放在配置文件中指定的位置,我这里是放在了/etc/squid3/下面,这里需要注意的是文件的权限问题,因为squid默认运行权限是squid用户,隶属于squid组(squid3是proxy用户,proxy组),所以如果squid没有权限执行脚本文件的时候是会报错的。这里的脚本文件我直接使用了Pete大大给出的perl脚本进行了一点点修改,可能是因为Pete直接从本地测试的,所以脚本有一点点的小问题,大家也可以从我给出的网址上下载。
然后我们配置虚拟机的代理。因为这里我没有用iptables进行流量转发,为了方便,直接配置了浏览器的代理配置,这里代理IP 192.168.56.1:8080,当然大家也可以使用iptables进行转发,这样就可以了。
最后我们重启squid。

sudo service squid restart

(squid3的服务名称是squid3),这里注意对于squid的任何操作一定要记得用sudo执行,否则会报错。

0×04  检验效果
这个时候,我们打开虚拟机,输入http://www.baidu.com,就应该可以看到baidu的logo是反向的了,打开更多网页试试吧~是不是很好玩?23333。

当然,脚本只是使用了flip选项,当然这里不建议使用过于复杂的命令,会使浏览器响应过于慢。关于imagemagic的更多的效果可以从网上查阅,是一个相当强大的命令行图片控制软件。

0×05  更多猜想
实验已经成功,那么我们说回到我们今天的MITM主题上面。有的同学或许会问:你得得得得说这么多,怎么应用啊?我这里提供一个小的方式,抛砖引玉:
可以买一树莓派,买一个usb上网卡,一张中国联通或者中国电信的卡,再买一个无线网卡,用airport建个无线信号,买个电源,装上linux配置好squid,当然还可以打开sniff,配好接收数据的服务器。。

剩下的就是:背好你的背包,默默走到斯达巴克斯,点一杯咖啡,用吸管慢慢品尝这份苦茗,望向窗外花坛那朵玫瑰,心里静静地想着那个TA。。。
说道这里,大家可能会想到菠萝,其实因为菠萝使用的是openwrt的精简系统,很多东西不可以使用,而且配置比起树莓派低了一些,大批量的图片操作很容易让CPU狂飙,自带的MITM最近貌似也不能用了?不过还是推荐Geek们自行动手~

如果有更多的想法,我们一起交流。

0×06  注意事项
因为我在做实验的过程中也遇到了很多问题,这里贴出一些常见的问题,大牛略过吧~:)
1、注意接收图片文件夹的权限和隶属于的用户,最好是能与squid用户相同的用户组。如果不是,可以使用chown进行修改。例:chown proxy.proxy xxx
2、注意脚本文件的权限。脚本文件必须是可以被squid用户执行的。
3、注意log文件的权限,关于log文件一共有三个,位于/var/log/squid3/下,分别是cache.log、store.log、access.log,这三个文件必须是可写的,同时也可以直接用chown改变用户所有权限。
4、遇到更多虚拟机打不开网页的问题,大家可以查阅/var/log/squid3/cache.log,这里会给出很详细的说明。
这里我能想到的暂时就这么多了,再有什么其他问题我们可以一起交流,我这里有一把肥皂。。。

0×07  写在最后
最后,也没什么好说的了,附上链接:https://github.com/linvex/MITM-squid/tree/master

上几张图吧~

如何用正确姿势调戏蹭网者?,首发于博客 – 伯乐在线

疯狂车库发明家继续疯狂,变身焰火侠

tin-man

 

抬头看烟花好累,有没有想过置身其中体验一把百焰齐发的感觉?

你可以遥控四轴飞行器飞过烟花丛,然后拍下来。或者,如果觉得自己够劲暴,你可以穿上全金属防护铠甲,身上绑满炮仗,等待点火的一刻。

视频里的老兄好像有点面熟?没错,这个疯狂举动依旧是我们最爱的疯狂车库发明家柯林·福尔泽(Colin Furze)业余时间捣鼓出的大作。

还记得全自动伸缩金刚狼爪吗?那是他的作品。还记得能在天花板上凌波微步的反重力靴子吗?那也是他的作品。还记得装在手腕上的火焰喷射器吗?没错,还是他的作品。

虽然有点老生常谈,但我还是要说:非专业人士请勿模仿。或者容我改一下措辞:非柯林·福尔泽本人,请勿模仿。

疯狂车库发明家继续疯狂,变身焰火侠,首发于极客范 – GeekFan.net

Web 前端攻防(2014版)

禁止一切外链资源

外链会产生站外请求,因此可以被利用实施 CSRF 攻击。

目前国内有大量路由器存在 CSRF 漏洞,其中相当部分用户使用默认的管理账号。通过外链图片,即可发起对路由器 DNS 配置的修改,这将成为国内互联网最大的安全隐患。

案例演示

百度旅游在富文本过滤时,未考虑标签的 style 属性,导致允许用户自定义的 CSS。因此可以插入站外资源:

所有浏览该页面的用户,都能发起任意 URL 的请求:

由于站外服务器完全不受控制,攻击者可以控制返回内容:

  • 如果检测到是管理员,或者外链检查服务器,可以返回正常图片;
  • 如果是普通用户,可以返回 302 重定向到其他 URL,发起 CSRF 攻击。例如修改路由器 DNS:
http://admin:admin@192.168.1.1/userRpm/PPPoECfgAdvRpm.htm?wan=0&lcpMru=1480&ServiceName=&AcName=&EchoReq=0&manual=2&dnsserver=黑客服务器&dnsserver2=4.4.4.4&downBandwidth=0&upBandwidth=0&Save=%B1%A3+%B4%E6&Advanced=Advanced

演示中,随机测试了几个帖子,在两天时间里收到图片请求 500 多次,已有近 10 个不同的 IP 开始向我们发起 DNS 查询。

通过中间人代理,用户的所有隐私都能被捕捉到。还有更严重的后果,查考流量劫持危害探讨

要是在热帖里『火前留名』,那么数量远不止这些。

如果使用发帖脚本批量回复,将有数以万计的用户网络被劫持。

防范措施

杜绝用户的一切外链资源。需要站外图片,可以抓回后保存在站内服务器里。

对于富文本内容,使用白名单策略,只允许特定的 CSS 属性。

尽可能开启 Content Security Policy 配置,让浏览器底层来实现站外资源的拦截。

富文本前端扫描

富文本是 XSS 的重灾区。

富文本的实质是一段 HTML 字符。由于历史原因,HTML 兼容众多不规范的用法,导致过滤起来较复杂。几乎所有使用富文本的产品,都曾出现过 XSS 注入。

案例演示

旅游发帖支持富文本,我们继续刚才的演示。

由于之前已修复过几次,目前只能注入 embed 标签和 src 属性。

但即使这样,仍然可以嵌入一个框架页面:

因为是非同源执行的 XSS,所以无法获取主页面的信息。但是可以修改 top.location,将页面跳转到第三方站点。

将原页面嵌入到全屏的 iframe 里,伪造出相同的界面。然后通过浮层登录框,进行钓鱼。

总之,富文本中出现可执行的元素,页面安全性就大打折扣了。

防范措施

这里不考虑后端的过滤方法,讲解使用前端预防方案:

无论攻击者使用各种取巧的手段,绕过后端过滤,但这些 HTML 字符最终都要在前端构造成元素,并渲染出来。

因此可以在 DOM 构造之后、渲染之前,对离屏的元素进行风险扫描。将可执行的元素(script,iframe,frame,object,embed,applet)从缓存中移除。

或者给存在风险的元素,加上沙箱隔离属性。

  • 例如 iframe 加上 sandbox 属性,即可只显示框架内容而不运行脚本
  • 例如 Flash 加上 allowScriptAccess 及 allowNetworking,也能起到一定的隔离作用。

DOM 仅仅被构造是不会执行的,只有添加到主节点被渲染时才会执行。所以这个过程中间,可以实施安全扫描。

实现细节可以参考:http://www.etherdream.com/FunnyScript/richtextsaferender.html

如果富文本是直接输入到静态页面里的,可以考虑使用 MutationEvent 进行防御。详细参考:http://fex.baidu.com/blog/2014/06/xss-frontend-firewall-2/

但推荐使用动态方式进行渲染,可扩展性更强,并且性能消耗最小。

跳转 opener 钓鱼

浏览器提供了一个 opener 属性,供弹出的窗口访问来源页。但该规范设计的并不合理,导致通过超链接打开的页面,也能使用 opener。

因此,用户点了网站里的超链接,导致原页面被打开的第三方页面控制。

虽然两者受到同源策略的限制,第三方无法访问原页面内容,但可以跳转原页面。

由于用户的焦点在新打开的页面上,所以原页面被悄悄跳转,用户难以觉察到。当用户切回原页面时,其实已经在另一个钓鱼网站上了。

案例演示

百度贴吧目前使用的超链接,就是在新窗口中弹出,因此同样存在该缺陷。

攻击者发一个吸引用户的帖子。当用户进来时,引诱他们点击超链接。

通常故意放少部分的图片,或者是不会动的动画,先让用户预览一下。要是用户想看完整的,就得点下面的超链接:

由于扩展名是 gif 等图片格式,大多用户就毫无顾虑的点了。

事实上,真正的类型是由服务器返回的 MIME 决定的。所以这个站外资源完全有可能是一个网页:

当用户停留在新页面里看动画时,隐匿其中的脚本已悄悄跳转原页面了。

用户切回原页面时,其实已在一个钓鱼网站上:

在此之上,加些浮层登录框等特效,很有可能钓到用户的一些账号信息。

防范措施

该缺陷是因为 opener 这个属性引起的,所以得屏蔽掉新页面的这个属性。

但通过超链接打开的网页,无法被脚本访问到。只有通过 window.open 弹出的窗口,才能获得其对象。

所以,对页面中的用户发布的超链接,监听其点击事件,阻止默认的弹窗行为,而是用 window.open 代替,并将返回窗体的 opener 设置为 null,即可避免第三方页面篡改了。

详细实现参考:http://www.etherdream.com/FunnyScript/opener_protect.html

当然,实现中无需上述 Demo 那样复杂。根据实际产品线,只要监听用户区域的超链接就可以。

用户内容权限

支持自定义装扮的场合,往往是钓鱼的高发区。

一些别有用心者,利用装扮来模仿系统界面,引诱用户上钩。

案例演示 – 空间越界

百度空间允许用户撰写自定格式的内容。

其本质是一个富文本编辑器,这里不演示 XSS 漏洞,而是利用样式装扮,伪装一个钓鱼界面。

百度空间富文本过滤元素、部分属性及 CSS 样式,但未对 class 属性启用白名单,因此可以将页面上所有的 CSS 类样式,应用到自己的内容上来。

防范措施

规定用户内容尺寸限制,可以在提交时由用户自己确定。

不应该为用户的内容分配无限的尺寸空间,以免恶意用户设置超大字体,破坏整个页面的浏览。

最好将用户自定义的内容嵌套在 iframe 里,以免影响到页面其他部位。

如果必须在同页面,应将用户内容所在的容器,设置超过部分不可见。以免因不可预测的 BUG,导致用户能将内容越界到产品界面上。

案例演示 – 功能越界

自定义装扮通常支持站外超链接。

相比贴吧这类简单纯文字,富文本可以将超链接设置在其他元素上,例如图片。

因此这类链接非常具有迷惑性,用户不经意间就点击到。很容易触发之前提到的修改 opener 钓鱼。

如果在图片内容上进行伪装,更容易让用户触发一些危险操作。

要是和之前的区域越界配合使用,迷惑性则更强:

防范措施

和之前一样,对于用户提供的超链接,在点击时进行扫描。如果是站外地址,则通过后台跳转进入,以便后端对 URL 进行安全性扫描。

如果服务器检测到是一个恶意网站,或者目标资源是可执行文件,应给予用户强烈的警告,告知其风险。

点击劫持检测

点击劫持算是比较老的攻击方式了,基本原理大家也都听说过。就是在用户不知情的前提下,点击隐藏框架页面里的按钮,触发一些重要操作。

但目前在点击劫持上做防御的并不多,包括百度绝大多数产品线目前都未考虑。

案例演示

能直接通过点击完成的操作,比较有意义的就是关注某用户。例如百度贴吧加关注的按钮:

攻击者事先算出目标按钮的尺寸和坐标,将页面嵌套在自己框架里,并设置框架的偏移,最终只显示按钮:

接着通过 CSS 样式,将目标按钮放大,占据整个页面空间,并设置全透明。

这时虽看不到按钮,但点击页面任意位置,都能触发框架页中加关注按钮的点击:

防范措施

事实上,点击劫持是很好防御的。

因为自身页面被嵌套在第三方页面里,只需判断 self == top 即可获知是否被嵌套。

对一些重要的操作,例如加关注、删帖等,应先验证是否被嵌套。如果处于第三方页面的框架里,应弹出确认框提醒用户。

确认框的坐标位置最好有一定的随机偏移,从而使攻击者构造的点击区域失效。

Web 前端攻防(2014版),首发于博客 – 伯乐在线

php破解QQ空间防盗链

发现之前发的一些帖子引用了QQ空间的照片,这些照片都无法正常显示了。给wordpress下载了远程下载图片的插件,似乎没法正常工作,在网上另外找了段防盗链的方法,这些照片都可以正常显示了。

终于有了归宿

一个大龄美女博士,终于找到了自己的归宿,恭喜。



LM's:

MBA06's:

ssh后台运行 linux重定向及nohup不输出的方法

linux重定向及nohup不输出的方法
先说一下linux重定向:
0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。
在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program 2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。
另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
如果想要正常输出和错误信息都不显示,则要把标准输出和标准错误都重定向到/dev/null, 例如:

# ls 1>/dev/null 2>/dev/null

还有一种做法是将错误重定向到标准输出,然后再重定向到 /dev/null,例如:

# ls >/dev/null 2>&1

注意:此处的顺序不能更改,否则达不到想要的效果,此时先将标准输出重定向到 /dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,于是一切静悄悄:-)

由于使用nohup时,会自动将输出写入nohup.out文件中,如果文件很大的话,nohup.out就会不停的增大,这是我们不希望看到的,因此,可以利用/dev/null来解决这个问题。

nohup ./program >/dev/null 2>log &

如果错误信息也不想要的话:

nohup ./program >/dev/null 2>&1 &

要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序:
nohup &
则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程)。
使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。

ygwu @ 2005年04月18日 上午10:03

For example:
如何远程启动WebLogic服务?
用telnet远程控制服务器,远程启动WEBLOGIC服务,启动后关闭telnet,WebLogic服务也跟着停止,这是因为使用telnet启动的进程会随着telnet进程的关闭而关闭。所以我们可以使用一些UNIX下的命令来做到不关闭。

使用如下命令:

nohup startWeblogic.sh&

如果想要监控标准输出可以使用:

tail -f nohup.out

访客留言
FreeBSD可以同时运行多个进程,在shell下直接输入命令后,shell将进程放到前台执行。如果要将进程放到后台执行,需要在命令行的结尾加上一个 “&” 符号。下面的命令从后台执行,从ftp.isc.org下载文件。

$ fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz &

当程序已经在前台执行的时候,可以使用^Z将这个程序挂起,暂停执行。然后可以使用bg命令将这个挂起的程序放到后台执行,或者使用fg将某个在后台或挂起的进程放到前台执行。

当在后台运行了程序的时候,可以用jobs命令来查看后台作业的状态。在有多个后台程序时,要使用来参数的fg命令将不同序号的后台作业切换到前台上运行。

$ jobs

[1]+ Running fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz &

$ fg %1

fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz

在启动了多个程序之后,可以使用ps命令来查看这些进程及其状态。

$ ps

PID TT STAT TIME COMMAND

501 p2 Ss 0:00.24 -bash (bash)

988 p2 R+ 0:00.00 ps

765 p3 Is+ 0:00.28 -bash (bash)

230 v0 Is+ 0:00.14 -bash (bash)

显示的结果包括进程的标识号PID,控制终端TT(p0表示控制终端为ttyp0),进程的状态STAT,进程使用的处理器时间TIME和具体的命令。

可以给ps命令加上参数,来获得更多的输出内容,以下命令将输出系统中所有的进程:

$ ps waux

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND

wb 989 0.0 0.4 400 236 p2 R+ 5:48PM 0:00.00 ps -aux

root 1 0.0 0.1 496 72 ?? Is 10:12PM 0:00.02 /sbin/init —

root 2 0.0 0.0 0 0 ?? DL 10:12PM 0:07.05 (pagedaemon)

root 3 0.0 0.0 0 0 ?? DL 10:12PM 0:00.20 (vmdaemon)

root 4 0.0 0.0 0 0 ?? DL 10:12PM 0:04.27 (syncer)

root 27 0.0 0.0 204 0 ?? IWs – 0:00.00 (adjkerntz)

root 91 0.0 0.5 820 328 ?? Is 2:12PM 0:00.82 syslogd

daemon 100 0.0 0.0 792 0 ?? IWs – 0:00.00 (portmap)

root 131 0.0 0.3 864 164 ?? Is 2:12PM 0:00.06 inetd

root 134 0.0 0.3 980 192 ?? Is 2:12PM 0:00.11 cron

root 138 0.0 0.6 1252 380 ?? Is 2:12PM 0:00.11 sendmail: accepti

wb 230 0.0 1.1 1540 668 v0 Is+ 2:12PM 0:00.14 -bash (bash)

root 231 0.0 0.0 824 0 v1 IWs+ – 0:00.00 (getty)

root 232 0.0 0.0 824 0 v2 IWs+ – 0:00.00 (getty)

root 500 0.0 0.9 876 524 ?? Ss 4:19PM 0:01.78 telnetd

wb 501 0.0 1.4 1540 888 p2 Ss 4:19PM 0:00.24 -bash (bash)

root 698 0.0 1.5 1644 900 ?? Is 4:49PM 0:00.02 /usr/local/sbin/s

root 700 0.0 1.2 1308 748 ?? Ss 4:49PM 0:00.22 /usr/local/sbin/n

root 702 0.0 3.4 2900 2112 ?? S 4:49PM 0:00.32 /usr/local/sbin/s

root 764 0.0 0.9 880 540 ?? Is 5:10PM 0:00.22 telnetd

wb 765 0.0 1.7 1536 1052 p3 Is+ 5:10PM 0:00.28 -bash (bash)

root 0 0.0 0.0 0 0 ?? DLs 10:12PM 0:00.02 (swapper)

当用户启动一个进程的时候,这个进程是运行在前台,使用与相应控制终端相联系的标准输入、输出进行输入和输出。即使将进程的输入输出重定向,并将进程放在后台执行,进程仍然和当前终端设备有关系。正因为如此,在当前的登录会话结束时,控制终端设备将和登录进程相脱离,那么系统就向所有与这个终端相联系的进程发送SIGHUP的信号,通知进程线路已经挂起了,如果程序没有接管这个信号的处理,那么缺省的反应是进程结束。因此普通的程序并不能真正脱离登录会话而运行进程,为了使得在系统登录后还可以正常执行,只有使用命令nohup来启动相应程序。

从上面的ps的输出结果可以看出,有些程序没有控制终端,这些程序通常是一些后台进程。使用命令nohup当然可以启动这样的程序,但nohup启动的程序在进程执行完毕就退出,而常见的一些服务进程通常永久的运行在后台,不向屏幕输出结果。在Unix中这些永久的后台进程称为守护进程(daemon)。守护进程通常从系统启动时自动开始执行,系统关闭时才停止。如果偶然某个守护进程消失了,那么它提供的服务将不再能被使用。

在守护进程中,最重要的一个是超级守护进程inetd,这个进程接管了大部分网络服务,但并不是对每个服务都自己进行处理,而是依据连接请求,启动不同的服务程序与客户机打交道。inetd支持网络服务种类在它的设置文件/etc/inet.conf中定义。inet.conf文件中的每一行就对应一个端口地址,当inetd接受到连接这个端口的连接请求时,就启动相应的进程进行处理。使用inetd的好处是系统不必启动很多守护进程,从而节约了系统资源,然而使用inetd启动守护进程相应反应会迟缓一些,不适合用于被密集访问的服务进程

用iptables自动封IP,防SSH被暴力破解

之前没太关注服务器的攻击,几天突然发现/var/log/secure下面有很多ssh登陆失败的日志,甚至同一个ip有两天多次的攻击,吓了一身冷汗。虽然是个人站,没有太多机密资料,但是被攻击总不是好事情。也许哪天攻破后,就被他们用来干坏事了。还是处理一下比较好。

先把ip过滤出来,然后加到iptables里面

#!/bin/bash
num=10 #上限
for i in `awk ‘/Failed/{print $(NF-3)}’ /var/log/secure|sort|uniq -c|sort -rn|awk ‘{if ($1>$num){print $2}}’`
do

 #先删除该条,防止重复的规则,虽然iptables可以执行重复的规则,也许会影响到执行的性能,还是删掉比较好。
iptables -D INPUT -p tcp -s $i –dport 22 -j DROP

#添加规则
iptables -I INPUT -p tcp -s $i –dport 22 -j DROP
done

另外写了一条,将日志导出到某个文件,方便查看

cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|sort -rn|awk ‘{print $2″=”$1;}’ >/path/fail.txt

 

将这两条都加入到crontab里面,隔几分钟执行一次。

另外强烈鄙视一下下面这些IP,诅咒早日关门大吉。

116.10.191.165=162
116.10.191.183=183
116.10.191.196=113
116.10.191.204=135
116.10.191.227=184
116.10.191.229=41
116.10.191.230=173
117.21.225.157=301
117.79.91.244=882
212.83.150.76=24
61.174.50.235=170
61.174.51.232=35
61.33.155.74=124
82.221.106.233=1

 

1.234.70.30=23
115.239.248.121=72
115.239.248.122=90
115.239.248.50=24
115.239.248.51=18
115.239.248.57=12
115.239.248.61=144
115.239.248.90=60
116.10.191.167=142
116.10.191.175=168
116.10.191.236=26
117.21.191.209=48
117.21.191.210=78
117.21.225.157=78
117.21.226.103=60
183.56.129.146=20
198.8.61.141=15
220.177.198.24=228
220.177.198.38=30
220.177.198.40=90
220.177.198.43=12
220.177.198.93=264
222.186.34.143=138
222.186.34.36=330
222.186.38.109=42
222.186.40.170=306
222.186.40.251=198
222.186.56.33=48
58.241.61.162=53
60.173.26.16=2594
61.174.50.216=40
61.174.51.207=151
61.174.51.217=150
61.174.51.227=222
61.174.51.235=2

LM居英雄传 – 第二章

第二章 二少传

二少者,蜀地人士,貌美如花。至LM居前,与三位高人只是神交,素未蒙面,电话中爽朗之夺命三声笑已是声名远播。四爷曾专程到L市拜访二少,因惧其笑声后退避三舍发奋图强苦练炒蛋。后与三爷四爷会于S机场,皆被其外貌所迷惑,真女子也,惊为天人,后在LM居朝夕相处,才知非也。
初至LM居,因罗兰尚在芝城,迟迟不露面,二少担任烹饪之职,三爷四爷评价颇丰。不日,罗兰至,二少退,从此养尊处优,厨房之事全由其余三人担任,令四爷艳羡不已,时时哀叹,此女之幸啊,恨不得女儿身。
二少称自L大起冠猛女。何谓猛女?于健身房中,二少、三爷、四爷三人比试长跑。四爷坚持一刻便退下,曰,我欲练器械,需省体力。三爷中途减速两次小憩,半个时辰十之又八里,近于虚脱。回头观二少,十五里,悠然自得,闲庭信步,不枉猛女之名。自此,四爷只练器械,逢二少跑步,必退避三舍。罗兰曾尝试与二少比拼,亦早早败下阵来。多次晚间步行至城中,后突发奇想步至战地商厦,自LM居往返廿余里。至战地,狂血拼,尽兴而归,叹,二十里不过如此尔,嗖易贼。吾同窗闻之,叹,女中豪杰是也!
春田初购车日,二少欲驾。待四人上车后,曰何为刹车?三人闻之皆倒,何来驾驶许可?后驱车观光至郊区,忘其来路,速返。询技术何如?答,尚可,唯不识章法。
据二少口传,霸王花之名自其中学之时已有。一男喜捉弄二少,一日藏其包,男观二少甚急,惧,不敢言,掷二少包于楼下。二少遍寻不着,归。次日,某人拾包还二少,方知乃前男所为。吼,速出,吾欲语之。男垂头出,二少推之,男仆地,踏足于男身,吼,汝复如之否?此刻,同楼之同窗俱出,观男之惨状,皆叹。二少之霸王花之名始出云。
二少精通西洋之语,所学课程,轻松至极。考试之前必尽情玩乐,考试之日发奋阅书半日,均能拔得头筹。罗兰四爷试前每日潜心研究,勉强取胜。某日午后考试,二少午前才从芝城归来,一目十行,成绩亦为LM居之首。经多次试验,每每如此。四爷叹,二少乃神人,吾需信之,挂二少像与床前,每日焚香祷告,念,信二少,得永生!后传至同窗耳中,皆信二少为神人,自此二少教始成矣。
某日,HH携米至,旋返。三爷异,询二少,何故?答曰,发热耳。三爷复问,因HH发热携米至?二少辨,其日实发热。(内容缺失若干)。
二少如今在G国研习博士,亦风姿飒爽,周游全球。
赠与二少。

顽强的小青蛙

数月前沐沐抓了只青蛙回来,养水桶里,第二天发现它不见了,找了很久都没找到。昨天打扫卫生时,发现厨房门后有个怪东西,走进一看,是缩成一团的青蛙,偶尔还动一下,放进水里,游得很欢。感叹这只青蛙真的很顽强,没有水没有食物几个月都挺过来了。

Nanoleaf Bloom:无需额外应用控制亮度的智能灯泡

screen-shot-2014-08-19-at-12-21-22-pm

 

说起市面上的高效节能智能灯泡,消费者的选择还是不少的,能叫上名的就有LIFX、飞利浦的Hue、Brightup、LuMini、Emberlight、LightFreq还有三星的蓝牙Smart Bulb。这些产品的特点各异,但花哨的灯光颜色(甚至还有铃儿响叮当的功能)却是共同的特点。除此之外,它们还有一个共性,那就是必须使用相对应的手机应用进行控制。

但如果你不想连调个灯光亮度都要麻烦手机(其实是你自己),那么接下来的产品可能就是你需要的。

一般对于传统灯泡,把墙上的开/关面板换成旋钮式面板,或者买一个直接插到电源插座上的明暗控制器就可以解决这个问题,但如果你不想用传统的解决方案,非要使用智能灯泡,那么就会如上面所说每次都要使用手机进入物联网控制,这比用传统灯泡要麻烦多了。

不过,问题马上就能得到解决了。Kickstarter上的一个项目为人们提供了一只更智能的LED灯泡,它可以在不用安装任何额外应用或者更换旋钮面板的前提下调整灯泡的亮度,而且它的外观还很有型呢。

这款“更智能的灯泡”叫做Nanoleaf Bloom,整个灯体由33颗LED灯珠均匀覆盖,并直接利用大多数家庭里的开/关面板控制亮度,这意味着户主不需要额外的硬件和或者应用就能控制,一步到位。说实话我心里已经长草了,估计买上10个都不够。而且,看项目的进展,我觉得很多人都和我抱有同样的想法——项目原先的3万美元筹资目标早在几天前就达成了,现在,距项目结束还有24天的时候,它们获得的资金总额是13万8千美元!

Nanoleaf Bloom包含一个微处理器,它能够将墙上的普通开关转换成可调亮度开关。要设置灯泡亮度,首先打开开关,灯泡开始由暗转明,达到你要的亮度时,关掉开关再打开就可以锁定了,就这么简单。

这款灯泡可以阶梯式调暗,只需按几下开关。此外它还提供了亮度5%(功率0.5W)的夜灯模式,只要快速开-关-开一次就可以了。如果你想要最亮,只要像普通灯泡一样打开开关,按下关闭的时候它就会直接熄灯,简单明了。要知道这一切的控制不需要任何形式的应用和额外控制器实现,简直太神奇了。

那么,Nanoleaf Bloom到底要多少钱呢?在Kickstarter上,他们为初期支持者提供了40美元一只的价格,即使是优惠价也不算便宜,不过算上开发团队的巧思和努力以及简约的设计,这笔投资还是很值得的。

Nanoleaf Bloom:无需额外应用控制亮度的智能灯泡,首发于极客范 – GeekFan.net