我是一个广播电台的节目主持人,一家被老百姓誉为党的喉舌的广播电台。作为这个电台的主持人我深得听众的追捧和信任。可是最近我却萌发要向我的听众做一次深刻的忏悔的念头,而这个念头在心中愈演愈烈,终于到了我不得不说的程度。特别是电台的卖药节目被tiange垄断后,更加黑暗,一些主持人和主任更加不要脸………
    前几个月我帮同事代班,做了一段时间的医药专题节目。我早知道电台的医药类节目名声在听众中口碑不好,但我万万没想到这类节目中居然有那么多的可怕黑幕,今天我一定要把这些黑幕告诉大家,让大家不要再上那些骗子的当,这样做也许可以减轻一些我助纣为虐的罪过。
     在电台中做的医药类节目大多数为治疗男性病、妇科病、肝病、性病等难以启齿的疾病为主。形式嘛大家也听到过,就是一个医生在电台喋喋不休的讲述这类病的危害、他们生产的药效果如何如何好……可是你们是否知道那些坐在直播室中大肆讲解医学原理并为那些得病的人进行诊断的都是些什么人吗?这点作为节目主持人是最清楚不过了。他们中的大多数都自称是某某医院的主任,或者是医学顾问,甚至自称是某某医科大学(其实是一个根本就不存在的医科大学)毕业的博士,发表过多少多少论文、得到过多少奖……
     他们要求主持人在节目中帮他们撒谎:今天我们为您请来的专家是XX教授,他毕业于北京第四军医大学,获得博士学位,他发表的XXXX论文在2000年亚洲性学会上获得各国专家的一致认同……(其实这个所谓的教授今年才23岁,高中毕业学历,至于什么亚洲性学会纯属无稽之谈)。其实这些人根本没有受过正规的医学教育,更谈不上是什么医生啊专家啊……你要他拿出行医执照看看……根本没有!!
    有一天,一个做医药节目的嘉宾一高兴向我透露了一个秘密:他们这种到电台来做医药节目的嘉宾主持已经形成了一个产业,他一个初中生,培训了15天就开始上岗了,他们这行已经形成了专业培训制度,而他的师傅,就是*卖这种假药,当初带着几万块钱来到这个城市,一不小心一年就赚了一千万……
    再来说说那些打进热线的听众吧,不幸听过这类节目的朋友一定有印象吧:在这些节目中总是有些听众打来电话说:XX教授,我吃了你们的药以后,我的病好多了……你们的药效果很好……我原来怎样怎样,自从吃了你们的药以后啊,全好了!!真的有那么多人吃了他们的药日见好转吗?错!那些都是“托”!简称“药托”。这些人都是那些假药的生产厂家花钱雇来的。打一个电话从10–20元劳务费不等……而这些药托也已经形成了一种职业了,所以你留意的话会发现,同一天中,不同的卖药节目中会出现同一个声音,刚刚还说自己是吃XX丸吃好的,下一分钟做另一个药托就说自己是吃XX胶囊吃好的了。今天也许说自己是29岁,明天说不定就变成40岁的中年人了。其实就那么几个人在电台里换着口气做托……
   这类节目在我们台的收费是15分钟3000块,一个月就十万,一年100多万。
      我继续来说说自己做这类节目的遭遇吧。就在前些日子,一个卖叫做什么黄金生命的男性病药的骗子坐在直播室里唾沫四溅的吹嘘她的药如何如何了得可以增长多少多少长度,延长多少多少时间,冷不丁一个可怜巴的打工者打进热线(那天他们没有安排药托,估计药托那天业务比较忙),他们自己的导播把电话给接进直播室了,听众问:XX主任,我得了肝病,请问你们的药可以治吗?还没等我说话,那位什么所谓的XX主任就立刻抢过话头说:可以可以!!完全可以!!你需要服用我们的黄金生命5个疗程!!就可以痊愈了!
      !!!!!!!
      我当时真是气愤之至!对那个听众说:你得的是肝病,应该去医院治疗!这个药对你是没有作用的,再见!
      当时那个什么主任就气的脸色变了。本来我平时和她做节目就不爱理会她,对这样的骗子我一直是鄙视的,但从此这个卖假药的就开始和我过不去,三番五次的到我们的台长那里去投诉我,说我对他们态度恶劣,不给他们服务好,做节目不专心……等等……要知道,这些骗子可是我们电台的衣食父母,一年好一百多万的广告,不伺候好他们可是犯了领导大忌咯,于是我三番五次的被通报批评,扣罚奖金……尽管这样我还是对他们热情不起来,我同事劝我说:为了自己的饭碗你装也要装一下的……但是我还是装不好……一想到他们在电台里每天胡言乱语,假话连篇我就觉得恶心……这帮人渣……

