给Ubuntu Server服务器版安装桌面(Gnome Desktop)环境

安装Server的过程和Alternate是基本一样的,但最后一步Alternate版是选择安装Ubuntu-desktop,Server版本就没得选了,你可以全不选。。。我选了个LAMP,呵呵。。。不需要的不选就是。。。

然后我还得说明一下,我只是总结我的情况,我也是第一次用server版本来安装desktop,也就只安装过一次,相当成功,安装后可以正常进入桌面, 和 desktop一样正常使用,这样DIY出来的Ubuntu优点就是开机后内存占用相当少,80兆内存左右。当然,开多个软件后内存占用有300多是很正 常的吧。还有就是这样安装的系统会比较干净,因为没有安装任何桌面应用软件,和desktop不一样,不会预装有常用软件,这样你可以要用什么软件,都得 自 己安装。

安装好ubuntu-7.10-server启动,启动进入后是没有桌面环境的,是黑乎乎的命令行模式。那装上桌面就是啦~

安装新软件,第一个问题就是软件源问题,要安装新的软件包,软件包从哪里来?我是从服务器镜像下载的。光盘源在命令行模式下不会设置。那基本思路就是设置软件源,连接网络,安装软件,ok,就三步,详细说一下吧:

第一步:设置软件源。我的机子同时安装了两个ubuntu,软件使用的sources.list直接复制过去就可以了,位置在 /etc/apt/sources.list,复制到server安装分区的相应文件夹下就可以了。如果没这环境就用wget下载某某服务器上的 sources.list,然后cp到/etc/apt/就是了,一样。

第二步:连接网络。sudo pppoeconf,我的是ASDL。其他连接方式我可不知道。。。

第三步:更新软件源,sudo apt-get update,然后安装你需要的软件就可以了。

具体要安装哪些软件呢?我说说装了哪些软件吧:
apt-get install x-window-system-core
apt-get install gnome-core

有桌面了,进去会发现窗口是没边框的。那安装metacity吧,运行一下metacity窗口就会有边框了,建议把metacity加入 Session,开机自启动。快速安装需要的软件,那就安装gnome-app-install吧,synaptic自然也少不了。还有就是中文是显示不 了的,都是网状的方框,那是因为没有显示中文的字体。那就要安装字体啦。。。

如果要图形登录界面安装 gdm, apt-get install gdm,你喜欢ubuntu studio的,那也装上吧:
sudo apt-get install ubuntustudio-theme ubuntustudio-icon-theme ubuntustudio-gdm-theme ubuntustudio-wallpapers usplash-theme-ubuntustudio,我是装了studio的,虽然我也不喜欢黑+蓝这样的搭配。。。

自动登录的要gdmsetup,apt-get install gdmsetup,然后就配置一下Login Window就可以了。如果想看看你DIY的成果,安装gnome-system-monitor吧,apt-get install gnome-system-monitor,我的内存占用就80多哦,是空闲时候的。其他的都都都不难了吧。。。

用Ubuntu Server版本安装的Desktop是很不错的,我Firefox浏览网页就很有感觉,很爽快,很可能是字体问题。我就只安装了一个雅黑字体,呵呵~

Linux服务器网络安全经验

关于分区

一个潜在的黑客如果要攻击你的Linux服务器,他首先就会尝试缓冲区溢出。在过去的几年中,以缓冲区溢出为类型的安全漏洞是最为常见的一种形式了。更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以轻易使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!

为了防止此类攻击,我们从安装系统时就应该注意。如果用root分区纪录数据,如log文件和email,就可能因为拒绝服务产生大量日志或垃圾邮件,从而导致系统崩溃。所以建议为/var开辟单独的分区,用来存放日志和邮件,以避免root分区被溢出。最好为特殊的应用程序单独开一个分区,特别是可以产生大量日志的程序,还有建议为/home单独分一个区,这样他们就不能填满/分区了,从而就避免了部分针对Linux分区溢出的恶意攻击。

