linux安全 linux有必要学吗

大家好,linux安全相信很多的网友都不是很明白,包括linux有必要学吗也是一样,不过没有关系,接下来就来为大家分享关于linux安全和linux有必要学吗的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

如何确保Linux系统安全性

但由于该操作系统是一个多用户操作系统,黑客们为了在攻击中隐藏自己,往往会选择 Linux作为首先攻击的对象。那么,作为一名Linux用户,我们该如何通过合理的方法来防范Linux的安全呢?下面笔者搜集和整理了一些防范 Linux安全的几则措施,现在把它们贡献出来,恳请各位网友能不断补充和完善。 1、禁止使用Ping命令Ping命令是计算机之间进行相互检测线路完好的一个应用程序,计算机间交流数据的传输没有经过任何的加密处理,因此我们在用ping命令来检测某一个服务器时,可能在因特网上存在某个非法分子,通过专门的黑客程序把在网络线路上传输的信息中途窃取,并利用偷盗过来的信息对指定的服务器或者系统进行攻击,为此我们有必要在Linux系统中禁止使用Linux命令。在Linux里,如果要想使 ping没反应也就是用来忽略icmp包,因此我们可以在Linux的命令行中输入如下命令: echo 1>/proc/sys/net/ipv4/icmp_echo_igore_all如果想恢复使用ping命令,就可以输入 echo 0>/proc/sys/net/ipv4/icmp_echo_igore_all2、注意对系统及时备份为了防止系统在使用的过程中发生以外情况而难以正常运行,我们应该对Linux完好的系统进行备份,最好是在一完成Linux系统的安装任务后就对整个系统进行备份,以后可以根据这个备份来验证系统的完整性,这样就可以发现系统文件是否被非法修改过。如果发生系统文件已经被破坏的情况,也可以使用系统备份来恢复到正常的状态。备份信息时,我们可以把完好的系统信息备份在CD-ROM光盘上,以后可以定期将系统与光盘内容进行比较以验证系统的完整性是否遭到破坏。如果对安全级别的要求特别高,那么可以将光盘设置为可启动的并且将验证工作作为系统启动过程的一部分。这样只要可以通过光盘启动,就说明系统尚未被破坏过。 3、改进登录服务器将系统的登录服务器移到一个单独的机器中会增加系统的安全级别,使用一个更安全的登录服务器来取代Linux自身的登录工具也可以进一步提高安全。在大的Linux网络中,最好使用一个单独的登录服务器用于syslog服务。它必须是一个能够满足所有系统登录需求并且拥有足够的磁盘空间的服务器系统,在这个系统上应该没有其它的服务运行。更安全的登录服务器会大大削弱入侵者透过登录系统窜改日志文件的能力。 4、取消Root命令历史记录在Linux下,系统会自动记录用户输入过的命令,而root用户发出的命令往往具有敏感的信息,为了保证安全性,一般应该不记录或者少记录root的命令历史记录。为了设置系统不记录每个人执行过的命令,我们可以在Linux的命令行下,首先用cd命令进入到/etc命令,然后用编辑命令来打开该目录下面的profile文件,并在其中输入如下内容: HISTFILESIZE=0