再来看看他们在节目中的谎言吧:
      
      今天在这里为大家诊断的是:XX生命与睾丸保养首席医学顾问XX主任;
      今天我国生殖泌尿学会高级顾问XX教授会为您解答疑难
      XX教授在新西兰举行的2003年世界性学会上发表的《XXXXXX》论文受到各国专家的一致认同……
      
    还有一个可笑的情节就是:这类假药通常都是长年累月的搞优惠,什么买8盒送3盒,买两个疗程送价值1000多元的药……优惠活动只有5天时间,一定要抓紧时间购买,否则就享受不到优惠了。可是事实却是;优惠活动我给他们播了半个月,还在优惠……今天说优惠只有3天,明天说只有2天,一个月后,还是买8送3,但我却永远要帮他们说:优惠只有5天!只有5天!大家赶紧买!
    谎言之三:我们的XX丸脱销了!!
      找一个药托打进电话说:怎么回事啊,XX主任,我今天去买你们的药结果营业员说断货了!!
      XX主任会说:不要着急,因为我们的药物疗效太好了,所以大家都抢着买,造成断货,不要着急我们已经在组织货源,你明天一早8点到XXX指定药店去买,一定会有的!
  这些卖假药的通常都有一篇背的滚瓜烂熟的稿子,每天都是颠来倒去重复同样的内容,普通听众的热线基本不接,都是安排好的托,一旦有听众打进热线真的向他们咨询,一般这些卖假药的也都有准备好的一套内容答复,通常是问:你这个毛病多少时间了啊?哦,你这个病是典型的XXX障碍呀,要抓紧时间治疗啊(管你是什么病,反正他的药能治什么病就说是什么病)不要着急,你服用我们的XXXX丸五个疗程就可以痊愈了,现在我们正在搞优惠呢,你要赶紧去买呀
      !!
      有一次我问他们:你们怎么那么厉害?不看到病人就能知道他是什么病?吃坏了药怎么办?
      他说:放心吃不坏的,我们的药治不好病但也吃不坏人,他的病嘛,不看也能猜个8、9不离10,都差不多的……
      
       我晕*……
      通常这些骗子是打一枪换一个地方,一旦工商啊,卫生部门来查了他们马上搬家换一种药,当然也有把上边摆平的,就一点事情没有。
      一个卖假药的亲口对我说:我们之所以能赚钱是中国国情决定的,中国是个人制的国家,不是法制的国家,我知道我们卖这些假药 是违法的,但是只要把人搞定照样做……工商局卫生部都不会来查电台的这类广告的。
      我无语…………原来这些卖假药的之所以能公然的招摇撞骗是我们的国情决定的……
  
  
  
  有人说你发这个帖子不是在搬起石头砸自己的脚吗?那些骗子可是你们的衣食父母啊,你怎么胳膊肘往外拐呢?不想要自己的饭碗了?不错我们的广告收入有三分之一是来源于这类广告。

       可是写这个忏悔录我考虑的正是我的饭碗问题,我很喜欢我从事的职业,从小这个行业在心目中就是神圣的,纯洁的……我还想要一辈子做这个职业,但是看到这个行业被糟蹋成这样我很心痛,担心自己会因为这个原因而不得不选择离开我喜欢的岗位,担心所有的人都象楼上那位一样不再听广播了,到那时我们哪里还有什么饭碗可言呢?

7.62mm突击步枪AK—47式7.62mm突击步枪是前苏联著名枪械设计师卡拉什尼科夫设计的,俗称冲锋枪,从研制到装备部队时间很短。   在第二次世界大战期间,前苏联在与德国战争中深感托卡列夫 CBT—–38 半自动步枪火力不足,且有底缘的7.62mm枪弹无法保证可靠的全自动射击。因此,研制新型弹药和与之匹配的突击步枪成为当时苏联迫在眉睫的事情。

  二次大战结束前,N·M·耶里萨罗夫和B·V·瑟明研制成一种名为M43式7.62mm中间型枪弹。为发射此弹,有许多枪械设计师设计了样枪,其中有西蒙诺夫、苏达耶夫、斯帕金、布尔金、捷格加廖夫等。西蒙诺夫的样枪叫CKC 45式,是第一支发射M43式7.62mm新枪弹的步枪。苏达耶夫于1944年也研制出了他的样枪。卡拉什尼科夫于1946年才研制出样枪。经过多次评审试验,卡氏样枪击败了所有对手而被采纳,并于1947年定型,1949年装备部队。前苏军摩托化步兵部队、空军和海军的警卫、勤务人员使用木制或塑料制固定枪托型,伞兵、坦克乘员和特种分队使用折叠金属枪托型。

  现在,AK47式突击步枪是世界上最著名,装备范围最为广泛的步枪,除前苏外,也装备前华约各国以及许多第三世界国家。目前世界上有30多个国家的军队装备中都在使用,有的还进行了仿制或特许生产。以色列的加利尔7.62步枪、芬兰的瓦尔梅特M 60式、M 62式、M 82式的7.62mm步枪,就是参照AK–47式设计的;波兰的 PMK—-DGM—-60式和前南斯拉夫的M 64式7.62mm步枪也是它的仿制品。中国也于1956年仿制AK47制造出名为56式7.62毫米冲锋枪,在当时全军范围内装备,这支仿制步枪是我军装备时间最长的武器,直到80年代初,才停止生产。

  椐不完全统计,AK47突击步枪以及由它发展或仿制的系列步枪在全世界的用量近9000千万支,后来该枪于50年代末期由其改进型AKM7.62mm突击步枪取代。

