1. <i id='jqztp'><div id='jqztp'><ins id='jqztp'></ins></div></i>

  2. <tr id='jqztp'><strong id='jqztp'></strong><small id='jqztp'></small><button id='jqztp'></button><li id='jqztp'><noscript id='jqztp'><big id='jqztp'></big><dt id='jqztp'></dt></noscript></li></tr><ol id='jqztp'><table id='jqztp'><blockquote id='jqztp'><tbody id='jqztp'></tbody></blockquote></table></ol><u id='jqztp'></u><kbd id='jqztp'><kbd id='jqztp'></kbd></kbd>

      <dl id='jqztp'></dl>

      1. <span id='jqztp'></span>
          <ins id='jqztp'></ins>

          <code id='jqztp'><strong id='jqztp'></strong></code>
          <acronym id='jqztp'><em id='jqztp'></em><td id='jqztp'><div id='jqztp'></div></td></acronym><address id='jqztp'><big id='jqztp'><big id='jqztp'></big><legend id='jqztp'></legend></big></address>
          <fieldset id='jqztp'></fieldset>
          <i id='jqztp'></i>

          教你如何搭建一个安全的Linux服务器教程

          • 时间:
          • 浏览:10
          • 来源:124软件资讯网
            要建设一个宁静Linux服务器就首先要相识Linux情况下和网络服务相关的设置文件的寄义及怎样举行宁静的设置  。在Linux系统中  ,TCP/IP网络是通过若干个文本文件举行设置的 ,也许你需要编辑这些文件来完成联网事情  ,可是这些设置文件多数可以通过设置下令linuxconf (其中网络部门的设置可以通过netconf下令来实现)  。下面先容基本的 TCP/IP网络设置文件  。

              * /etc/conf.modules文件

              该设置文件界说了种种需要在激活时加载的模块的参数信息 。这里主要着重讨论关于网卡的设置  。在使用Linux做网关的情形下  ,Linux服务器至少需要设置两块网卡 。为了淘汰激活时可能泛起的问题  ,Linux内核不会自动检测多个网卡 。对于没有将网卡的驱动编译到内核而是作为模块动态加载的系统若需要安装多块网卡  ,应该在“conf.modules”文件中举行响应的设置  。

              若装备驱动被编译为模块(内核的模块):对于PCI装备  ,模块将自动检测到所有已经安装到系统上的装备;对于ISA卡  ,则需要向模块提供IO地址 ,以使模块知道在那边寻找该卡  ,这些信息在“/etc/conf.modules”中提供 。

              例如  ,我们有两块ISA总线的3c509卡  ,一个IO地址是0x300  ,另一个是0x320 。编辑“conf.modules”文件如下:alias eth0 3c509alias eth1 3c509options 3c509 io=0x300  ,0x320这是说明3c509的驱动法式应当划分以eth0或eth1的名称被加载(alias eth0  ,eth1)  ,而且它们应该以参数io=0x300  ,0x320被装载 ,来通知驱动法式到那里去寻找网卡  ,其中0x是不行缺少的  。

              对于PCI卡  ,仅仅需要alias下令来使ethN和适当的驱动模块名关联  ,PCI卡的IO地址将会被自动的检测到  。对于PCI卡 ,编辑“conf.modules”文件如下:alias eth0 3c905alias eth1 3c905若驱动已经被编译进了内核:系统激活时的PCI检测法式将会自动找到所有相关的网卡 。ISA卡一样平常也能够被自动检测到  ,可是在某些情形下  ,ISA卡仍然需要做下面的设置事情:

              在“/etc/lilo.conf”中增添设置信息  ,其要领是通过LILO法式将激活参数信息通报给内核  。对于ISA卡  ,编辑“lilo.conf”文件 ,增添如下内容:append=" ether="0  ,0  ,eth0 ether="0  ,0  ,eth1"注:先不要在“lilo.conf”中加入激活参数  ,测试一下你的ISA卡  ,若失败再使用激活参数 。

              若是用通报激活参数的要领  ,eth0和eth1将根据激活时被发现的顺序来设置  。

              * /etc/HOSTNAME文件:

              该文件包罗了系统的主机名称 ,包罗完全的域名 ,如:

              deep.openarch.com

              */etc/sysconfig/network-scripts/ifcfg-ethN文件:

              在RedHat中 ,系统网络装备的设置文件生存在“/etc/sysconfig/network-scripts”目录下 ,ifcfg-eth0包罗第一块网卡的设置信息 ,ifcfg-eth1包罗第二块网卡的设置信息  。

              下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:DEVICE=eth0IPADDR=208.164.186.1NETMASK=255.255.255.0NETWORK=208.164.186.0BROADCAST=208.164.186.255ONBOOT=yesBOOTPROTO=noneUSERCTL=no

              若希望手工修改网络地址或在新的接口上增添新的网络界面 ,可以通过修改对应的文件(ifcfg-ethN)或建立新的文件来实现 。

              DEVICE=name name表现物理装备的名字

              IPADDR=addr addr表现赋给该卡的IP地址

              NETMASK=mask mask表现网络掩码

              NETWORK=addr addr表现网络地址

              BROADCAST=addr addr表现广播地址

              ONBOOT=yes/no 激活时是否激活该卡

              none:无须激活协议

              bootp:使用bootp协议

              dhcp:使用dhcp协议

              USERCTL=yes/no 是否允许非root用户控制该装备

              */etc/resolv.conf文件:

              该文件是由域名剖析器(resolver  ,一个凭据主机名剖析IP地址的库)使用的设置文件  ,示例如下:

              search openarch.comnameserver 208.164.186.1nameserver 208.164.186.2

              “search domainname.com”表现当提供了一个不包罗完全域名的主机名时  ,在该主机名后添加domainname.com的后缀;“nameserver”表现剖析域名时使用该地址指定的主机为域名服务器 。其中域名服务器是根据文件中泛起的顺序来查询的 。
            */etc/host.conf文件:

              该文件指定怎样剖析主机名  。Linux通过剖析器库来获得主机名对应的IP地址  。下面是一个“/etc/host.conf”的示例:

              order bind ,hosts

              multi on

              ospoof on

              “order bind  ,hosts”指定主机名查询顺序  ,这里划定先使用DNS来剖析域名  ,然后再查询“/etc/hosts”文件(也可以相反)  。

              “multi on”指定是否“/etc/hosts”文件中指定的主机可以有多个地址  ,拥有多个IP地址的主机一样平常称为多穴主机 。

              “nospoof on”指不允许对该服务器举行IP地址诱骗 。IP诱骗是一种攻击系统宁静的手段  ,通过把IP地址伪装成此外盘算器 ,来取得其它盘算器的信托  。

              */etc/sysconfig/network文件

              该文件用来指定服务器上的网络设置信息 ,下面是一个示例:

              NETWORK=yesRORWARD_IPV4=yesHOSTNAME=deep.openarch.comGAREWAY=0.0.0.0GATEWAYDEV=NETWORK=yes/no 网络是否被设置;FORWARD_IPV4=yes/no 是否开启IP转发功效HOSTNAME=hostname hostname表现服务器的主机名GAREWAY=gw-ip gw-ip表现网络网关的IP地址GAREWAYDEV=gw-dev gw-dw表现网关的装备名  ,如:etho等

              注重:为了和老的软件相兼容 ,“/etc/HOSTNAME”文件应该用和HOSTNAME=hostname相同的主机名  。

              */etc/hosts文件

              当机械激活时 ,在可以查询DNS以前 ,机械需要查询一些主机名到IP地址的匹配  。这些匹配信息存放在/etc/hosts文件中  。在没有域名服务器情形下  ,系统上的所有网络法式都通过查询该文件来剖析对应于某个主机名的IP地址  。

              下面是一个“/etc/hosts”文件的示例:

              IP Address Hostname Alias127.0.0.1 Localhost Gate.openarch.com208.164.186.1 gate.openarch.com Gate

              最左边一列是主机IP信息  ,中心一列是主机名 。任何后面的列都是该主机的别名  。一旦设置完机械的网络设置文件  ,应该重新激活网络以使修改生效 。使用下面的下令来重新激活网络:/etc/rc.d/init.d/network restart

              * /etc/inetd.conf文件

              众所周知  ,作为服务器来说  ,服务端口开放越多  ,系统宁静稳固性越难以保证 。以是提供特定服务的服务器应该尽可能开放提供服务必不行少的端口 ,而将与服务器服务无关的服务关闭  ,好比:一台作为www和Ftp服务器的机械 ,应该只开放80 和25端口 ,而将其它无关的服务如:finger auth等服务关掉  ,以淘汰系统毛病  。

              而inetd ,也叫作“超级服务器” ,就是监视一些网络请求的守护历程  ,其凭据网络请求来挪用响应的服务历程来处置惩罚毗连请求  。inetd.conf则是inetd的设置文件  。inetd.conf文件告诉inetd监听哪些网络端口 ,为每个端口激活哪个服务  。在任何的网络情况中使用Linux系统  ,第一件要做的事就是相识一下服务器到底要提供哪些服务  。不需要的那些服务应该被克制掉  ,最好卸载掉  ,这样黑客就少了一些攻击系统的时机 。检察“/etc/inetd.conf”文件  ,相识一下inetd提供哪些服务 。用加上注释的要领(在一行的开头加上#号) ,克制任何不需要的服务  ,再给inetd历程发一个SIGHUP信号  。

              第一步:把文件的权限限改成600  。

              [root@deep]# chmod 600 /etc/inetd.conf

              第二步:确信文件的所有者是root  。

              [root@deep]# stat /etc/inetd.conf

              第三步:编辑“inetd.conf”文件(vi /etc/inetd.conf)  ,克制所有不需要的服务  ,如:ftp、 telnet、 shell、 login、 exec、talk、ntalk、 imap、 pop-2、pop-3、finger、auth  ,等等  。若是你以为某些服务有用  ,可以不克制这些服务  。可是  ,把这些服务克制掉  ,系统受攻击的可能性就会小许多  。改变后的“inetd.conf”文件的内容如下面所示:

            # To re-read this file after changes  , just do a 'killall -HUP inetd'##echo stream tcp nowait root internal#echo dgram udp wait root internal#discard stream tcp nowait root internal#discard dgram udp wait root internal#daytime stream tcp nowait root internal#daytime dgram udp wait root internal#chargen stream tcp nowait root internal#chargen dgram udp wait root internal#time stream tcp nowait root internal#time dgram udp wait root internal## These are standard services.##ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd## Shell  , login  , exec , comsat and talk are BSD protocols.