提高Linux安全技巧

2016-03-13 10:24
网络安全和信息化 2016年5期
关键词:日志数据包备份

引言:提起Linux,大家都觉得其安全性很高。因为相对Windows来说,大家对Linux接触的相对较少。很多病毒、木马和黑客工具都是针对Windows进行攻击的,攻击Linux的恶意程序相对较少,似乎使用Linux后,就不必为系统安全担忧了。其实不然,Linux系统同样存在各种漏洞,黑客完全可能利用这些漏洞攻击并控制整个系统。只有经过精心的配置,消除所有安全漏洞,才可以让系统变得强壮。

在Windows中,利用系统提供的Update功能,可以执行系统的更新操作,也就是为系统打上各种补丁。与之对应,不同的Linux系统都有各自的更新程序,利用其可以自动搜索更新包并完成安装操作,将系统中的所有软件包升级到最新版本。登录密码可谓系统的第一道也是最重要的防线,如果您的Linux系统使用的是默认的空密码,而且还开 启 了Telnet、SSH等 服务的话,就等于为黑客入侵开启了大门。因此,当系统安装完毕后,必须立即更改Root等账户的密码,可以使用Passwors命令来修改密码,其使用格式为“password

账户名”。当然,只有超级用户才可以修改不同账户的密码。如果在命令行中执行“password”命令,修改的是Root账户的密码,而且密码输入时不回显的。虽然使用图形界面也可以修改密码,不过使用Linux一定要养成使用终端的习惯。对口令的保护还涉及到对“/etc/password”和“/etc/shadow”文件的保护,只有系统管理员才可以访问这两个文件。

系统的所有活动信息都会记录在日志中,如果黑客入侵了系统,其行踪自然逃不出日志的法眼。Linux的日志文件一般保存在“/var/log”目录中,在该目录下会发现名称后面带有数字的文件,这些文件是在日志文件被循环的时候创建的,因为是循环使用日志,其体积不会太大。但是,当黑客攻击系统后,往往会修改,删除日志来逃避检测。所以一定要限制“/var/log”目 录的访问权限,禁止一般权限的用户查看,修改日志内容。大部分日志使用的是纯文本模式,任何文本编辑器都可以查看其内容。当然,也可以使用系统自带的工具,例如在Redhat Linux中运行其内置的Logviewer程序,可以以图形化界面显示日志信息,其界面更加细致简洁,查看起来很方便。当然,也可以使用Logcheck这款专业工具来分析日志,该工具可以自动检查和安全相关的入侵事件以及非正常活动记录,可以有效分析各种Linux日志文件,例如“/var/log/message”、“/var/log/secure”、“/var/log/maillog”等。

当黑客入侵系统后,往往会和本机建立网络连接,或者在其中安置后门程序,来长期控制系统。在Linux中可以使用大家很熟悉的“netstat a”命令,来查看本机端口使用信息。在网络连接列表中如果发现异常的端口连接情况,就必须对系统进行安全检查了。常言道,有备则无患。当黑客入侵后,一旦将重要文件删除,就会给您造成很大的损失。因此,对重要的文件和目录进行备份,是极为重要的。使用系统自带的“tar”命令,就可以完成备份操作,其使用格式为“tar [选项] 文件或目录”,其中的选项分为主选项和辅选项,主选项是必须的,告诉tar命令执行什么动作,辅选项是可选的,例如选项“c”表示创建新的文档文件,“r”表示把要存档的文件追加到档案文件尾部,例如当备份好文件后,发现有些文件忘记备份了,可以利用该选项,将这些文件追加到备份文件中。“t”参数可以列出档案内容,“u”参数要用来更新档案文件,即使用新增的文件覆盖原备份文件,如果在档案文件中没有更新内容则执行追加操作。“f”参数表示使用档案文件,“x”参数表示释放文件。

例如,需要备份当前路径下的“data”目录,可以执行“tar-cf shuju.tar data”,将其内容被分到“shuju.tar”文件中。以后需要恢复数据时,执行“tar xvf shuju.tar”即可。对于系统中的一些重要目录,建议经常进行备份操作。例如在“/etc/password”目录中存储所有用户的信息,包括密码、登录的Shell等。在“/etc/fstab”目录中保存文件系统配置信息,在“/etc/inittab”目录中包含配置Init在不同运行级别下启动系统参数,在“/etc/hosts”目录中包含域名解析信息,在“/etc/inetd.conf”目 录中包含远程控制信息,在“/etc/printcap”目录中包含打印机通信配置信息,在“e/tc/XF86Config”目录中包含Xfree86的初始配置信息等,对于上述目录,应该定期进行备份。其实,在“/etc”目录下有很多配置文件都需要及时进行备份的。