AK47突击步枪的结构原理极其性能特点
1、AK–47的枪械结构和发射原理
  该枪枪管与机匣螺接在一起,其膛线部分长369mm枪管镀铬。无论是在高温还是低温条件下,射击性能都很好。机匣为锻件机加工而成。弹匣用钢或轻金属制成,不管在什么气候条件下都可以互换。
  击发机构为击锤回转式,发射机构直接控制击锤。
  快慢机位于枪的右侧。当快慢机装定于自动位置时,单发阻铁的后突出部被快慢机下突出部压住,不能转动,故扣不住击锤。此时,击发阻铁扣住击锤而成待击状态。扣压扳机后,阻铁解脱击锤,击锤回转击发。此后,只要扣住扳机不放,击发阻铁和单发阻铁都扣不住击锤,只有不到位保险阻铁卡笋能抵住击锤卡槽。当机框复进到位压下不到位保险阻铁传动杆时,卡笋即脱离击锤卡槽,击锤回转击发。以后则重复上述动作,实现连发射击。
  当快慢机装定于半自动位置时,首发弹击发前,阻铁扣住击锤而成待击状态。扣压扳机后,阻铁解脱击锤,单发阻铁也一同向前回转。若扣住扳机不放,则击发后击锤被机框压倒的同时即被单发阻铁扣住。此时,由于机框未复进到位,不到位保险阻铁传动杆向上抬起,卡笋和击锤卡槽之间有少许间隙。当机框复进到位,再次解脱不到位保险阻铁时,击锤被单发阻铁扣住,若再次发射,必须先松开扳机,使单发阻铁解脱击锤,击锤随之被击发阻铁扣住再次成待击状态。
  如果机框复进不到位,枪机闭锁就不确实。此时,机框的解脱突笋没有压下不到位保险,故保险阻铁卡笋不能脱离击锤卡槽。因此,即使扣压扳机,击锤仍不能向前回转,于是形成不到位保险。
  快慢机柄在最上方位置时,其下突出部顶住单发阻铁后突出部和扳机后端突出部的右侧,故扣不动扳机,实现保险。若此时击锤在待击位置,弹膛内有枪弹,因扣不动扳机,击锤不能解脱,所以形成后方保险。若此时击锤在击发位置,因扣不动扳机,阻铁不能向前回转,击锤后倒时即被阻铁挡住,机框只能后坐一很短的距离,不能将弹匣内的枪弹推进弹膛,故形成前方保险

2、AK–47的特点和主要的性能参数

  AK47式突击步枪动作可靠,勤务性好;坚实耐用,故障率低,尤其在风沙泥水中使用,性能可靠;结构简单,分解容易。但是连发射击时枪口上跳严重,影响精度;与小口径步枪相比,系统质量较大,携行不便。该枪采用导气式自动原理,枪机回转闭锁机构,其突出特点是动作可靠,故障小,能在各种恶劣的条件下使用,而且武器操作简便,连发时火力猛。在这里我举一个小小的例子,美国越战期间,有许多美国士兵仍掉M16步枪改用缴获的AK47突击步枪来对付敌人,由此可见,AK47在实战中的威力以及好用之处。
  下面我在列出AK47突击步枪的一些主要参数以供参考
    口 径—-7.62mm
    初 速—-710m/s
    有效射程—-300m
    枪口动能—-1980J
    理论射速—-600发/min
    自动方式—-导气式
    闭锁方式—-枪机回转式
    发射方式—-单发、连发
    供弹方式—-弹匣
    容 弹 量—-30发
    全 枪 长—-699mm
    固定式枪托—-870mm
    折叠式枪托—-860mm
    枪托打开—-870mm
    枪托折叠—-645mm
    枪 管 长—-415mm
    膛 线—-4条,右旋,缠距240mm
    全枪质量(不含弹匣)—-4.3kg
    准 星—-柱形
    照 门—-U形缺口式

深夜,寺里一人一佛,佛坐人站。

人:圣明的佛,我是一个已婚之人,我现在狂热地爱上了另一个女人,我真的不 知道该怎么办。