HISTSIZE=0当然,我们也可以直接在命令行中输入如下命令: ln-s/dev/null~/.bash_history5、为关键分区建立只读属性Linux的文件系统可以分成几个主要的分区,每个分区分别进行不同的配置和安装,一般情况下至少要建立/、/usr/local、/var和/home等分区。/usr可以安装成只读并且可以被认为是不可修改的。如果/usr中有任何文件发生了改变,那么系统将立即发出安全报警。当然这不包括用户自己改变/usr中的内容。/lib、/boot和/sbin的安装和设置也一样。在安装时应该尽量将它们设置为只读,并且对它们的文件、目录和属性进行的任何修改都会导致系统报警。当然将所有主要的分区都设置为只读是不可能的,有的分区如/var等,其自身的性质就决定了不能将它们设置为只读,但应该不允许它具有执行权限。 6、杀掉攻击者的所有进程假设我们从系统的日志文件中发现了一个用户从我们未知的主机登录,而且我们确定该用户在这台主机上没有相应的帐号,这表明此时我们正在受到攻击。为了保证系统的安全被进一步破坏,我们应该马上锁住指定的帐号,如果攻击者已经登录到指定的系统,我们应该马上断开主机与网络的物理连接。如有可能,我们还要进一步查看此用户的历史记录,再仔细查看一下其他用户是否也已经被假冒,攻击者是否拥有有限权限;最后应该杀掉此用户的所有进程,并把此主机的IP地址掩码加入到文件hosts.deny中。 7、改进系统内部安全机制我们可以通过改进Linux操作系统的内部功能来防止缓冲区溢出,从而达到增强Linux系统内部安全机制的目的,大大提高了整个系统的安全性。但缓冲区溢出实施起来是相当困难的,因为入侵者必须能够判断潜在的缓冲区溢出何时会出现以及它在内存中的什么位置出现。缓冲区溢出预防起来也十分困难,系统管理员必须完全去掉缓冲区溢出存在的条件才能防止这种方式的攻击。正因为如此,许多人甚至包括 Linux Torvalds本人也认为这个安全Linux补丁十分重要,因为它防止了所有使用缓冲区溢出的攻击。但是需要引起注意的是,这些补丁也会导致对执行栈的某些程序和库的依赖问题,这些问题也给系统管理员带来的新的挑战。 8、对系统进行跟踪记录为了能密切地监视黑客的攻击活动,我们应该启动日志文件,来记录系统的运行情况,当黑客在攻击系统时,它的蛛丝马迹都会被记录在日志文件中的,因此有许多黑客在开始攻击系统时,往往首先通过修改系统的日志文件,来隐藏自己的行踪,为此我们必须限制对/var/log文件的访问,禁止一般权限的用户去查看日志文件。当然,系统中内置的日志管理程序功能可能不是太强,我们应该采用专门的日志程序,来观察那些可疑的多次连接尝试。另外,我们还要小心保护好具有根权限的密码和用户,因为黑客一旦知道了这些具有根权限的帐号后,他们就可以修改日志文件来隐藏其踪迹了。 9、使用专用程序来防范安全有时,我们通过人工的方法来监视系统的安全比较麻烦,或者是不周密,因此我们还可以通过专业程序来防范系统的安全,目前最典型的方法为设置陷井和设置蜜罐两种方法。所谓陷井就是激活时能够触发报警事件的软件,而蜜罐(honey pot)程序是指设计来引诱有入侵企图者触发专门的报警的陷井程序。通过设置陷井和蜜罐程序,一旦出现入侵事件系统可以很快发出报警。在许多大的网络中,一般都设计有专门的陷井程序。陷井程序一般分为两种:一种是只发现入侵者而不对其采取报复行动,另一种是同时采取报复行动。 10、将入侵消灭在萌芽状态入侵者进行攻击之前最常做的一件事情就是端号扫瞄,如果能够及时发现和阻止入侵者的端号扫瞄行为,那么可以大大减少入侵事件的发生率。反应系统可以是一个简单的状态检查包过滤器,也可以是一个复杂的入侵检测系统或可配置的防火墙。我们可以采用诸如Abacus Port Sentry这样专业的工具,来监视网络接口并且与防火墙交互操作,最终达到关闭端口扫瞄攻击的目的。当发生正在进行的端口扫瞄时,Abacus Sentry可以迅速阻止它继续执行。但是如果配置不当,它也可能允许敌意的外部者在你的系统中安装拒绝服务攻击。正确地使用这个软件将能够有效地防止对端号大量的并行扫瞄并且阻止所有这样的入侵者。 11、严格管理好口令前面我们也曾经说到过,黑客一旦获取具有根权限的帐号时,就可以对系统进行任意的破坏和攻击,因此我们必须保护好系统的操作口令。通常用户的口令是保存在文件/etc/passwd文件中的,尽管/etc/passwd是一个经过加密的文件,但黑客们可以通过许多专用的搜索方法来查找口令,如果我们的口令选择不当,就很容易被黑客搜索到。因此,我们一定要选择一个确保不容易被搜索的口令。另外,我们最好能安装一个口令过滤工具,并借用该工具来帮助自己检查设置的口令是否耐得住攻击。

Linux中的几种安全防护技术

系统安全性对于用户来说至关重要,Linux用户也不例外。笔者就自己使用Linux的经历,总结了一些增强Linux安全

防护的小窍门,在此介绍给大家。

1.为LILO增加开机口令

----在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全性。具体设置如下:

----boot=/dev/hda

----map=/boot/map

----install=/boot/boot.b

----time-out=60#等待1分钟

----prompt

----default=linux

----password=

----#口令设置

----image=/boot/vmlinuz-2.2.14-12

----label=linux

----initrd=/boot/initrd-2.2.14-12.img

----root=/dev/hda6

----read-only

----此时需注意,由于在LILO中口令是以明码方式存放的,所以还需要将

----lilo.conf的文件属性设置为只有root可以读写。

----# chmod 600/etc/lilo.conf

----当然,还需要进行如下设置,使

----lilo.conf的修改生效。

----#/sbin/lilo-v

2.设置口令最小长度和

----最短使用时间

