这里以www.linuxaid.com.cn为实例,指导在以服务器模式安装redhat以后,如何以最快的速度建设一个如同www.linuxaid.com.cn的服务器。在这里网站服务器上运行有以下服务器软件:Ftp、DNS、WWW、Mysql、Sendmail。
服务器安全
安装完Linux服务器以后,首先要对服务器进行初步的安全设置,一般来讲要考虑下面这些安全问题:安装服务器结束以后,缺省的各种服务器都是打开的,所以,首先需要关闭那些不需要的服务,因为这些服务可能会对系统安全造成威胁。首先需要关闭以下服务:finger、talk、ntalk、shell、login、pop3、tftp、linuxconf、ftp、telnet。这些服务的特点是他们都是由inetd进程启动的,也就是说这些服务并不直接启动,而是有inetd代其监听自己的服务端口,当有服务请求到来以后,inetd才会启动真正的服务进程,处理请求。而inetd的配置文件/etc/inetd.conf则指定了哪些服务需要从inetd来启动。因此如果需要关闭不需要的服务则应该编辑该文件,在相应的服务前加上注释符号 “#”例如,需要关闭finger服务,将:
finger stream tcp nowait nobody /usr/sbin/tcpd in.finger
修改为:
# finger stream tcp nowait nobody /usr/sbin/tcpd in.finger
对其他的服务可以采取同样的措施。
而对于那些不是从inetd启动的服务,则通过命令来关闭,例如需要关闭sendmail服务,则:
/etc/rc.d/init.d/sendmail stop
然后再设置其不在系统启动时启动:
chkconfig –level 12345 sendmail off
也可以使用ntsysv命令来设定是否自启动某个服务。
一般来讲,服务器上应当只启动必须的服务,对于那些不需要的服务,必须关闭。可以使用命令netstat –l –n来查看本机开放了那些服务:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 ins:domain *:* LISTEN
tcp 0 0 ns:domain *:* LISTEN
tcp 0 0 www:domain *:* LISTEN
tcp 0 0 *:www *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
udp 0 0 *:1036 *:*
udp 0 0 ins:domain *:*
udp 0 0 ns:domain *:*
udp 0 0 www:domain *:*
raw 0 0 *:icmp *:* 7
raw 0 0 *:tcp *:* 7
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
从上面的输出可以看到,这台机器开放了dns、www、ftp、1036、icmp、tcp端口,可以查看/etc/service来确定数字表示的端口具体都是什么服务。
这里关闭了telnet服务,那么如何登录服务器进行配置呢?这里推荐使用SSH,因为telnet协议是采用明文方式传输密码和用户名,因此这些信息可能在传输过程中被窃听,而SSH是telnet的一种替代品,它的服务器和客户端之间的所有数据传输都进行了加密,因此提高了安全性。
若某个系统帐号用户不允许登录系统,而只允许其修改自己的密码,则需要修改起shell,也就是编辑/etc/passwd文件。举例如下,若不允许ideal登录系统则需要编辑passwd文件,修改:
ideal:x:500:500:ideal:/home/ideal:/bin/bash