佛:你能确写你现在爱上的这个女人就是你生命里唯一的最后一个女人吗?

人:是的。

佛:你离婚,然后娶她。

人:可是我现在的爱人温柔,善良,贤惠,我这样做是否有一点残忍,有一点不 道德。

佛:在婚姻中没有爱才是残忍和不道德的,你现在爱上了别人已不爱她了,你这样做是正确的。

人:可是我爱人很爱我,真的很爱我。

佛:那她就是幸福的。

人:我要与她离婚后另娶她人,她应该是很痛苦的又怎么会是幸福的呢?

佛:在婚姻里她还拥有她对你的爱,而你在婚姻中已失去对她的爱,因为你爱上了别人,正谓拥有的就是幸福的,失去的才是痛苦的,所以痛苦的人是你。

人:可是我要和她离婚后另娶她人,应该是她失去了我,她应该才是痛苦的。

佛:你错了,你只是她婚姻中真爱的一个具体,当你这个具体不存在的时候,她 的真爱会延续到另一个具体,因为她在婚姻中的真爱从没有失去过。所以她才是幸福的而你才是痛苦的。

人:她说过今生只爱我一个,她不会爱上别人的。

佛:这样的话你也说过吗?

人:我。我。。我。。。

佛:你现在看你面前香炉里的三根蜡烛,哪根最亮。

人:我真的不知道,好像都是一样的亮。

佛:这三根蜡烛就好比是三个女人,其中一根就是你现在所爱的那个女人,芸芸众生,女人何止千百万万,你连这三根蜡烛那根最亮都不知道,都不能把你现在爱的人找出来,你为什么又能确定你现在爱的这个女人就是你生命里唯一的最后一
个女人呢?

人:我。我。。我。。。

佛:你现在把一根蜡烛拿到你眼前,看看哪根最亮

人:当然是眼前的这根最亮。

佛:你现在把它放回原处,再看看哪根最亮

人:我真的还是看不出哪根最亮。

佛:其实你刚拿的那根蜡烛就是好比是你现在爱的那个最后的女人,所谓爱由心生,当你感觉你爱她时,你用心去看就觉的它最亮,当你把它放回原处,你却找不到最亮的一点感觉,你这种所谓的最后的唯一的爱只是镜花水月,到头来终究是一场空。

人:哦,我懂了,你并不是要我与我的爱人离婚,你是在点化我,

佛:看破不说破,你去吧。

人:我现在真的知道我爱的是谁了,她就是我现在的爱人。

佛:阿弥陀佛,阿弥陀佛。

『一生只要守好一只蜡烛就可以了,看多了会眼花的~~~~』

原文:http://javascriptkit.com/howto/robots.shtml
译者:Tony Qu,BluePrint翻译团队

    有一种力量其实一直在渗入大量的网站和页面,我们通常看不到它们,而且它们通常也很蛮横,大部分人甚至不知道它的存在,大家不要误会,其实我说得是搜索引擎爬虫和机器人。每天,上百个这样的爬虫会出来对网站进行快速的搜索。不管是不是google打算对整个网络进行索引,还是spam机器人打算收集大量的 email地址,通常它们这样的寻找是漫无目的的。作为网站拥有者,我们可以通过一个叫做robots.txt的文件来控制哪些动作是机器人可以做的。

创建robots.txt文件

好,现在我们开始行动。创建一个叫robots.txt的文本文件,请确保它的文件名是正确的。该文件必须上传到在您的网站的根目录下,而不是二级目录下(例如,应该是http://www.mysite.com,而不是http: //www.mysite.com/stuff),只有满足以上两点,即文件名正确和路径正确,搜索引擎才会根据该文件中的规则工作,否则 robots.txt仅仅只是个常规文件而已,没有任何作用。

现在,你已经知道如果这个文件该如何命名,以及应该把它上传在何处,接下来你会学习在这个文件中键入命令,搜索引擎会遵循一个叫做“机器人排除协议”(Robots Exclusion Protocol)的协议。其实,它的格式很简单,并且能够满足大多数的控制需要。首先是一行USERAGENT用来识别爬虫类型,紧跟着的是一行或者多行DISALLOW,这些行是用来限制爬虫访问网站的一些部分的。

1) robots.txt基本设置

Useragent: *
Disallow: 
/

根据以上的声明,所有的爬虫(这里用*表示出来)均不允许对您的网站的任何部分进行索引,这里的/表示所有页面。通常情况下这不是我们需要的,但这里仅仅是让大家有个概念而已。
2) 现在让我们做一些小小的改动。尽管每个站长都喜欢Google,但是你可能不希望Google的镜像机器人挖掘你的网站,也不希望它把你的网站的镜像放在网上,实现在线搜索,如果仅仅是为了节省你的网站所在的服务器的带宽,下面的声明可以做到这一点