----口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,

可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN。同时应限制口令使

用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS。

3.用户超时注销

----如果用户离开时忘记注销账户,则可能给系统安全带来隐患。可修改/etc/profile文件,保证账户在一段时间

没有操作后,自动从系统注销。

----编辑文件/etc/profile,在“HISTFILESIZE=”行的下一行增加如下一行:

----TMOUT=600

----则所有用户将在10分钟无操作后自动注销。

4.禁止访问重要文件

----对于系统中的某些关键性文件如inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通

用户查看。

----首先改变文件属性为600:

----# chmod 600/etc/inetd.conf

----保证文件的属主为root,然后还可以将其设置为不能改变:

----# chattr+i/etc/inetd.conf

----这样,对该文件的任何改变都将被禁止。

----只有root重新设置复位标志后才能进行修改:

----# chattr-i/etc/inetd.conf

5.允许和禁止远程访问

----在Linux中可通过/etc/hosts.allow和/etc/hosts.deny这2个文件允许和禁止远程主机对本地服务的访问。

通常的做法是:

----(1)编辑hosts.deny文件,加入下列行:

----# Deny access to everyone.

----ALL: ALL@ALL

----则所有服务对所有外部主机禁止,除非由hosts.allow文件指明允许。

----(2)编辑hosts.allow文件,可加入下列行:

----#Just an example:

----ftp: 202.84.17.11 xinhuanet.com

----则将允许IP地址为202.84.17.11和主机名为xinhuanet.com的机器作为Client访问FTP服务。

----(3)设置完成后,可用tcpdchk检查设置是否正确。

6.限制Shell命令记录大小

----默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默

认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。

----您可以编辑/etc/profile文件,修改其中的选项如下: HISTFILESIZE=30或HISTSIZE=30

7.注销时删除命令记录

----编辑/etc/skel/.bash_logout文件,增加如下行:

----rm-f$HOME/.bash_history

----这样,系统中的所有用户在注销时都会删除其命令记录。

----如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history

文件,增加相同的一行即可。

8.禁止不必要的SUID程序

----SUID可以使普通用户以root权限执行某个程序,因此应严格控制系统中的此类程序。

----找出root所属的带s位的程序:

----# find/-type f−perm−04000−o−perm−02000-print|less

----禁止其中不必要的程序:

----# chmod a-s program_name

9.检查开机时显示的信息

----Linux系统启动时,屏幕上会滚过一大串开机信息。如果开机时发现有问题,需要在系统启动后进行检查,可输

入下列命令:

----#dmesg>bootmessage

----该命令将把开机时显示的信息重定向输出到一个文件bootmessage中。

10.磁盘空间的维护

----经常检查磁盘空间对维护Linux的文件系统非常必要。而Linux中对磁盘空间维护使用最多的命令就是df和du了。

----df命令主要检查文件系统的使用情况,通常的用法是:

----#df-k

----Filesystem 1k-blocks Used Available Use% Mounted on

----/dev/hda3 1967156 1797786 67688 96%/

----du命令检查文件、目录和子目录占用磁盘空间的情况,通常带-s选项使用,只显示需检查目录占用磁盘空间的总计,

而不会显示下面的子目录占用磁盘的情况。

----% du-s/usr/X11R6/*

----34490/usr/X11R6/bin

----1/usr/X11R6/doc

----3354/usr/X11R6/include

Linux系统安全吗

我只想说你所谓的BUG真让人哭笑不得。操作系统至少要对一个用户透明以便对系统的维护管理和运营,否则全是低级用户,系统就是一个黑箱,谁都看不见里面,有问题和冲突也没法看见没法处理。就算你真的删除了超级用户,那么对系统的开发者来说,系统依然是透明的,就不怕他们偷窥你?难不成把他们消灭掉?

Linux本身是一个优秀安全的系统,我作为超级管理员,可以修改删除普通用户的口令,甚至删除他的账户。但普通用户也可以有他自己的私密文件,我只能删除,却不能查看或更改。当然我可以利用黑客手段对用户的加密文件进行破解,但这就是另一回事,任何操作系统都无法拒绝黑客,普通用户一样可以利用黑客手段窃取他人的加密信息。

互联网上的数据传输都是加密进行的,尤其是存储在网站服务器上的私人资料更是加强保护的。至于有些网站使用明文存储用户资料,或是使用低强度的加密算法,这只能怪网站的做法不好,不能说Linux系统不好,换Windows也是这样的。

网络的信息安全本身就是有限度的,其依赖于使用者,管理者的素质,网络结构,网络服务机制,传输手段,法制规范等等。不可以偏概全,杞人忧天。

阅读剩余
THE END