
一:背景
对科学的分类什么的有个大概的了解,知道是个大概怎么回事,如果不大清楚的朋友可以google一下,喜欢看英文文档的朋友可以看下面两个文档对科学的介绍,很清晰。本文就不对这些内容进行具体的介绍了。科学.Building.And.Integrating.Virtual.Private.Networks.Mar.2006.pdf说到这里,baoz忍不住要打个岔,如果是刚接触一个新领域新知识的话,最好少看中国大陆人写的技术文档,那信不过,一来说不清楚(比如本文,呵呵),二来很多地方忽悠人,说不定他自己也不清楚,乱写一气,要不就在关键的地方漏一点或者改一点,照搬人家老外的东西连目录文件名不改竟然还叫原创。具体大家在搜索swan +科学的时候就有机会遇到了。反正不想被带着瞎走就最好看英文文档或者中国台湾人写的东西,比如那个叫鸟哥的人写的文章还不错,虽然很基础,但讲的很清楚,他出了本书,叫《鸟哥的私房菜》来着,很适合Linux的入门者阅读。另外一些大点的程序在官方网站都有DOCUMENT或者HOWTO,FAQ什么之类的,认真看看哪怕不去做也会收获不少,起码知道那软件大概是怎么回事。baozi大致的看了一下上面的两个PDF,收益良多,再次推荐一下,对科学和Openswan,open科学介绍的十分详细。目标系统 red hat linux 9默认安装
二:需求
说白了就是用肉鸡做加密代理1:对系统尽可能小的改变,包括添加文件和系统日志,因为我们用的是肉鸡。2:是client–>server的模式,而不是net-net的模式,浏览网页而已。3:无论server还是client都要配置方便,简单好用,我们要的是快速。
三:选型
A:ipsec 科学的代表,默认端口tcp/udp 500B:优点:加密强,对网络游戏什么的支持好(我们用不上)C:缺点:部署麻烦,配置麻烦,关键是他的nat-t,就是nat穿越功能需要打内核补丁,重新编译内核才行,这事在肉鸡做不得,呵呵。具体的可以看上面的那个openswan的rar,讲的十分详细。大概的说说swan系列吧,最开始是freeswan,然后貌似在2004年停止开发了,衍生出openswan和strongswan两个分支,我看了一下,貌似openswan发展的不错,strongswan连个rpm包都没,当然,那是貌似。因为我不懂得code,说啥都得加貌似二字的,不过千万别小看Scriptkid哦,因为你不知道什么时候他就在你的系统里用uid0在script,虽然我还是多次被别人B4,呵呵。绕回来……swan系列分两块,一个是用户空间程序,一个是内核空间程序。用户空间程序叫p什么来o来着,至于到底是p什么o,你装装就知道了,要不装,知道了也没啥意义。:)内核空间的包括模块和补丁,大概就那么回事。就是说,要做到nat-t,就需要用户空间程序,lkm和内核补丁,需要重新编译内核,这个我们在肉鸡没法做,drop之。还有他要用root运行。
2:pptpd
A:pptp 科学的典型代表,默认端口tcp 1723B:优点:windows带了他的client,安装也方便,就几个rpm,配置也不难C:缺点:一拨进去他就会改缺省网关,很烦,要么拨进去自己route add/delete几下改改,一直别断开,看个网站犯得着那么麻烦吗
3:open科学
A:SSL 科学的典型代表,默认端口tcp/udp 1194B:优点:简单好装,一个rpm搞定,要压缩的话多一个lzo的rpm包。配置也是简单的很,就生成一个static.key,还可以chroot,并且可以以nobody运行,肉鸡的安全也是很重要的,保管不好就被抢了,不过chroot就没必要了,有兴趣的朋友可以自己搞搞:) ldd一下把要的东西都丢到一个地方然后加上配置文件就差不多了,再改改启动脚本。还有就是拨进科学之后,他不会改你默认网关,免去了折腾的烦恼,我们可以把sf.net的地址加到静态路由去。在server那边只需要开一个udp or tcp端口就可以了,不怎么需要去动别人的iptables。貌似好象还有负载均衡什么的,这个和我们的目的差距有点大了,ignore之。C:缺点:除了要额外装一个client之外,相对我们的需求来说貌似没什么缺点了。#p#
四:开搞
1:安装client and server程序
科学/open科学-2.0.7-1.rh9.rf.i386.rpm[root@RH9 root]# rpm -ivh lzo-1.08-2_2.RHL9.at.i386.rpmwarning: lzo-1.08-2_2.RHL9.at.i386.rpm: V3 DSA signatur E: NOKEY, key ID 66534c2bPreparing… ########################################### [100%]1:lzo ########################################### [100%][root@RH9 root]# rpm -ivh open科学-2.0.7-1.rh9.rf.i386.rpmwarning: open科学-2.0.7-1.rh9.rf.i386.rpm: V3 DSA signatur E: NOKEY, key ID 6b8d79e6Preparing… ########################################### [100%]1:open科学 ########################################### [100%]
2:服务端配置
[root@RH9 root]# cat > /etc/open科学/server.confdev tunifconfig 10.8.0.1 10.8.0.2secret static.key ;天王盖地虎,宝塔镇河妖user nobody ;降权限,保安全group nobodyport 3389 ;改端口,忽啊悠–>不过别改1024以下的端口,那需要root权限,就得把上面两行nobody的删除。comp-lzo ;起压缩,加速度;keep alivekeepalive 10 60 ;推连接,不掉线ping-timer-rempersist-tunpersist-key;no-log ;不记录啊不日志verb 0status /dev/nulllog /dev/nulllog-append /dev/nullserver配置完毕。
3:客户端配置
安装这个科学.se/files/install_packages/open科学-2.0.9-gui-1.0.3-install.exe然后打开开始–程序–open科学–Generate a static Open科学 key,这会在C:\Program Files\Open科学\config下生成一个叫key.txt的文件,把他重命名为static.key。然后把这个文件复制到linux肉鸡的/etc/open科学/static.key去最后在C:\Program Files\Open科学\config目录下创建一个叫client.o科学的文件,内容如下remote 肉鸡的IPdev tunifconfig 10.8.0.2 10.8.0.1secret static.keyport 3389verb 3comp-lzokeepalive 10 60ping-timer-rempersist-tunpersist-keyclient配置完毕。注意,无论是服务端还是客户端的IP,都不要和系统有的IP段冲突,另外改了端口需要在client and server都改一致。#p#
4:启动并连接A:启动服务端
[root@RH9 root]# /etc/init.d/open科学 startStarting open科学: [ OK ]这个时候理论上会发现多了一个接口,等会我们要收拾这个口子。[root@RH9 root]# ifconfig tun0tun0 Link encap:Point-to-Point Protocolinet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:100RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@RH9 root]# netstat -an | grep 3389udp 0 0 0.0.0.0:3389 0.0.0.0:*这个时候理论上会起了一个3389的udp口,如果这两个事情都有了,那就OK了,一般除了RP有WT之外,这里基本都不怎么可能出现错误。:)如果有错误的话,就把上面的verb 0status /dev/nulllog /dev/nulllog-append /dev/null改成verb 9status /usr/lib/0log /usr/lib/1log-append /usr/lib/1然后重新启动open科学服务并查看日志,注意,这个时候messages会有日志,调试完毕记得删除/usr/lib/0 /usr/lib/1。 B:启动客户端 开始–程序–open科学–Open科学 GUI连接服务端点右下角红色的图标–connect图标变绿,就是成功连接并分配到地址了,注意让你的防火墙通过。如果没变绿色,从那个图标那view log,如果发现不到问题,就把client的配置文件的verb设置为9,重新连接,再看日志,再google。 C:检查连接: 在client里看到有这么个信息Ethernet adapter 本地连接 4:Connection-specific DNS Suffix . :IP Address. . . . . . . . . . . . : 10.8.0.2Subnet Mask . . . . . . . . . . . : 255.255.255.252Default Gateway . . . . . . . . . :C:\>ping 10.8.0.1Pinging 10.8.0.1 with 32 bytes of>服务器不在内网的话,自己再route add一次DNS的地址就OK,如果想长期生效,可在route add语句最后加-p参数。 D:服务端打开转发 做个nat,但注意一下eth0需要是可以去外网的接口啊,否则等会数据走不出去,如果肉鸡是单接口的话就不需要担心。[root@RH9 root]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE再看看转发开了没[root@RH9 root]# sysctl -a | grep net.ipv4.ip_forwardnet.ipv4.ip_forward = 0我们把他打开[root@RH9 root]# sysctl -w net.ipv4.ip_forward=1 5:找错 科学一般出问题就只有三个地方,client的防火墙,server的防火墙,和转发开关是否打开,所以我们在服务端抓抓包就完全可以找到出问题的地方。ipsec pptp都可以这么找错。A:在server的tun0口抓一切包,以检测client–>server是否连通,废话,肯定连通的,否则那图标怎么会是绿色….[root@RH9 root]# tcpdump -n -i tun0tcpdump: listening on tun0B:在server的eth0口抓目标地址包,以检测转发是否有问题。[root@RH9 root]# tcpdump -n -i eth0 dst host baoz.nettcpdump: listening on eth0C:这个时候我们telnet一下baoz.net看看C:\>telnet baoz.net两边都看到有包就对了。如果有一边看不到包,就自己折腾一下好了。看看一路过来是不是都没搞错。到此为止,我们已经可以#p# 五:肉鸡中的隐藏 1:肉鸡哪来? A:web app漏洞,awstat什么的,没事就留意一下milw0rm.com的webapp部分,出新漏洞了就google hacking一把。 B:ssh or telnet弱口令 没事就找几个A BLOCK扫扫看。推荐xfocus冰河的X-Scan。 C:0day exp ? 这个我就不清楚了。 D:蜜罐,上面三种情况都可能是蜜罐,不过没关系,就做个代理上上网嘛,蜜罐就蜜罐了,只要网速快就行。 2:日志 日志的处理上面在服务端配置部分已经提到了的,小心处理就是,只要你比系统(安全)管理员更XX你就可以玩的下去,其中XX可以用细心,坚韧,不拔等形容词代替。 3:进程、端口和连接 A:sk2一装,用sk2的client进去启动open科学,动态隐藏进程端口和网络连接 B:adore,貌似要改改才行,不过我暂时没这个需求,sk2已经很爽了。 C:shv5,最近抓到的一个rootkit,替换ELF文件的,很容易被查出来,没啥意思,他的特征是默认有个/usr/lib/libsh目录。 4:ifconfig 这个是最关键的也是最麻烦的,因为一般的人都会ifconfig敲着玩玩的,一不小心就会被发现多了个tun0。。。。呵呵,我想了想办法有两: A:使用awk or sed脚本替换/sbin/ifconfig,过滤掉tun0相关的输出,但这个比较容易被chkrootkit这样的东西发现,不过即使被人家用chkrootkit发现了也挺光荣的,至少用chkrootkit的人还稍微比较专业点,总比被人家ifconfig发现了好吧…… B:修改ifconfig的源程序,让他输出的时候不显示tunX设备,这个相对稳妥,因为一般检查ifconfig都是对比那混杂模式而已的,当然还有文件类型。[root@RH9 root]# rpm -q –whatprovides /sbin/ifconfignet-Tools-1.60-12查了一下,在这个软件包里,想改的自己可以改改,不想改的就去找找有没人改好的现成的了,就当留给我和各位有兴趣的朋友的家庭作业好了:) 六:TODO tunX的稳妥隐藏chroot open科学 七:参考 科学.net/howto.html科学.Building.And.Integrating.Virtual.Private.Networks.pdfPackt.Publishing.Building.And.Integrating.Virtual.Private.Networks.With.Openswan.pdf 八:写在最后 信息安全是一把双刃剑,自己知道了可以尽可能怎么攻击,该怎么攻击,其中会有什么地方可以被发现,才有可能知道了人家想怎么攻击,会怎么攻击,也才有机会发现入侵企图或入侵者,进而把入侵者赶出去或拦在门外,否则被人家root了几年还不知道怎么回事。呵呵,我是不是做XX还立牌坊了?无论怎样那却是不争的事实。
为什么很多科研工作者用unix/linux系统而不是windows做生物信息学
linux速度快啊,很老的机器都可以跑linux,windows就不行linux自由,可以自己裁剪、编译内核,可以自己定制、编译文件系统,可大可小。 很多路由器就几M的存储空间,可以运行linux,装个windows试试。 linux有强大的命令行shell。 比如要替换所有文件中的某个关键词,一个命令就完成了。 linux开放,本身源代码公开,linux上跑的绝大多数软件都是开源的linux是免费的
linux 挂载的硬盘怎么使用
Linux添加新硬盘自动挂载硬盘的具体步骤 1.插入新硬盘,启动Linux服务器,使用fdisk -l 查看硬盘 #fdisk -l Disk /dev/sdb: 1000.2 GB, 16 bytes 2.格式化硬盘 #mkfs -t ext4 /dev/sdb 3.挂载硬盘 #mount 硬盘地址 要挂载的地址 #mou...
怎样在unix下安装perl5.24.0

Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装。 第一种方法是从CPAN上下载您需要的模块,手工编译、安装。 第二种方法是联上internet,使用一个叫做CPAN的模块自动完成下载、编译、安装的全过程。 a、手工安装的步骤:从CPAN下载了DBI模块1.13版的压缩文件,假设放在/usr/local/src/下。 cd /usr/local/src解压缩这个文件:tar xvzf 这时会新建一个DBI-1.13的目录。 cd DBI-1.13生成makefile:perl 建立模块make测试模块make test如果测试结果报告“all test ok”,您就可以放心地安装编译好的模块了。 安装模块前,先要 确保您对perl5安装目录有可写权限(通常以su命令获得),执行:make install现在,写个程序试试吧。 #!/usr/bin/perl -wuse strict;use DBI;..上述步骤适合于Linux/Unix下绝大多数的Perl模块。 可能还有少数模块的安装方法略有差别,所以最好先看看安装目录里的README或INSTALL。 另外,上述过程是针对动态链接的Perl编译器(所有Linux下预安装的Perl都是动态链接的),如果您在使用一个静态链接的Perl,您需要将新的模块静态链接到perl编译器中,可能还需要重启机器。 b、使用CPAN模块自动安装:安装前需要先联上线,并且您需要取得root权限。 perl -MCPAN -e shell初次运行CPAN时需要做一些设置,如果您的机器是直接与internet相联(拨号上网、专线,etc.),那么一路回车就行了,只需要在最后选一个离您最近的CPAN镜像站点。 例如我选的是位于国内的中国自由软件库ftp:///pub/languages/perl/CPAN 。 否则,如果您的机器位于防火墙之后,还需要设置ftp代理或http代理。 获得帮助cpan>h列出CPAN上所有模块的列表cpan>m根据关键字在CPAN上查找某个模块:cpan[1]> i /scws/CPAN: Storable loaded ok (v2.20)Going to read /home/orisun//MetadataDatabase was generated on Sat, 17 Nov 2012 08:07:03 GMTDistribution XUERON/ Text::Scws (XUERON/)2 items found安装模块cpan>install DBI自动完成DBI模块从下载到安装的全过程。 退出cpan>q perldoc -f func #查看perl函数的使用方法
发表评论