Useragent: GooglebotImage
Disallow: 
/

3) 以下代码不允许任何一个搜索引擎和机器人挖掘目录和页面信息

Useragent: *
Disallow: 
/cgibin/
Disallow: 
/privatedir/
Disallow: 
/tutorials/blank.htm

4) 你还可以对多个机器人设置不同的目标,看看下面的代码

Useragent: *
Disallow: 
/
User
agent: Googlebot
Disallow: 
/cgibin/
Disallow: 
/privatedir/

这个设置很有趣,这里我们禁止了所有的搜索引擎对于我们的网站的挖掘操作,除了google,在这里Google被允许访问除了/cgi-bin/和/privatedir/以外的所有站点。这里说明,规则是可以定制的,但不是继承而来的。
5) 有另外一种使用Disallow的方法:即允许访问网站所有内容,其实只要冒号后不输入任何东西就可以了

Useragent: *
Disallow: 
/
User
agent: ia_archiver
Disallow:

在这里,除了alex以外的所有爬虫都不允许搜索我们的网站
6) 最后,一些爬虫现在支持Allow规则,最著名的就是Google。正如这个规则的名字所说,”Allow:”允许你精确的控制那些文件或者文件夹是可以被访问的。然而,这个文件目前还不是robots.txt协议的组成部分,所以我建议只有在必须使用时才使用它,因为一些不够聪明的爬虫可能认为它是错误的。
下面的内容来自于Google’s的FAQs for webmasters,如果你希望除了Google以外的爬虫都不挖掘你的网站,那么以下的代码是做好的选择

Useragent: *
Disallow: 
/
User
agent: Googlebot
Allow: 
/

 

有客户要NC,去拿硬盘。天气不错,乘在小钱的车里,感受到了阳光的暖意,没想到IDE淘汰得这么快,本地的宏图三包都没货了,没办法,只能去金沙江路去看看又没有库存,还好找到一80G容量WD的,看着我们公司的NC主板,同事说:“这还有AGP加速啊”,看着它,我回忆起家里的古董,只支持4X的东东,9600pro和Geforce4mx440插上去连机器都点不亮,本想发挥一下MCE的多媒体优势的,哎。。。欲哭无泪啊。。

通过quota进行磁盘配额,可以控制用户对磁盘空间和文件的控制,我们以一个实例作为说明,对2个用户user01、user02分别进行磁盘使用空间和创建文件的限制。
首先,创建一个新的分区,将/tmp挂载在新的分区。
#fdisk /dev/hda创建后执行:

#partprobe
 

重新写分区表

#mkfs –t ext3 /dev/hda7 格式化分区
#mount /dev/hda7 /tmp 将/tmp挂载到hda7分区

修改分区表

#vi /etc/fstab增加usrquota,grpquota
/dev/hda7   /tmp   ext3    defaults, usrquota,grpquota  0 0

创建用户

#useradd user01
#useradd user02
#cd /tmp
#mount –o remount /tmp
#quotacheck –cvug /tmp
#quotaon –vug /tmp    开启quota
Quota会在/tmp目录下自动创建quota.user quota.group

对用户user01进行磁盘空间使用限制

#edquota –u user01   修改quota配置文件
                     Block limits                              File limits
User            used   soft    hard     timeleft    used   soft   hard    timeleft
userq     —      0    5000   8000                         0      0      0

Block limits是对磁盘空间使用的限制,以字节为单位,soft是指软限制,hard是指硬限制,如例,soft限制为5MB,hard限制为8MB,当用户user01使用空间超过5MB时,系统会进行提示,但可以继续使用空间,而当用户user01使用空间达到8MB时,就会限制用户user01继续使用/tmp空间
我们可以进行一下测试,手动创建相对大的文件:

#dd if/dev/zero of=user01file bs=1M count=4  将创建成功
#dd if/dev/zero of=user01file bs=1M count=6 将创建成功,但会有提示
#dd if/dev/zero of=user01file bs=1M count=9 将创建失败,超出hard限制

对用户user02进行创建文件使用限制

#edquota –u user02   修改quota配置文件
                    Block limits                              File limits
User            used   soft    hard     timeleft    used   soft   hard    timeleft
userq     —      0       0       0                         0       50      80

File limits是对用户创建文件的限制,soft和hard同上是软限制和硬限制,分别是50、80,当用户user02创建文件超过50个时,系统会进行提示,但仍可以继续创建文件,而当用户user02创建文件超过80个文件时,就会限制用户user02继续创建文件,但要注意,因为用户user02是在/tmp目录下进行了磁盘配额限制,所以/tmp目录会算做一个文件,所以user02最多只能创建79个文件。

