⑴:当登出的时候清理KDE
⑵应用程序:bash
⑶在Windows中有很多程序会做一些清除网络缓存,移除临时文件事情。Linux上如果也可以这样是不是很cool呢?使用KDE,你甚至不需要安装任何新的软件,startkde脚本将会自动的执行你放在特殊地方的脚本。
⑷首先,你需要在你的.kde目录下创建一个命令shutdown的目录:
⑸mkdir /home/username/.kde/shutdown
⑹现在创建一个脚本,用来在关机时执行一些你想要的事情。这里是一个例子:
⑺#!/bin/bash#clear up temp folderrm -rf ~/tmp/*#clear out cachesrm -rf ~/.ee/minis/*rm -rf ~/.kde/share/cache/http/*# delete konqueror form pletionsrm ~/.kde/share/apps/khtml/formpletions
⑻现在确保你设置了正确的权限:
⑼chmod ug+x ~/.kde/shutdown/cleanup.sh
⑽(或者随便你叫它什么。可以清除敏感文件,也可以通过将脚本放在你的默认KDE文件夹中有一个名为shutdown的子文件夹里,给所有用户一个全局的关机脚本。找出你的默认KDE目录在哪里,试一下:
⑾kde-config --path exe
⑿:无密码的ssh
⒀应用程序:ssh
⒁厌烦了每次登陆你的服务器时都要输入密码?ssh也支持密钥,所以当你登陆桌面时你只能输入你的密码。在你的桌面机器上生成一个密钥对:
⒂ssh-keygen -t dsa -C your.emailddress
⒃为你的密钥输入一个口令。这会将密钥放到 ~/.ssh/id_dsa and the public key in ~/.ssh/id_dsa.pub中。现在看看你是否有了一个正在运行的ssh-agent。
⒄echo $SSH_AGENT_PID
⒅如果安装了ssh-agent,大部分窗口管理器都会自动运行它。如果没有安装,开启一个:
⒆eval $(ssh-agent
⒇现在,告诉这个代理你的密钥:
⒈然后输入你的口令。你需要在每次登陆时都输入口令,如果你是使用X,尝试添加:
⒉SSH_ASKPASS=ssh-askpass ssh-add
⒊到你的.xsession文件。(你可能需要安装ssh-askpass现在为每个你需要登入的服务器都创建这个目录 ~/.ssh,然后复制这个文件~/.ssh/id_dsa.pub into it as ~/.ssh/authorized_keys 。如果你是手动开启ssh-agent,当你登出时,使用如下代码终止它:
⒋ssh-agent -k
⒌:通过ssh使用rsync
⒍应用程序:Shell
⒎rsync使大型目录结构保持同步。通过SSH使用tar远程复制一个文件系统的一部分是非常理想的,sync甚至更适合保持两台机器之间的文件系统的同步。为了使用SSH运行一个rsyns,传递给它一个-e转换:
⒏rsync -ave ssh greendome:/home/ftp/pub/ /home/ftp/pub/
⒐注意从源端(在greendome上来的文件说明后面的 / ,在源说明中,一个尾部的 / 告诉rsync这个目录的内容,但不是目录本身。为了将目录放入正在复制的内容的最高等级丢掉这个 /:
⒑rsync -ave ssh bu:/home/six 。
⒒这将在 ~/six/目录下保持一个与bu:/home/six/上的任何东西同步的复制品。rsync默认只拷贝文件和目录,但是当源端移除了文件时并不会在目的端移除它们的拷贝。为了保持复制的精确性,包含–delete这个标志:
⒓rsync -ave ssh--delete greendome:~one/reports 。
⒔现在当老的报表从greendome上的~one/reports/中移除了,在同步版本中,每次这个命令运行时,它们也将会从~six/public_html/reports/中移除。如果你在corn中像这样运行一条命令,记得丢掉v。这将会使输出稳定(除非rsync在运行中出现问题,在这种情况下你将会收到一封有错误输出的邮件。使用SSH作为你的rsync运输方式,这样做的好处是使数据在网络传输过程中加密,并可以方便使用任何你已经用SSH客户端密钥建立的信任关系。
⒕应用程序:nmap
⒖例如,简单的TCP连接扫描可以在不需要root特权时进行:
⒗一般来说,当人们想到nmap时,都假设nmap是用来进行一些违法的网络侦查,并为恶意攻击做准备的。但是作为一个强大的工具,nmap可以成为一个白帽子,做一些比入侵网络有意义得多的事。
⒘nmap rigel
⒙nmap也可以通过指定范围或者CIDR符号来扫描IP地址:
⒚nmap ...-nmap .../
⒛nmap如果以root身份运行,可以提供更多的信息。当它以root身份运行时,通过使用-O标志,它可以使用特殊的数据包来决定远程机器的操作系统。此外,你可以通过使用-sS标志来实现半开的TCP扫描。nmap将会发送一个SYN数据包到远程的主机,然后等待接收它回应的ACK。如果nmap收到一个ACK,它就知道这个端口是开放的。
①这不同于普通的TCP三次握手,客户端会发送一个SYN包,如果它收到了初始的服务器ACK,客户端随后会将一个ACK送回服务器。攻击者们时常使用这个选项来避免使他们的扫描登陆到远程机器上。
②nmap -sS -O rigel
③Starting nmap V. . ( Interesting ports on rigel.nnc (...:(The ports scanned but not shown below are in state: filteredPort State Service/tcpopen echo /tcpopen discard /tcp open daytime /tcp open chargen /tcp open ftp /tcp open ssh /tcp open tel /tcp open smtp /tcp open time /tcp open finger /tcpopen sunrpc /tcpopen exec /tcpopen login /tcpopen shell /tcpopen submission /tcp open font-service /tcpopen sometimes-rpc /tcpopen sometimes-rpc /tcpopen sometimes-rpc /tcpopen sometimes-rpc /tcpopen sometimes-rpc Remote operating system guess: Solaris Beta through Release on SPARCUptime . days (since Sat Nov :: Nmap run pleted -- IP address ( host up scanned in seconds
④伴随着OS探测的激活,nmap可以确认OS是Solaris,但是现在你还可以知道,它可能是运行在SPARC处理器上的Version 。
⑤一个强大的功能是可以被用于和你的nmap的XML输出性能保持联系。使用-oX命令行转换而激活,就像这样:
⑥nmap -sS -O -oX scandata.xml rigel
⑦这在扫描IP地址范围或者你全部的网络时是特别有用的,你可以将所有通过扫描收集起来的信息放到一个XML文件里,并经过解析后插入到数据库中。这里是一个开放的端口的XML入口:
⑧《port protocol=“tcp” portid=“”》《state state=“open” /》《service name=“ssh” method=“table” conf=“” /》《/port》
⑨nmap是一个强大的工具。通过使用它的XML输出性能,一点点的脚本,还有一个数据库,你可以创造一个更强大的可以在你的网络上监测未授权的服务和机器的工具。
⑩:备份你的bootsector(引导扇区
Ⅰ应用程序:Shell
Ⅱ妨碍引导装入,双启动和很多其他下热闹的程序会留给你一个混乱的引导扇区。为什么不在你可以备份的时候给它创建一个备份呢:
Ⅲ引导装载器混乱、双启动及许多其他的可怕的进程可能造成乱七八糟的启动区。
Ⅳdd if=/dev/hda of=bootsector.img bs= count=
Ⅴ很显然,你应该改变这个装置来显示你的boot驱动(有可能是SCSI的sda。还要非常小心,别把事情搞砸——你可能会轻而易举地毁掉你的驱动!恢复时使用:
Ⅵdd if=bootsector.img of=/dev/hda
Ⅶ在一个入侵过程中,一个入侵者将会很可能在很多系统日志中留下能反映他行为的迹象:一个有价值的审计追踪应该被保护。没有可靠的日志,就很难发现攻击者是如何侵入,或者是从哪里来的攻击。这个信息在分析事件、联系相关方面并给予反馈上,是很关键的。但是,如果入侵成功,什么才能阻止他来移除他的这些错误行为的痕迹呢?
Ⅷ这就是文件属性能发挥作用、挽回败局的地方(或者至少使事情没那么糟。Linux和BSD都有给文件和目录分配额外的属性这个功能。这不同于标准的Unix权限方案中,系统为所有的用户提供的普遍的属性设置,而且它们比文件权限或者ACL都要更深层次影响文件访问。
Ⅸ在Linux中,你可以看到并且通过lsattr和chattr命令分别修改一个给出文件的设置。在写这篇文章时,Linux的文件属性只能在你使用ext和ext时获得。这还有些XFS和ReiserFS的关于获得属性支持的内核补丁。一个保护日志文件的有用的属性是append-only。当这个属性被设置后,文件不能被删除,而且写操作只能被允许在文件的最后追加。
Ⅹ在Linux下要设置append-only标志,运行这条命令:
㈠chattr +afilename
㈡看看+a属性是如何工作的:创建一个文件然后设置它的append-only属性:
㈢touch /var/log/logfileecho “append-only not set” 》 /var/log/logfilechattr +a /var/log/logfileecho “append-only set” 》 /var/log/logfilebash: /var/log/logfile: Operation not permitted
㈣企图第二次写文件失败,因为它将覆盖这个文件。然而,在文件的末尾追加仍然是被允许的:
㈤echo “appending to file” 》》 /var/log/logfilecat /var/log/logfileappend-only not setappending to file
㈥显而易见,一个获得root特权的侵入者能意识到使用了文件属性,并且可以通过运行chattr -a来移除append-only标志。为了防止这种情况,我们需要禁用移除append-only属性的性能,在Linux下使用功能机制完成这个。
㈦Linux功能模型分割特权给全能的root账户,并且允许你有选择的禁用它们。为了防止一个用户移除一个文件的append-only属性,我们需要移除CAP_LINUX_IMMUTABLE功能。当体现在当前运行系统中时,这个功能允许append-only属性被修改。为了当前系统中获得修改这个功能的设置,我们将简单有效地调用lcap.
㈧为了解压和编译这个工具,运行这条命令:
㈨tar xvfj lcap-...tar.bz && cd lcap-.. && make
㈩然后,不允许修改append-only标志,运行:
。/lcap CAP_LINUX_IMMUTABLE./lcap CAP_SYS_RAWIO
第一条命令移除了改变append-only标志的功能,然后第二条移除了原始I/O的功能。这是很有必要的,因为这样就能保护文件不被访问块设备时驻留在其上的东西修改。这阻止了访问/dev/mem和/dev/kmem,有可能给入侵者提供恢复CAP_LINUX_IMMUTABLE功能的漏洞。为了在boot上移除这项功能,添加之前的两条命令到你的系统启动脚本中(例如/etc/rc.local。你应该确保这个功能在boot命令中被移除了,防止其他启动脚本出问题。一旦lcap移除了内核功能,就只能通过重启系统来恢复了。
在做这些之前,你应该明白,给你的日志文件添加append-only标志,将会造成日志循环脚本失败。然而,做这件事将会极大的提升你的审计追踪的安全性。安全性的提升在突发事件中会被证明是很有用的。