关于BIOS

记着要在BIOS设置中设定一个BIOS密码,不接收软盘启动。这样可以阻止不怀好意的人用专门的启动盘启动你的Linux系统,并避免别人更改BIOS设置,如更改软盘启动设置或不弹出密码框直接启动服务器等等。

关于口令

口令是系统中认证用户的主要手段,系统安装时默认的口令最小长度通常为5,但为保证口令不易被猜测攻击,可增加口令的最小长度,至少等于8。为此,需修改文件/etc/login.defs中参数PASS_MIN_LEN(口令最小长度)。同时应限制口令使用时间,保证定期更换口令,建议修改参数PASS_MIN_DAYS(口令使用时间)。

关于Ping

既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行,这样就可以阻止你的系统响应任何从外部/内部来的ping请求。

echo 1 》 /proc/sys/net/ipv4/icmp_echo_ignore_all

关于Telnet

如果你希望用户用Telnet远程登录到你的服务器时不要显示操作系统和版本信息(可以避免有针对性的漏洞攻击),你应该改写/etc/inetd.conf中的一行象下面这样:

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd -h

加-h标志在最后使得telnet后台不要显示系统信息,而仅仅显示login。

关于特权账号

禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该做此检查,Linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击。

为删除你系统上的用户,用下面的命令:userdel username

为删除你系统上的组用户帐号,用下面的命令:groupdel username

在终端上打入下面的命令删掉下面的特权用账号:

userdel adm

userdel lp

userdel sync

userdel shutdown

userdel halt

userdel mail

如果你不用sendmail服务器,就删除这几个帐号:

userdel news

userdel uucp

userdel operator

userdel games

如果你不用X windows 服务器,就删掉这个帐号。

userdel gopher

如果你不允许匿名FTP,就删掉这个用户帐号:

userdel ftp

关于su命令

如果你不想任何人能够su为root的话,你应该编辑/etc/pam.d/su文件,加下面几行:

auth sufficient /lib-

http://security.chinaitlab.com/pam_rootok-

.so debug

auth required /lib-

http://security.chinaitlab.com/pam_wheel-

.so group=isd

这意味着仅仅isd组的用户可以su作为root。如果你希望用户admin能su作为root.就运行下面的命令:

usermod -G10 admin

suid程序也是非常危险的,这些程序被普通用户以euid=0(即root)的身份执行,只能有少量程序被设置为suid。用这个命令列出系统的suid二进制程序:

suneagle# find / -perm -4000 -print

你可以用chmod -s去掉一些不需要程序的suid位。

关于账户注销

如果系统管理员在离开系统时忘了从root注销,系统应该能够自动从shell中注销。那么,你就需要设置一个特殊的 Linux 变量“tmout”,用以设定时间。 同样,如果用户离开机器时忘记了注销账户,则可能给系统安全带来隐患。你可以修改/etc/profile文件,保证账户在一段时间没有操作后,自动从系统注销。 编辑文件/etc/profile,在“histfilesize=”行的下一行增加如下一行:

tmout=600

则所有用户将在10分钟无操作后自动注销。注意:修改了该参数后,必须退出并重新登录root,更改才能生效。

关于系统文件

对于系统中的某些关键性文件如passwd、passwd.old、passwd._、shadow、shadown._、inetd.conf、services和lilo.conf等可修改其属性,防止意外修改和被普通用户查看。 如将inetd文件属性改为600:

# chmod 600 /etc/inetd.conf

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

# chattr +i /etc/inetd.conf

这样,对该文件的任何改变都将被禁止。 你可能要问:那我自己不是也不能修改了?当然,我们可以设置成只有root重新设置复位标志后才能进行修改:

# chattr -i /etc/inetd.conf

关于用户资源

对你的系统上所有的用户设置资源限制可以防止DoS类型攻击,如最大进程数,内存数量等。例如,对所有用户的限制, 编辑/etchttp://security.chinaitlab.com/limits.con加入以下几行:

* hard core 0

* hard rss 5000

* hard nproc 20

你也必须编辑/etc/pam.d/login文件,检查这一行的存在:

session required /libhttp://security.chinaitlab.com/pam_limits.so

上面的命令禁止core files“core 0”,限制进程数为“nproc 50“,且限制内存使用为5M“rss 5000”。

关于NFS服务器

由于NFS服务器漏洞比较多,你一定要小心。如果要使用NFS网络文件系统服务,那么确保你的/etc/exports具有最严格的存取权限设置,不意味着不要使用任何通配符,不允许root写权限,mount成只读文件系统。你可以编辑文件/etc/exports并且加:

/dir/to/export host1.mydomain.com(ro,root_squash)

/dir/to/export host2.mydomain.com(ro,root_squash)

其中/dir/to/export 是你想输出的目录,host.mydomain.com是登录这个目录的机器名,ro意味着mount成只读系统,root_squash禁止root写入该目录。最后为了让上面的改变生效,还要运行/usr/sbin/exportfs -a

Ubuntu服务器版操作系统介绍

服务器版 -建立在众所周知稳定的 Debian 上, 它的强劲的服务器安装 — 具有浓厚的传统, 性能可靠和可以预见的变化。

集成安全平台

由于您的业务增长, 所以您的网络、大多数的应用程序需要重新部署到更多的服务器。 Ubuntu 服务器版提供了几种常见配置的支持, 简化了普通 Linux 服务器的部署过程。 它提供了一个良好的集成平台, 使您迅速和容易的部署新服务器,标准互联网服务: mail, web, DNS, 文件安服务 或 数据库管理。

Debian 传统是默认安全的。 Ubuntu 服务但安装完毕后没有开放任何端口仅仅包含了需要建立一个安全服务器的基本软件。

降低总体拥有成本和自动安装 LAMP

从安装好的 Ubuntu 服务器版大约花费 15 分钟, 您就可以有一个 LAMP (Linux, Apache, MySQL 和 PHP) 服务, 并开始运行。 这个特点, 只有 Ubuntu 服务器版, 在安装的时候被激活。

LAMP 的选项意味着您不需要安装和集成这四个 LAMP 组成部分, 一个过程可以处理和帮助需要安装和配置的人。 相反, 您将得到增强的安全性, 缩短时间去安装和减少风险, 所有的这些都有一个较低的成本。

消除更新个人工作站的成本

Ubuntu 服务器版包括了使用 LTSP (Linux Terminal Server Project) 的瘦客户机支持。 LTSP-5, 最新版本, 提供了简易安装, 方便维护。 所有的数据都存储在服务器上, 这将大大降低成本: 更新个人工作站, 并帮助其保证他们的安全。 Ubuntu 瘦客户端有如下支持:

简单管理:从一个系统上管理所有的用户。 安装新软件, 修改配置, 甚至在服务器上升级到一个新的版本, 所有的客户端都可以升级到最新。 并且为所有的客户端只有一个备份。

全自动安装和设置: 安装一个瘦客户机服务器和乱安装一个单一的桌面系统一样,非常容易,而一旦安装完毕, 新的客户端就可以在服务器上添加任何额外的管理。

通过资源共享,低的 CTO: 通用高性能的桌面工作站大部分时间都在空闲而支付了贵的价格。 使用高性能的服务器和低成本的瘦客户端, 你可以得到伟大的业绩和节省资金。 需要更高的业绩? 马上升级服务器,这样所有的客户端都将得到好处。

快速失败恢复: 如果一个客户端系统失败, 简单的交换一个新的就可以继续工作。 不需要配置, 并且所有的用户数据和设置都完好无损。

本地附加装置: 用户可以访问打印机, 相机, iPods, USB存储设备和其它直接连接到瘦客户端的设备。

支持的架构

Ubuntu 服务器版支持 x86, AMD64 和 UltraSPARC T1 架构。