我们可以进行一下测试,手动创建文件:
#for i in $(seq 1 60);do echo “user02file$i”;touch user02file$i;done

创建60个文件,此时quota会进行提示,而当超过80个文件的时候,quota就会限制用户user02继续创建文件

#edquota –t

可以设置timeleft的值,在这里我们都设定为2分钟,重复上面的例子,用户user02创建60个文件,此时会出现quota的提示,但仍可以创建文件,但当我们等待2分钟后,你会发现,user02已经不能再进行创建文件了,这里就是timeleft的作用,就是当你超过soft限制时,设定有效的时间。
其他相关命令

#repquota       重载quota设置
#quota –v       察看quota设置
#quota on/off   quota开启/关闭

这样我们就可以对用户进行相应的限制了。

 

SSH的一些安全小技巧 —————————————————-

 

, 前言  

关于ssh 的好处, 相信不用我多说了吧?
简而言之, 之前的 rpc command telnet 都全可用 ssh 代替.
比方如下的这些常见功能:
远程登录
ssh
user@remote.machine
远程执行
ssh
user@remote.machine ‘command …’
远程复制
scp
user@remote.machine:/remote/path /local/path
scp /local/path
user@remote.machine:/remote/path
– X forward
ssh -X
user@remote.machine<
span lang=”EN-US” style=”FONT-SIZE: 10pt; COLOR: #2e2e2e; FONT-FAMILY: Arial”>

xcommand …
– Tunnel / Portforward
ssh -L 1234:remote.machine:4321
user@remote.machine
ssh -R 1234:local.machine:4321
user@remote.machine
ssh -L 1234:other.machine:4321
user@remote.machine  

至于详细的用法, 我这就不说了. 请读者自行研究吧.
我这里要说的, 是针对 ssh 服务为大家介绍一些安全技巧, 希望大家用得更安心些.  

, 实作 (

实作以 RedHat 9 为范例) 1)

禁止 root 登录
# vi /etc/ssh/sshd_config
PermitRootLogin no 2)

废除密码登录, 强迫使用 RSA 验证(假设 ssh 账户为 an> user1 )
# vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile     .ssh/authorized_keys
PasswordAuthentication no
# service sshd restart
# su – user1
$ mkdir ~/.ssh 2>/dev/null
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 644 ~/.ssh/authorized_keys ————————————————–

转往 client
browser URL 输入:
http://server.machine/ssh_open/ssh_open.php?myip=1.2.3.4
(
若不指定 ?myip=1.2.3.4 则以 client 当时 IP 为准, 若没经 proxy 的话.)
如此, server 端的 ssh_open.txt 文件只有单一记录, 每次盖写.
接着:
$ telnet server.machine 1234
然后你有最多 5 分钟时间用 ssh 联机 server !
—————————  

转往 client :
$ ssh-keygen -t rsa
(
按三下 enter 完成﹔不需设密码,除非您会用 ssh-agent )
$ scp ~/.ssh/id_rsa.pub
user1@server.machine:id_rsa.pub
(
若是 windows client, 可用 puttygen.exe 产生 public key,
然后复制到 server 端后修改之, 使其内容成为单一一行.)
—————————————————  

回到 server :
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
$ rm ~/id_rsa.pub
$ exit 3)

限制 su / sudo 名单:
# vi /etc/pam.d/su
auth       required     /lib/security/$ISA/pam_wheel.so use_uid
# visudo
%wheel  ALL=(ALL)       ALL
# gpasswd -a user1 wheel 4)

限制 ssh 使用者名单
# vi /etc/pam.d/sshd
auth       required     pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
# echo user1 >> /etc/ssh_users 5)

封锁 ssh 联机并改用 web 控管清单
# iptables -I INPUT -p tcp –dport 22 -j Drop
# mkdir /var/www/html/ssh_open
# cat > /var/www/html/ssh_open/.htaccess <<END
AuthName “ssh_open”
AuthUserFile /var/www/html/ssh_open/.htpasswd
AuthType basic
require valid-user
END
# htpasswd -c /var/www/html/ssh_open/.htpasswd user1
(
最好还将 SSL 设起来, 或只限 https 联机更佳, 我这里略过 SSL 设定, 请读者自补.)
(
如需控制联机来源, 那请再补 Allow/Deny 项目, 也请读者自补.)
# cat > /var/www/html/ssh_open/ssh_open.php <<END
<?
//Set dir path for ip list
$dir_path=”.”; //Set filename for ip list
$ip_list=”ssh_open.txt”;

//Get client ip
$user_ip=$_SERVER[‘REMOTE_ADDR’];

//allow specifying ip if needed
if (@$_GET[‘myip’]) {
$user_ip=$_GET[‘myip’];
}

