Anyway,we should move on…
怎么样在红帽企业Linux2.1上配置VNC?
怎样配置VNC服务器使其能在红帽企业Linux3系统引导时自动启动?
怎么样在红帽企业Linux2.1上配置VNC?
解决方法:1. 首先,我们需要查看是否已经安装了需要的VNC包。作为根用户,运行这个命令:
rpm -qa | grep vnc
如果RPM命令的输出有vnc-doc, vnc-server和vnc,到第二步。如果RPM命令没有输出,运行这个命令来安装需要的包,然后到第二步:
up2date vnc vnc-server vnc-doc
这里假设你的系统已经注册到红帽网络(RHN)并且你有一个活跃的授权。否则,你需要从安装介质中安装RPM包。
2. 作为VNC的用户登陆,或者切换成该用户(用 su - username )。如果VNC需要被配置成多用户,重复步骤2到4, 当所有用户都被设置好后,执行第五步。
3. 执行这个命令,用一个大于零的数字代替Z。
vncserver :Z
linux系统root用户可强制踢制其它登录用户,首先可用w命令查看登录用户信息,显示信息如下:
16:15:11 up 210 days, 12:17, 2 users, load average: 0.13, 0.15, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU [...]
grub和windows2000的恢复历程
本人使用的是华硕Z9100L笔记本,三星40G硬盘,256M内存,安装了win2000和ubuntu5.1双系统,在用sysv-rc-conf对ubuntu系统启动选项进行配置时,不知怎么把原先win2k系统的c盘引导搞坏了,最后连MBR上的grub也被改得一塌糊涂,所以只好想办法抢救……
先安装win2k再安装Ubuntu5.1,一切正常!但不满意ubuntu缓慢的启动和启动时加载的一些无聊无用又耗资源的服务,于是参照网上Ubuntu启动优化的文章进行配置。由于有些服务不清楚其用途,只好慢慢参照网文尝试:下载了sysv-rc-conf,sudo运行更改配置,关闭一些不必要的服务,正当高兴之际,却发现原先自动加载的windows分区c盘不见了,好像关闭过lvm和evms(企业卷管理服务,应该可以不用吧?);重启进win2k分区看看,My God,完蛋了,进不去了!
哦,应该是mbr的分区信息被破坏吧,想办法修修,win2k不想重装。于是跑到新立得软件包管理其中找到testdisk工具(此时ubuntu正常,grub正常,只是windows进不去),貌似不错;sudo一下,恩,分区信息能认出来,但提示mbr有错误,采用testdisk的advanced选项进去,然后backup BS一下,在Dump,发现mbr的0×55aa标志都没了,内容也被改了,只好rebuild一下,重启……焦急等待一分多钟之后,发现还是不行,没办法,继续用testdisk重写一下MBR,结果……555,grub都没了,加上win2k无法启动,整个机子就无法启动。
没办法,准备先修复windows2000启动再看看能否修复ubuntu和grub,采用win98启动光盘启动,》fdisk /mbr一下,哈哈,MBR总归还能修复的,不过还是无法启动,只是在DOS下能认出原先windows的三个盘。没办法,》sys c: 一下,呵呵,结果硬盘能启动了,不过是“熟悉”的win98界面,然后进入dos;没办法,找来win2k安装盘,修复安装一下,哈,三四十分钟后,久违的win2k终于启动起来了,一切正常,还好,哈哈。 现在开始修复Grub和Ubuntu启动,网上搜到关于Grub修复的文章,哈,还真管用,不过不能完全照搬而已,下面详细记录一下grub的一些常用命令和常识:
(一)、分区映射关系:
1、(fd0)——>代表软盘,一般不用:)
2、(hd0)——>第一个硬盘,即linux下的/dev/hda ;3、(hd0,3)——>/dev/hda4 (hd0,x)->x为分区号减一,即(hd0,0)代表/dev/hda1,(hd0,1)代表/dev/hda2 ……
(二)、手工启动Ubuntu
由于硬盘已无法启动需要借助光盘,幸好手头有Ubuntu的 LiveCD,这次派上用场了,哈哈(没有的也可以找有grub启动的光盘或Linux安装盘进行Linux rescue启动进去)。
在启动grub时安e进入grub>命令行界面,然后看看原先的grub配置文件:
grub>cat (hd0,3)/boot/grub/menu.lst #看一下原先的配置文件,我的linux安装在/dev/hda4分区上,所以是(hd0,3)。
我的menu.lst配置部分如下:
#配置文件内容my menu.lst main content—— (some default options and description here) ##
## End Default Options ##
title Ubuntu, kernel 2.6.12-10-686 root (hd0,3)
kernel /boot/vmlinuz-2.6.12-10-686 root=/dev/hda4 ro quiet splash initrd [...]
1.使用急救盘组进行维护
急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具。用它可以独立启动和运行一个完整的Linux系统。实际上,急救盘组中的第二张盘上就有一个完整的Linux系统,包括root文件系统;而第一张盘则存放了可启动的内核。
使用急救盘组维护系统很简单。只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户。为了能访问硬盘上的文件,需要手工安装硬盘文件系统。例如用下面的命令可在/mnt目录中安装/dev/hda2盘上的ext2fs类型的Linux文件系统:
# monut -t ext2/dev/hda2/mnt
注:现在根目录是急救盘上的根目录。为了访问硬盘文件系统中的文件,必须先把它安装到某个目录下,如果将硬盘上文件系统安装在/mnt目录下,则硬盘上原来的/etc/passwd文件的路径就是/mnt/etc/passwd。
2.文件系统被破坏时的处理方法
当文件系统被破坏时,如果使用的是ext2fs类型的文件系统,就可从软盘运行e2fsck命令来修正文件系统中被损坏的数据。对于其他类型的文件系统,可以使用相应的fsck命令。当从软盘上检查文件系统时,最好不要用mount命令安装。
注:文件系统被破坏的常见原因是超级块被损坏,超级块是文件系统的“头部”。它包含文件系统的状态、尺寸和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了文件系统的超级块分区中),那么Linux可能会完全不识别该文件系统,这样也就不能安装它了,即使采用e2fsck命令也不能处理这个问题。
不过,ext2fs类型的文件系统将超级块的内容进行了备份,并存放于驱动程序的块组(block group)边界。可以用如下的命令通知e2fsck使用超级块的备份:
# e2fsck -b 8193
-b 8193选项用于显示存放在文件系统中的8193块的超级块的备份数据。
3.恢复丢失的文件
如果不小心删除了重要的文件,还可以将相应的文件从急救盘复制到硬盘上。例如,删除了文件/bin/login,此时系统无法正常运行到登录界面,可以用急救盘组启动系统,将硬盘文件系统安装到/mnt目录下,然后使用下述命令:
#cp -a /bin/login /mnt/bin
“-a”选项用于告诉cp在拷贝时保持文件的访问权限。 当然如果被删除的基本文件不在“急救盘组”中,也就不能用这种方法了。如果以前做过系统备份的话,那么就只有用以前的备份来恢复了。
4.函数库破坏时的处理方法
如果不小心将系统函数库文件破坏了,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无法执行。最简单的解决办法是用急救盘组启动系统,在/mnt目录中安装硬盘文件系统,然后修复/mnt/lib目录下的库。
5.无法用root账号登录系统
由于系统管理员的疏忽,或者由于系统受到黑客的入侵,系统管理员可能无法用root帐号登录系统。
对于第1种情况,可能是系统管理员忘记了root密码,用急救盘组就可以解决问题。
对于第2种情况,由于很可能是密码被黑客修改了,因此系统管理员无法进入系统,也就是说,Linux系统完全失去了控制,因此应尽快重新获得系统的控制权。在取得 root权限后,还应检查系统被破坏的情况,以防被黑客再次入侵。需要做的最主要的工作就是重新设置root的密码,获得Linux操作系统的控制权。首先用急救盘组启动系统,然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件,将其对应于root账户的一行加密口令域置空,如下所示:
root::0:0:root:/root:bin/bash
注:如果系统使用 shadow工具,就需要对文件/etc/shadow进行上述的操作,使root登录系统不需要口令。
这样,root账户就没有口令了。当重新从硬盘启动Linux系统时,就可以用root账户登录(系统不会要求输入密码)。进入系统后,再用命令passwd设置新的口令。
6.系统不能启动
一般来说,如果系统管理员不能正常进入系统,就需要考虑使用急救盘组进入急救模式排除系统的故障。但在没有制作急救盘组的情况下,Linux系统不能启动,该怎么办呢?
在个人计算机使用 Linux系统时,通常都是Linux和MS Windows 9X或MS Windows NT并存的。
由于重新安装其他的操作系统,经常会导致原有的Linux不能启动。这主要是因为,这些操作系统默认为计算机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),覆盖掉了Linux的LILO系统引导程序。
如果有急救盘组,那么很简单,用第一张启动盘启动硬盘的Linux系统,重新运行LILO命令,就可以将LILO系统引导程序写回硬盘的主引导记录,再次开机即可。
如果没有系统启动盘,如果知道Linux在硬盘上的确切安装分区,且有loadlin程序,就可以重新返回Linux。loadlin是DOS下的程序,运行它可以从DOS下直接启动Linux,快速进入Linux环境。在 Red Hat Linux 6.0光盘的 dosutil目录下就有这个程序。除此之外,还需要一个 Linux启动内核的映像文件vmlinuz,在 Red Hat linux 6.0光盘的 images目录下就有这个文件。
例如,在Windows 98系统下面,进入DOS的单用户模式,然后运行下述的loadlin命令,即可重新进入Linux系统:
loadlin vmlinuz root=/dev/hda8
/dev/hda8是Linux的root文件系统所在的硬盘分区位置。命令执行后,就开始引导Linux系统。用root身份登录后,运行LILO命令,则重新将LILO装入MBR,回到以前多操作系统并存使用的状态。
7.处理不正常关机引起的故障
如果Linux不正常关机,有可能导致不能进入Linux的KDE环境而只能处于控制台环境下,而且不断地有大片大片的英文字符向上翻滚。以root身份login后,键入startx命令,出现“x server不能连接”的错误提示。
这时可以在控制台下,键入setup,出现系统设置菜单,选择其中的“X窗口设置”,然后依照提示正确设置显示器的类型、刷新频率、显存大小、分辨率等。如果一切无误,系统会自动启动X Windows系统,一切便OK了!需要注意的一点是:在用setup进行设置时,可能还会有大片大片的英文字符向上翻滚,请不要惊慌,看清屏幕,继续使用TAB键或方向键,马上便会“柳暗花明”的。
攻入Linux系统后,很多入侵者往往就开始得意忘形了。这其中还有一个原因,就是技术性也要求更高了。下面,我们来看看一些常用的经典工具。 1、从这里延伸:后门和连接工具
(1)Httptunnel
Tunnel的意思是隧道,通常HTTPTunnel被称之为HTTP暗道,它的原理就是将数据伪装成HTTP的数据形式来穿过防火墙,实际上,它是在HTTP请求中创建了一个双向的虚拟数据连接来穿透防火墙。说得简单点,就是说在防火墙两边都设立一个转换程序,将原来需要发送或接受的数据包封装成HTTP请求的格式骗过防火墙,所以它不需要别的代理服务器而直接穿透防火墙。
HTTPTunnel包括两个程序:htc和hts,其中htc是客户端,而hts是服务器端,我们现在来看看我是如何用它们的。比如开了FTP的机器的IP是192.168.10.231,本地机器IP是192.168.10.226,因为防火墙的原因,本地机器无法连接到FTP上。怎么办?现在就可以考虑使用HTTPTunnel了。过程如下:
第一步:在本地机器上启动HTTPTunnel客户端。用Netstat看一下本机现在开放的端口,会发现8888端口已在侦听。
第二步:在对方机器上启动HTTPTunnel的服务器端,并执行命令“hts -f localhost:21 80”,这个命令的意思是说,把本机的21端口发出去的数据全部通过80端口中转一下,并且开放80端口作为侦听端口,再用Neststat看一下他的机器,就会发现80端口现在也在侦听状态。
第三步:在本地机器上用FTP连接本机的8888端口,会发现已经连上对方的机器了。那么,为什么人家看到的是127.0.0.1,而不是192.168.10.231呢?因为我们现在是连接本机的8888端口,防火墙肯定不会有反应,如果没往外发包,局域网的防火墙肯定就不知道了。现在连接上本机的8888端口以后,FTP的数据包不管是控制信息还是数据信息,都被htc伪装成HTTP数据包然后发过去,在防火墙看来,这都是正常数据,相当于欺骗了防火墙。
需要说明的是,这一招的使用需要其他机器的配合,就是说要在他的机器上启动一个hts,把他所提供的服务,如FTP等重定向到防火墙所允许的80端口上,这样才可以成功绕过防火墙!肯定有人会问,如果对方的机器上本身就有WWW服务,也就是说他的80端口在侦听,这么做会不会冲突?HTTPTunnel的优点就在于,即使他的机器以前80端口开着,现在也不会出现什么问题,重定向的隧道服务将畅通无阻!
(2)Tcp_wrapper
Tcp_wrapper是Wietse Venema开发的一个免费软件。Tcp_wrapper的诞生有个小小的故事,大约1990年,作者所在大学的服务器屡屡受到一个外来黑客侵入,因为受害主机的硬盘数据屡次被rm -rf/命令整个抹掉,所以找寻线索极为困难,直到有一天晚上作者在工作的过程中无意中发现这个黑客在不断的finger 受害主机、偷窥受害者的工作。于是,一个想法诞生了:设计一个软件,使它可以截获发起finger请求的IP,用户名等资料。Venema很快投入了工作,而Tcp_wrapper也由此诞生!此后,Tcp_wrapper随着广泛的应用逐渐成为一种标准的安全工具。通过它,管理员实现了对inetd提供的各种服务进行监控和过滤。
Tcp_wrapper编译安装成功后,会生成一个tcpd程序,它可以在inetd.conf这个控制文件中取代in.telnetd的位置,这样,每当有telnet的连接请求时,tcpd即会截获请求,先读取管理员所设置的访问控制文件,合乎要求,则会把这次连接原封不动的转给真正的in.telnetd程序,由in.telnetd完成后续工作。如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供telnet服务。Tcp_wrapper访问控制的实现是依靠两个文件:hosts.allow,hosts.deny来实现的。如果我们编辑/etc/syslog.conf文件时,加入了日志纪录功能,即:
#tcp wrapper log
local3.info /var/log/tcplog
编辑结束后,保存文件,在/var/log下会生成tcplog文件,注意这个文件的读写属性, 应该只对root有读写权限。然后ps -ef | grep syslogd,找出syslogd的进程号,kill -HUP 重启syslogd进程使改动生效。 在这里,我们可以预先看一看以后生成的tcplog文件内容,如下:
Jul 31 22:00:52
www.test.org in.telnetd[4365]: connect from 10.68.32.1
Jul 31 22:02:10 www.test.org in.telnetd[4389]: connect from 10.68.32.5
Jul 31 22:04:58 www.test.org in.ftpd[4429]: connect from 10.68.32.3
Aug 2 02:11:07 www.test.org in.rshd[13660]: connect from 10.68.32.5
Aug 2 02:11:07 www.test.org in.rlogind[13659]: connect from 10.68.32.1 从上面我们可以看到,在安装了Tcp_wrapper的主机上,系统的每一次连接,Tcp_wrapper都做了纪录,它的内容包括时间、服务、状态、ip等,对攻击这有很大的参考价值,不过,一定要记得清除日志了。
(3)rootkit工具:LRK
Rootkit出现于二十世纪90年代初,它是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。通常,攻击者通过远程攻击或者密码猜测获得系统的访问权限。接着,攻击者会在侵入的主机中安装rootkit,然后他会通过rootkit的后门检查系统,看是否有其他的用户登录,如果只有自己,攻击者就开始着手清理日志中的有关信息。通过rootkit的嗅探器获得其它系统的用户和密码之后,攻击者就会利用这些信息侵入其它的系统。
如果攻击者能够正确地安装rootkit并合理地清理了日志文件,系统管理员就会很难察觉系统已经被侵入,直到某一天其它系统的管理员和他联系或者嗅探器的日志把磁盘全部填满,他才会察觉已经大祸临头了。不过,在系统恢复和清理过程中,大多数常用的命令例如ps、df和ls已经不可信了。许多rootkit中有一个叫做FIX的程序,在安装rootkit之前,攻击者可以首先使用这个程序做一个系统二进制代码的快照,然后再安装替代程序。FIX能够根据原来的程序伪造替代程序的三个时间戳(atime、ctime、mtime)、date、permission、所属用户和所属用户组。如果攻击者能够准确地使用这些优秀的应用程序,并且在安装rootkit时行为谨慎,就会让系统管理员很难发现。
下面我们介绍一个非常典型的针对Linux系统的LRK版本6。Linux Rootkit 6是一个开放源码的rootkit,经过多年的发展,Linux Rootkit的功能越来越完善,具有的特征也越来越多。下面我们简单地介绍一下Linux [...]
OpenLDAP 2.1 管理员指南,写的非常详细,原来是E文的,而这是经过汉化后的。LDAP代表轻型目录访问协议。正如名字中表示的,它是一个用来访问目录服务,尤其是基于X.500的目录服务的轻型协议。LDAP运行在TCP/IP协议或者其他的面向连接的传输服务之上。LDAP的详细本质在RFC2251“轻型目录访问协议(V3)”中定义。本部分从用户的角度给出了LDAP的概述。
查看详细:http://i18n.linux.net.cn/others/OpenLDAP2.htm
ttii写著 ‘用了linux也有些时候了,终于决定写一点东西,给大家共勉,起到互相交流之目的。
写这篇文章是针对使用linux的管理员,爱好者,对linux安全性很关心的同僚们,希望对大家有所帮助。
用了linux也有些时候了,终于决定写一点东西,给大家共勉,起到互相交流之目的。
写这篇文章是针对使用linux的管理员,爱好者,对linux安全性很关心的同僚们,希望对大家有所帮助,
废话就不多说了,进入正题吧 ..
再说安全设置之前,我想先说说关于发行版和安装的问题,对于发行版,我相信大都知道,linux发行版实在是太多了我也不止一次在很多网站的文章,很多书籍上看到过议论那种发行版是最好的,其实我个人认为,在linux世界中,没有最好的这种说法,只要自己习惯,熟悉的一种版本,那么我就可以说他是最好的,写这篇文章,我也试着找了很多资料,试图找到一个大家都觉得常用的,熟悉的,最后,我觉得redhat linux真的很不错,虽然它的内核比较庞大,而且效率不使所有发行版中最高的,但是它的普遍性,易用性和软件升级支持,应用软件支持方面是值得提出的,这些发面也正是一个好的linux发行版需要具有的 这篇文章建立在redhat linux 7.3版之上,所有的软件设置均在这个版本上测试通过。
说到这里,可能大家要问,为什么我要用redhat 7.3现在不是有很多吗,就redhat来说就有redhat 8.0, redhat 9.0还有什么redhat 高级企业版,等等。这么多新的东西为什么不用呢?这个问题问得很好,这正是我要说的安装和选择发行版是要注意的一点。
1、版本的选择
我使用redhat也有很长时间了,个人认为,redhat的.0版本都属于大版本升级的第一个版本,这个版本往往很多软件包不是很稳定,而且容易出现故障,对于管理员来说linux绝大部分是用来作为服务器使用的,那么要最为服务器,最最大的首要问题就是稳定,其次最重要的也是安全,所以如果你是管理员,而非狂热的爱好者,发烧友,我建议你选择redhat 7.3,redhat 的版本号,后面跟了小版本号的就是软件包有很多更新和修改的,虽然这个更新可能不是最新,但是至少它是这个稳定版本中最新最稳定的,不知大家理解这个问题没有,后面我将详细介绍一下版本的升级问题,那里我将会说明这个理论。
2、安装方式
选择好了安装发行版,那么我们就开始安装了,其实安装的时候只有几个需要注意的地方,其一就是分区,其二就是安装的软件包
分区的讲究就是你需要针对你的应用来规划分区,过去看过很多论述linux是否有一个最佳的分区方案,虽然很多人也提出了很多优秀的分区方案,但是我觉得还是需要更具自己的应用作的分区才是最佳的分区,下面各个分区方案,但是纯属建议,还是要更具自己的需要来作。
个人认为,标准的服务器,至少扩常用的分区,因此建议将硬盘划分为以下的样子,/boot swap / /var /usr /home /tmp
大小更具自己的应用来,/不能小于1G,/usr 和 /var都要大一点,因为大部分软件在里面,其他几个更具需要来,说到swap我想关于这个区的大小争议也比较大,我在综合了很多朋友的意见后,总结出一条规则,如果你的内存小于1G那么分为内存的2倍,如果大于1G那么就分最大2G的swap,这样做是为什么呢?因为swap大家都知道,是虚拟内存的空间,小了又不能发挥最好的作用,大了又浪费空间,这个大小是具体的理由就是,内存大的话,那么应用程序占用的虚拟空间就小,但是为了完全满足服务器的内存需要,据很多朋友的经验,还有我切身的体验,这种分法可以说是一个最佳的方案了,特别对于数据库等大型应用程序的内存需要来讲,而且很多服务器的内存都是1G-2G左右。
安装软件包,讲究的是安装得越少越精越好,但是redhat开始安装的时候,作为一个服务器,下面的几个软件包组需要选择
Networ support(网络支持)
Messaging and web tools(可选择安装,一些联网的工具如ncftp等)
Router/Firewall(防火墙软件,需要安装,但是他有一点不好把ipchian,iptables,ipwf等都安装了,后面将解释如何删除)
Network managed workstation(管理用工具)
Utilities(常用工具,备份工具等)
虽然我们现在安装是简单的选择了这几个软件包组,我们在后面的安全设置时将会删除一些不用的包,这将在后面说。
3、更新软件
虽然redhat 7.3是更新过的版本,但是其中还有很多软件包有漏洞,其中最大的漏洞就是2.4.18的一个漏洞,它会导致ext3文件系统崩溃,我就遇到过很几次(据ext3开发小组称,这种现象是在特定的操作和条件下才会产生的,一般用户很少出现这种现象),虽然很多现在已近解决这个问题,但是7.3没有更新内核的话还是不稳定的,更新有两种方式,一种时下在更新的软件包手动的用rpm –Uvh 来更新,另外一种也是我推荐的方式,使用up2date来更新,这可是一个好东西,它能很方便的更新你的系统,而且是更具你安装的软件包来更新的,他不会把bind8更新为bind9,不会把redhat 7.3更新到redhat 9.0,这样就确保了你目前使用的版本的稳定性和完整性,它只是针对这个版本的软件包进行了修正,版本号一般就是这样变得,比如iptables ,7.3的rpm 版本是1.2.5那么更新后就是1.2.8修正了很多漏洞错误,但是并没有作大的调整,确保了你的使用和与应用程序的兼容性。
Up2date的使用,在自动升级之前,建议几个操作,
第一个,由于redhat 7.3版自带的up2date有SSL的bug,因此,需要取下在一个最新的up2date来更新,下载地址
https://rhn.redhat.com/errata/RHSA-2003-267.html
第二个,一般来说,我们都不希望up2date自动更新内核,然后内核的更新直接解决很多重大漏洞,特别是新安装的redhat 7.3就有ext3崩溃的漏洞因此,我建议大家自己先手工升级内核,当然使用rpm 包来升级,这样节约很多时间,开始我就说过,虽然redhat不是效率最高的,但是确实做得最普遍的一个系统,rpm的方便就完全体现了这点优势,redhat 7.3内核的下载地址
http://updates.redhat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i386.rpm
http://updates.redhat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i586.rpm
http://updates.redhat.com/7.3/en/os/i386/kernel-2.4.20-20.7.i686.rpm
对于你自己的系统,你可以用uname –a看看目前的是i386还是i686然后根据这个来选择下载的内核升级包
建议最好使用rpm –ivh 来升级,这样可以保留原来的内核,确保没有问题再将原来内核rpm –e掉,这个rpm包非常简单甚至你不用修改你的lilo.conf或者grub.conf的配置文件,它自动给你加入了,你需要做的就是重起然后选择新的
内核启动就行了
做完了内核的升级,用新内核重起后就是up2date的时候了
运行rhn_register随便注册一个号码(这个要保密哦,我自己研究的,rhn网络的升级实际上是收费的服务,但是一个邮箱一个账号是免费的,但是一个账号只有一个升级系统的权限,你可以通过rhn的网络来登录修改这个权限给其他的机器,不过这样太麻烦了,而且redhat7.3的升级基本上稳定了,只需要在安装第一次升级一下就行了,所以我们就随便注册帐号来升级下:P)根据提示,它默认选择了你机器上所有的包,为你升级,没关系,一路next最后finish然后回到控制台,接下来就是激动人心的升级了,运行命令
up2date –u
就开始升级了,这个过程看你的网络了,大约有1小时左右
它会自动为你下载安装,虽然不用重起,但是建议你还是重起一下,确保新内核和新的软件包能够正确使用
到此为止,系统更新就做完了,下面就是比较重要的安全设置了
4、安全设置
其实linux的安全已经比较好了,我们做得初浅的安全讨论,无非就是关闭服务,设置一定的防火墙,如果大家对防黑客和高级的安全设置感兴趣的话,那么请关注我下几篇文章,我将向大家介绍有关简单的IDS等等防黑技术,谢谢
关闭不用的服务,这个问题,很多文章都提出过,我个人认为最有效的关闭方法如下,大家都知道,linux中控制服务的有chkconfig ,ntsysv等等,其实这些工具控制的服务都是linux已sysV的风格保存的服务启动项目,其实都是/etc/rc.d/下面的东西,已rc3.d为例,3表示init3时要做的项目,里面的文件都是一些连接,S开头表示启动,K开头表示终止,所以rc0.d里面基本都是K开头的,所以大家不用害怕觉得linux的服务多么神秘,这里介绍两个简单可行的控制服务的办法
运行ntsysv控制服务
使用ntsysv关闭服务只开
crond 可定义计划任务
network 网络
random 生成随机数,用于ssh的会话对称密钥的生成
sshd ssh服务器端
syslog 系统日志服务
xinetd 超级进程(下面没有服务要用的话,可以关闭)
其实xinetd是类似于init这个超级进程的一个进程,不过可以完全关闭它,因为下面都是些没有用服务监听程序,对于一般的服务器,基本上只需要上面ntsysv所列的服务就行了,其他的都关闭,当然如果你要web当然要开httpd了J
服务关闭完了以后,就是去掉一些不用的用户,用vipw
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
#news:x:9:13:news:/var/spool/news:
#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
#operator:x:11:0:operator:/root:/sbin/nologin
#games:x:12:100:games:/usr/games:/sbin/nologin
#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
#vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
#rpc:x:32:32:Portmapper [...]
ttii写著 ‘其实说起IDS我想管理员朋友们一定不陌生,不过我还是想简单的说一下IDS的定义,这样更有利于大家理解后面的应用,这篇文章还是基于redhat7.3的,为什么呢?希望大家看过我的第一篇文章《浅谈linux安全》,在建立了那种系统的基础上,我们来实现IDS吧。
其实说起IDS我想管理员朋友们一定不陌生,不过我还是想简单的说一下IDS的定义,这样更有利于大家理解后面的应用,这篇文章还是基于redhat7.3的,为什么呢?希望大家看过我的第一篇文章《浅谈linux安全》,在建立了那种系统的基础上,我们来实现IDS吧。
IDS就是入侵监测系统的简称,其主要的作用,我个人理解就是能够收集入侵的蛛丝马迹,然后报告你,当然也不确保它的准确性,这要看软件的分析能力了,现在有很多收费和免费的IDS应用程序,其中比较强的是snort,可能大家都知道的(是地球人都知道:))就是Tripwire,它也是一种入侵监测系统,不过它是监视你的文件是否被修改
今天我给大家介绍一种,没有太繁华的功能,简单实用,能够有效地阻止很多攻击,能够对非法的端口扫描做出反应,经过配置,极端一点的作法甚至能够将扫描你的人的端口反扫描回来,而且阻断它对你主机的所有连接(服务器可不能这么做哦,要不一天阻断几百人,过短时间老板就来说了:最近业绩不好呢?呵呵,服务器真是可怜)
1、理论介绍篇
言归正传,这个软件就是portsentry感知攻击的IDS应用
下载地址
ftp://194.199.20.114/linux/redhat/6.2/en/powertools/i386/i386/portsentry-0.99.1-1.i386.rpm
下载后就是安装了不用我多说
rpm –ivh portsentry-0.99.1-1.i386.rpm
先说说portsentry有什么厉害的功夫吧,他能做下面的事情
1、 丢弃所有使用route命令返回到主机的数据包
2、 自动更新/etc/hosts.deny来阻断基于xinetd的连接,简单的阻断一台主机
3、 自动使用防火墙ipchian,ipfwadm等来阻断连接,相当于添加一条厉害的规则,这个比较实用而且安全的
4、 日志的额外连接,他能将观察到的扫描记录到日志,这个功能很有用,你可以什么都不做,但是不能不没有日志的生成,这样让你有空就看看谁再搞你的宝贝服务器吧
5、 自定义的操作,可能对扫描你主机的机器做一些操作,比如反扫描,呵呵然后记录信息,比较酷吧
说了这么多好处,下面我们来在机器上实现一下吧,安装完毕后,你能够在
/usr/psionic/portsentry
下看到一些文件
ignore.csh 用于忽略的主机脚本
portsentry 执行程序
portsentry.conf 主要配置文件
portsentry.ignore 忽略的主机
portsentry.history 运行和阻断主机才会产生,记录详细的阻断信息
现在开始配置,实现我们的功能吧
vi portsentry.conf
这个文件看上去有几个章节,现在我分别介绍一下它们的配置
其实大家一看他的配置文件基本上都有个数了,配置文件写得很好,我在这里就不一一翻译了,呵呵比我E文好得多了,说几个重要配置吧
Port Configurations
定制那些端口希望被监控,如果你有特殊的端口,加入,就能被监控,注意用逗号分割。
Advanced Stealth Scan Detection Options
监控的范围,
ADVANCED_PORTS_TCP=”1024″
ADVANCED_PORTS_UDP=”1024″
表示监控的范围在1024之下的端口,如果你希望监控如65423这样的端口,那么将这是数字设置大些
Configuration Files
就是配置文件位置,一般不用修改
Ignore Options
忽略的端口设置
Dropping Routes
丢弃路由方案
一般用这个可以
KILL_ROUTE=”/sbin/route add -host $TARGET$ reject”
其他的可以根据操作系统来定,或者根据实际来定
也可以写入一段iptalbes 的代码,后面有
TCP Wrappers
这就是我说得简单的加入hosts.deny来阻断发起扫描的主机
KILL_HOSTS_DENY=”ALL: $TARGET$ : DENY”
把原来那句关闭,上面这句打开,我们用的都是redhat哦
External Command
扩展命令,可以执行很多自定义操作,比如nmap扫描你的主机,反扫描他,后面事例中给他家说说
Port Banner Section
理论上是可以给监听你服务的人一个警告,修改PORT_BANNER=这行,写点吓人的话,不过我也不知道其作用不,呵呵
设置完毕后,用portsentry –stcp来启动,这样能够防止SYN等隐蔽的扫描,你可以找个机器用nmap等扫描器扫描一下,看看日志是不是记录了?你的主机是不是被添加到/etc/hosts.deny了。
有几点需要注意的,据说实施了portsentry后一些扫描软件可能会挂起,汗~~~不过我觉得不像,但是确实能防止一点点,
第二,据说portsentry把你的网卡开为混杂模式,但是据我观察网卡并没有变为混杂模式,不过还是提醒大家,因为混杂模式可能会降低系统的反应,就要看你自己权衡了。
个人认为,服务器上实施portsentry软件,不用作出什么反应,只需要记录就行了,定期的查看一下,我觉得能做的就是去掉路由啊,或者nmap扫描入侵的主机,可以这样做,让他自动反扫描扫描你的主机
在
External command部分
加入
KILL_RUN_CMD=”/usr/bin/nmap –O $TARGET$”>> /var/log/scanIP.log
然后可以在/var/log/scanIP.log中查看这些主机的信息。你扫描他哦,呵呵
最后记得运行哦,忘记给大家说几种运行参数了
-tcp 基本简单的监听tcp
-udp 基本简单监听udp
-stcp 建议使用这个参数,可以监听带欺骗的tcp扫描,比如SYN,FIN等扫描,很强
-atcp 禁止所有portsentry.conf中指定的连接,必须手工配置合法的主机,不建议使用
-sudp 同stcp差不多,不过是udp
-adup 和atcp差不多,不过是udp
注意,如果你需要转贴到你的网站或者论坛,可以随意转贴,也请你发邮件告诉我一声转到什么地方了,谢谢,我的联系方式qq:8537798,email:ttii@sohu.com’
通常情况下人们在服务器端采用各种冗余磁盘阵列(RAID)技术来保护数据,中高档的服务器一般都提供了昂贵的硬件RAID控制器。对于资金实力有限的中小企业来讲,在Linux下通过软件来实现硬件的RAID
功能,这样既节省了投资,又能达到很好的效果。何乐而不为呢?
作为一个面向服务器的网络型操作系统,Linux对数据的安全和存取速度给予了高度重视,从2.4版内核开始Linux就实现了对软件RAID的支持(关于 RAID的背景知识请见附文),这让我们可以不必购买昂贵的硬件RAID设备,就能享受到增强的磁盘I/O性能和可靠性,进一步降低了系统的总体拥有成本。下面就让我们看一个Redhat Linux AS 4下的软件RAID配置实例吧。
系统配置情况
假设某单位新上了一套使用Oracle数据库的能量采集系统,该系统数据量极大并且读写非常频繁,实时性要求高,高峰时有近40名用户在线,对数据库服务器的磁盘子系统提出了很高的要求。由于预算比较紧张,经过多方比较,最终选择了采用Linux系统做软件RAID5的方案。
其配置情况如下:
● 操作系统为RedHat Linux AS 4;
● 内核版本为2.6.9-5.EL;
● 支持RAID0、RAID1、RAID4、RAID5、RAID6;
● 五块36GB SCSI接口的磁盘,其中RedHat AS 4安装在第一块磁盘,其它四块组成RAID 5用来存放Oracle数据库。
在RedHat AS 4下实现软件RAID是通过mdadm工具实现的,其版本为1.6.0,它是一个单一的程序,创建、管理RAID都非常方便,而且也很稳定。而在早期 Linux下使用的raidtools,由于维护起来很困难,而且其性能有限,在RedHat AS 4下已经不支持了。
实现过程
1.创建分区
五块SCSI磁盘分别对应/dev/sda、/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde。其中第一块磁盘/dev/sda分两个区,用于安装RedHat AS 4和做交换分区,其他四块磁盘每块只分一个主分区,分别为/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1,并且将分区类型指定为“fd”,这将使Linux内核能将它们识别为RAID分区,且在每次引导时自动被检测并启动。创建分区使用fdisk命令。
# fdisk /dev/sdb
进入fdisk命令行后,使用命令n创建分区,命令t改变分区类型,命令w保存分区表并退出,命令m为帮助。
2.创建RAID 5
这里使用了/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四个设备创建RAID 5,其中/dev/sde1作为备份设备,其他为活动设备。备份设备主要起备用作用,一旦某一设备损坏可以立即用备份设备替换,当然也可以不使用备份设备。命令格式如下:
# mdadm -Cv /dev/md0 -l5 -n3 -x1 -c128 /dev/sd[b,c,d,e]1
命令中各参数分别表示如下作用:“-C”指创建一个新的阵列;“/dev/md0”表示阵列设备名称;“-l5”表示设置阵列模式,可以选择0、1、4、 5、6,它们分别对应于RAID0、RAID1、RAID4、RAID5、RAID6,这里设为RAID5模式;“-n3”指设置阵列中活动设备的数目,该数目加上备用设备的数目应等于阵列中的总设备数; “-x1”设置阵列中备份设备的数目,当前阵列中含有1个备份设备;“-c128”指设置块的尺寸为128KB,缺省为64KB;“/dev/sd[b, c,d,e]1”指当前阵列中包含的所有设备标识符,也可以分开来写,中间用空格分开,其中最后一个为备份设备。
3.查看阵列状态
当创建一个新阵列或者阵列重构时,设备需要进行同步操作,这一过程需要一定时间,可以通过查看/proc/mdstat文件,来显示阵列的当前状态以及同步进度、所需时间等。
# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd1[3] sde1[4] sdc1[1] sdb1[0]
75469842 blocks level 5, 128k chunk, algorithm [...]
通过quota进行磁盘配额,可以控制用户对磁盘空间和文件的控制,我们以一个实例作为说明,对2个用户user01、user02分别进行磁盘使用空间和创建文件的限制。
首先,创建一个新的分区,将/tmp挂载在新的分区。
#fdisk /dev/hda创建后执行:
#partprobe
重新写分区表
#mkfs –t ext3 /dev/hda7 格式化分区
#mount /dev/hda7 /tmp 将/tmp挂载到hda7分区
修改分区表
#vi /etc/fstab增加usrquota,grpquota
/dev/hda7 /tmp ext3 defaults, usrquota,grpquota 0 0
创建用户
#useradd user01
#useradd user02
#cd /tmp
#mount –o remount /tmp
#quotacheck –cvug /tmp
#quotaon –vug /tmp 开启quota
Quota会在/tmp目录下自动创建quota.user quota.group
对用户user01进行磁盘空间使用限制
#edquota –u user01 修改quota配置文件
Block limits [...]
Hei,guys! I am Steven Shan! The blog's owner!
Yes, as you seen,my nick name is Syshy,this is my blog,so I named it Syshy's Blog!
Consectetuer adipiscing elit. Quisque sed felis. Aliquam sit amet felis. Mauris semper, velit semper laoreet dictum, quam diam dictum urna, nec placerat elit nisl in quam. Etiam augue pede, molestie eget, rhoncus at, convallis ut, eros. Aliquam pharetra. Nulla in tellus eget odio sagittis blandit. Maecenas at nisl. Nullam lorem mi, eleifend a, fringilla vel, semper at, ligula.