Ubuntu下Apache服务之PHP配置

将Ubuntu系统更新到最新状态,在做任何操作之前都要做这一步,以确保系统的稳定,同时也不会有一些莫名其妙的现象出现。

$sudo apt-get update

$sudo apt-get dist-upgrade

安装PHP支持

$sudo apt-get install libapache2-mod-php5

$sudo apt-get install php5

如果想支持图形就加php5-gd,如果想支持Mysql就加php5-mysql,这里之所以要单独列出libapache2-mod-php5,主要是由于php5的依赖关系没有做好,有可能会安装上libapache-mod-php4的包,所以为了避免不必要的麻烦,干脆还是单独指定比较好。如果有朋友还是会出现问题,请在新立得中查找libapache-mod-php4包,如果安装的话请将其删除。

修改PHP配置文件,以限制内存和文件最大上传尺寸

我们编辑/etc/php5/apache2/php.ini文件,先做一般配置,在改动之前,请先将该配置文件做个备份。以便在出错的时候可以恢复。

memory_limit == 8M ==>修改成你所需的内存大小

upload_max_filesize == 2M ==>修改文件最大上传尺寸

extension=mysql.so 支持Mysql服务

extension=gd.so 支持gd函数

其实在Ubuntu下,如果你安装了php5-mysql和php5-gd之后,会自动修改以上二行的,我们做的只不过是确认一下它们前面的注释符是否去掉。

a. 目前大多数php的open source都是用php4写的,为了兼容以前的php版本,有时需要将register_long_arrays打开,否则$HTTP_GET_VARS和$HTTP_POST_VARS等变量将无法使用,会出现一些莫名其妙的问题。 a. 另外,在装完php5后最好确认一下/etc/apache2/mods-enabled/下是否有链接:

php5.load -> /etc/apache2/mods-available/php5.load

加固PHP,以增强安全性。注意,下面的安全性要因情况而定,所以我已经把它们的功能写清楚了,如果有问题的话,看看是否由于下面哪种限制条件所造成,可相应将其注释掉。那么让我们开始吧,我们将再次编辑/etc/php5/apache2/php.ini文件,之所以没有一次改完,主要是为了给大家一个清晰的思路。

#打开安全模式,打开他的好处就是PHP文件只能访问所有者和PHP文件所有着一样的文件,即使在chroot环境下也无法访问jail 中属主不一样的文件,类似于php shell这样的后门就没用武之地了哦,phpshell是很流行的php后门,他可以执行系统命令,就象他的名字一样,和shell很接近。

safe_mode = On

#清注意,安全模式打开一个会导致judge online一类有调用外部程序的php无法工作。

#下面的设置就限制了fopen(), file()等函数可以操作的目录范围,避免了入侵者非法读取文件,一定要在/var/www后面加”/”,否则/var/wwww下的文件也能被访问。该选项会禁止任何不在/var/www/目录下的PHP文件运行,包括任何以软链接方式链到/var/www/目录下的程序,如PhpMyAdmin 包,就在该选项设定后无法正常运行。

open_basedir = /var/www/

#禁止使用phpinfo和get_cfg_var函数,这样可以避免泄露服务信息,一般在在确认PHP能正常工作之后再使之关闭

disable_functions = phpinfo,get_cfg_var

#设置php程序错误日志

error_reporting = E_ALL

log_errors = On

error_log = /var/log/php_err.log

#如果php程序没有指明需要register_globals的话,最好把register_globals设置为Off,这样可以避免很多安全问题的。注意,如果你的程序是需要register_globals的话,可千万别关。Ubuntu默认是关闭的。

register_globals = Off

#禁止打开远程地址,记得最近出的php include的那个漏洞吗?就是在一个php程序中include了变量,那么入侵者就可以利用这个控制服务器在本地执行远程的一个php程序,例如phpshell,所以我们关闭这个。

allow_url_fopen = Off

OK,打完收功!

zh_CNChinese