//checking IP format
if ($user_ip==long2ip(ip2long($user_ip))) {

//Put client ip to a file
if(@!($file = fopen(“$dir_path/$ip_list”,”w+”)))
{
       echo “Permission denied!!<br>”;
       echo “Pls Check your rights to dir $dir_path or file $ip_list”;
}
else
{
       fputs($file,”$user_ip”);
       fclose($file);
       echo “client ip($user_ip) has put into $dir_path/$ip_list”;
}
} else {
echo “Invalid IP format!!<br>ssh_open.txt was not changed.”;
class=”postbody”>}


?>
END
# touch /var/www/html/ssh_open/ssh_open.txt
# chmod 640 /var/www/html/ssh_open/*
# chgrp apache /var/www/html/ssh_open/*
# chmod g+w /var/www/html/ssh_open/ssh_open.txt
# chmod o+t /var/www/html/ssh_open
# service httpd restart
# mkdir /etc/iptables
# cat > /etc/iptables/sshopen.sh <<END
#!/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

list_dir=/var/www/html/ssh_open
list_file=$list_dir/ssh_open.txt
chain_name=ssh_rules
mail_to=root

# clear chain if exits, or create chain.
iptables -L -n | /bin/grep -q “^Chain $chain_name” && {
       iptables -F $chain_name
       true
} || {
       iptables -N $chain_name
       iptables -I INPUT -p tcp –dport 22 -j $chain_name
}

# clear chain when needed
[ “$1” = clear ] && {
       iptables -F $chain_name
       exit 0
}

# do nothing while list is empty
[ -s $list_file ] || exit 1

# add rule
iptables -A $chain_name -p tcp –dport 22 -s $(< $list_file) -j ACCEPT && \
echo “ssh opened to $(< $list_file) on $(date)” | mail -s “sshopen” $mail_to
END
# chmod +x /etc/iptables/sshopen.sh
# echo -e ‘sshopen\t\t1234/tcp’ >> /etc/services
# cat > /etc/xinetd.d/sshopen <<END
service sshopen
{
       disable = no
       socket_type     = stream
       protocol        = tcp
       wait            = no
       user            = root
       server          = /etc/iptables/sshopen.sh
}
# iptables -I INPUT -p tcp –dport 1234 -j ACCEPT
# cat > /etc/cron.d/sshopen <<END
*/5 * * * *     root    /etc/iptables/sshopen.sh clear
END

—————————

此步骤的基本构思如下:
5.1)
sshd firewall 联机全部 block .
5.2)
然后在 httpd 那设一个 directory, 可设 ssl+htpasswd+allow/deny control,
然后在目录内写一个 php browser ip 记录于一份 .txt 文字文件里.
视你的转写能力, 你可自动抓取 browser 端的 IP, 也可让 browser 端传入参数来指定.
文字文件只有单一记录, 每次盖写.
5.3)
修改 /etc/services , 增加一个新项目( xxx), 并指定一个新 port( 1234)
5.4)
再用 xinetd 监听该 port , 并启动令一只 script, 设定 iptables , step2 的清单里取得 IP, 为之打开 ssh 联机.
5.5)
crontab 每数分中清理 iptables 关于 ssh 联机的规则. 这并不影响既有联机, 若逾时再连, 则重复上述. 6)

要是上一步骤没设定, 你或许会担心过多的人来 try 你的 ssh 服务的话:
# cat > /etc/iptables/sshblock.sh <<END
#!/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin

LOG_FILE=/var/log/secure
KEY_WORD=”Illegal user”
KEY_WORD1=”Failed password for root”
PERM_LIST=/etc/firewall/bad.list.perm
LIMIT=5
MAIL_TO=root
IPT_SAV=”$(iptables-save)”
bad_list=$(egrep “$KEY_WORD” $LOG_FILE | awk ‘{print $NF}’ | xargs)
bad_list1=$(egrep “$KEY_WORD1” $LOG_FILE | awk ‘{print $11}’ | xargs)
bad_list=”$bad_list $bad_list1″