当黑客入侵系统后,往往会在其中创建非法账户,来对系统进行深入控制。因此,对用户列表经常进行检查,及时发现并删除陌生的可疑账户,是不可忽视的安全问题。执行“cat /etc/password”命令,就可以查看账户列表信息。使用“userdel f”命令,可以删除指定的账户。例如执行“userdelf hack”命令,可以将hack账户删除,同时将其关联的目录和文件一并清除。为了提高安全性,需要在Linux中使用杀软和防火墙软件。这类安全软件有很多,例如ClamAV、Mcafee、Avast、Avria、AVG、F-PROT 等。对于防火墙软件来说,可以使用KDE自带的防火墙,虽然没有专业版防火墙功能强悍,不过对于一般用户可以满足需求。如果您没有使用KDE桌面环境,可以使用系统自带的IPTables(内核包过滤管理工具),同样可以起到防火墙的作用。其过滤流程的前提是包过滤规则必须被包过滤设备端口存储起来,当包到达端口时,对包的报头进行语法分析,大多数包过滤只检查IP、TCP、UDP报头中的字段信息。包过滤规则以特殊的方式存储,应用于包的规则的顺序与包过滤器规则存储顺序必须相同。若一条规则阻止包传输或接收,则此包便不被允许。若一条规则允许包传输或接收,则此包便可以被继续处理。若包不满足任何一条规则,则此包便被阻止。

IPTables的 用 法是“iptable [-t table]CMD[chain][rule-matcher][-j target]”,其中的“table”是表明,为 filter、nat和mangle,包过滤只使用filter表,这是默认项目。其中的“CMD”是操作命令,包括添加、删除、更新等。“chain”为链名,对于包过滤防火墙可操作filter表中的INPUT链、OUTPUT链和FORWARD链,也可以自定义链。

“Rule-matcher” 参数是规则匹配器,用来指定各种规则匹配,例如IP、PORT、包类型等。“Target”为目标动作,当规则匹配一个包时,真正要执行的任务用目标表示,最常用的内置目标为ACCEPT和DROP,当然,也可以使用扩展的目标。看起来包过滤规则很复杂,其实使用起来很简单,例如,一般用户可以充分利用syn标示来阻止未经授权的非法访问。比如当浏览网页时,系统会发送一个请求到Web服务器上,该服务器会响应该请求并发回一个数据包,同时在系统中开启一个端口。和响应请求不同,Web服务器并不关心其传输的内容,利用这个特点可以设置过滤规则,来阻止所有未经您的系统授权的TCP连接,例如执行“iptables t filter A INPUT i eth0–ptcp–syn jDROP”,其中的“-i”指的是网卡,“-p”指的是协议,“-syn”指的是带有SYN标识的TCP数据包。SYN用于初始化一个TCP连接,如果自己的电脑没有运行任何服务器软件,别人就无法向您发送SYN数据包。

如果想拦截所有发送到本机的ICMP数据包的话,可以下执行命令“iptables AINPUTpicmps0/0d0/0j DROP”。其 中的“p”参数指明控制何种网络协议,这里是ICMP协议。其中的参数“-s”表示源地址,后根“0/0”表示任何源地址,其中的“-d”参数表示目标地址,后根“0/0”表示所有的目标地址。其中的参数“j”表示对符合条件的数据包采用何种处理办法,后根“REJECT”表示拒绝该数据包。如果本机是一台Web服务器,需要阻止外部主机对本机进行访问,可以执行命令“iptables A INPUT ptcp s0/0 d0/0 dport 80 j drop”,其 中的“-dport 80”参数指明封锁本机的80端口。相反的,如果允许IP分为位“123.456.789.0/24”的外部主机访问本机所有端口,可以执行命令“iptables-A INPUT-s 123.456.789.0/24 d0/0j ACCEPT”, 其 中的“-jACCEPT”参 数 表示允许访问。当需要删除iptables创建的安全规则时,首先使用“iptables line-numbers nL”命令。来查询系统中的所有安全规则,每一条安全规则都存在一个编号,例如需要删除第9条规则,执行命令“iptables D INPUT 9”即可,其中的“-D”参数表示删除操作。当然,可以将一系列的IPTables规则放进一个初始化的Shell脚本里,并为其加上可执行属性,设置为开机运行状态,就可以组建一个功能强悍的防火墙。

猜你喜欢
日志数据包备份
“备份”25年:邓清明圆梦
VSAT卫星通信备份技术研究
二维隐蔽时间信道构建的研究*
一名老党员的工作日志
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
扶贫日志
创建vSphere 备份任务
SmartSniff
雅皮的心情日志
游学日志