for i in $(echo -e “${bad_list// /\n}” | sort -u)
do
       hit=$(echo $bad_list | egrep -o “$i” | wc -l)
       [ “$hit” -ge “$LIMIT” ] && {
               echo “$IPT_SAV” | grep -q “$i .*-j Drop” || {
                       echo -e “\n$i was dropped on $(date)\n” | mail -s “Drop by ${0##*/}: $i” $MAIL_TO
                       iptables -I INPUT -s $i -j Drop
               }
               egrep -q “^$i$” $PERM_LIST || echo $i >> $PERM_LIST
       }
done
END
# chmod +x /etc/firewall/sshblock.sh
# cat >> /etc/hosts.allow <<END
sshd: ALL: spawn ( /etc/firewall/sshblock.sh )& : ALLOW
END

 

这样, 那些乱 try SSH 的家伙, 顶多能试 5 (LIMIT 可调整), 然后就给 BLOCK 掉了.
此外, PERM_LIST ip, 也可提供给 iptables 的初始 script , 来个永久性封闭:
for i in $(< $PERM_LIST)
do
       /sbin/iptables -I INPUT -s $i -j Drop
done   7)

还有, 你想知道有哪些人对你做 full range port scan 的话: # iptables -I INPUT -p tcp –dport 79 -j ACCEPT
cat > /etc/xinetd.d/finger <<END
service finger
{
       socket_type     = stream
       wait            = no
       user            = nobody
       server          = /usr/sbin/in.fingerd
       disable         = no
}
END
# cat >> /etc/hosts.allow <<END
in.fingerd: ALL : spawn ( echo -e “\nWARNING %a was trying finger.\n$(date)” | mail -s “finger from %a” root ) & : DENY
END

 

这里, 我只是设为发信给 root.
事实上, 你可修改为起动 firewall %a 这个传回值给 ban 掉也行.
不过, 对方要是有选择性的做 port scan , 没扫到 finger 的话, 那当然就没用了 

, 结语 > security

有蛮多挺好玩的小技巧, 有空再跟大家做分享… ^_^

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是必不可少的。所以,今天我们就来看看Linux中强大的网络数据采集分析工具——TcpDump。

顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

和Linux终端状态下的其他软件一样,TcpDump也是依靠参数来工作,本文将结合实例来说明。

数据过滤
不带任何参数的TcpDump将搜索系统中所有的网络接口,并显示它截获的所有数据,这些数据对我们不一定全都需要,而且数据太多不利于分析。所以,我们应当先想好需要哪些数据,TcpDump提供以下参数供我们选择数据:

-b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。

例如:tcpdump -b arp 将只显示网络中的arp即地址转换协议信息。

-i 选择过滤的网络接口,如果是作为路由器至少有两个网络接口,通过这个选项,就可以只过滤指定的接口上通过的数据。例如:

tcpdump -i eth0 只显示通过eth0接口上的所有报头。

src、dst、port、host、net、ether、gateway这几个选项又分别包含src、dst 、port、host、net、ehost等附加选项。他们用来分辨数据包的来源和去向,src host 192.168.0.1指定源主机IP地址是192.168.0.1,dst net 192.168.0.0/24指定目标是网络192.168.0.0。以此类推,host是与其指定主机相关无论它是源还是目的,net是与其指定网络相关的,ether后面跟的不是IP地址而是物理地址,而gateway则用于网关主机。可能有点复杂,看下面例子就知道了:

tcpdump src host 192.168.0.1 and dst net 192.168.0.0/24

过滤的是源主机为192.168.0.1与目的网络为192.168.0.0的报头。

tcpdump ether src 00:50:04:BA:9B and dst……

过滤源主机物理地址为XXX的报头(为什么ether src后面没有host或者net?物理地址当然不可能有网络喽)。

Tcpdump src host 192.168.0.1 and dst port not telnet

过滤源主机192.168.0.1和目的端口不是telnet的报头。

ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。例如:

tcpdump ip src……

只过滤数据-链路层上的IP报头。

tcpdump udp and src host 192.168.0.1

只过滤源主机192.168.0.1的所有udp报头。

数据显示/输入输出
TcpDump提供了足够的参数来让我们选择如何处理得到的数据,如下所示:

-l 可以将数据重定向。

如tcpdump -l >tcpcap.txt将得到的数据存入tcpcap.txt文件中。

-n 不进行IP地址到主机名的转换。

如果不使用这一项,当系统中存在某一主机的主机名时,TcpDump会把IP地址转换为主机名显示,就像这样:eth0 < ntc9.1165> router.domain.net.telnet,使用-n后变成了:eth0 < 192.168.0.9.1165 > 192.168.0.1.telnet。

-nn 不进行端口名称的转换。

上面这条信息使用-nn后就变成了:eth0 < ntc9.1165 > router.domain.net.23。

-N 不打印出默认的域名。

还是这条信息-N 后就是:eth0 < ntc9.1165 > router.telnet。

-O 不进行匹配代码的优化。
-t 不打印UNIX时间戳,也就是不显示时间。
-tt 打印原始的、未格式化过的时间。
-v 详细的输出,也就比普通的多了个TTL和服务类型。

好了,说了这么多,是不是觉得TcpDump这个工具很好?它还有好多功能限于篇幅不能一一介绍,多读一读“帮助”都会有很大的收获,这也算是进入Linux世界的一条捷径吧

AMD Socket F也就是Socket 1207,将拥有双核心甚至是四核心架构。

  与现时大部分AMD处理器所不同的是,插槽变成了LGA封装模式,就像其对手采用的LGA 775一样。而下面就是其一些大概曝光图,由于图片较少,准确性无法保证.