centos系统安装后的基本配置

centos系统安装后的基本配置

  1. 配置网卡和设置网络联网

    • 通过setup命令设置网卡
      • 在系统命令行输入setup命令,然后回车键.
      • 通过tab键及对应的键依次选择进入几个窗口
      • 整个过程依次为: 执行setup命令---->NETWORK configuration ----> Device configuration ----> eth0, 配置完依次单击 OK ----> Save ----> Save&Quit ----> Quit.这样就退出了命令行界面.(该配置实质上就是修改网卡的配置文件/etc/sysconfig/neywork-scripts/ifcig-eth0的内容)
      • 虚拟机下重要参数
        • 虚拟网卡为NAT模式
          • Primary DNS Server: 8.8.8.8
          • Secondary DNS Server: 202.106.0.20
        • 虚拟网卡为bridged
          • static ip: 10.0.0.7
          • Metmask: 255.255.255.0
          • Default gateway IP: 10.0.0.254
          • Primary DNS Server: 8.8.8.8
          • Secondary DNS Server: 202.106.0.20
      • 然后依次执行如下命令:
        • 执行命令ifup eth0, 启动网卡
        • 执行命令 ifconfig eth0, 查看获取ip
        • 执行命令 ping www.baidu.com, 检测网路是否畅通
    • 网卡配置选项的含义
      cat /etc/sysconfig/neywork-scripts/ifcfg-eth0
      • DEVICE=eth0
        第一块网卡逻辑设备名,第二块为eth1,有些系统也会以em等字符标识
      • HWADDR=00:0c:29:a5:3f:39
        以太网硬件地址,即MAC地址,如果是VMware克隆的虚拟机无法启动网卡,可以毫不犹豫地删除此项.
      • TYPE=Ethernet
        上网类型,目前基本是以太网
      • UUID=176582f7-d198-4e4f-aab0-34ab10d17247
        通用唯一标识码,如果是VMware克隆的虚拟机无法启动网卡,可以去除此项
      • ONBOOT=no
        这个地方要设置yes,才能保证下次开机启动时激活网卡设备.
      • NM_CONTROLLED=yes
        是否通过NetworkManager管理网卡设备
      • BOOTPROTO=none
        启动协议,获取配置方式,有none|bootp|dhcp三个选项
      • IPADDR=10.0.0.8
        这是虚拟机桥接模式,局域网linux服务器的固定IP
      • NETMASK=255.255.255.0
        子网掩码,用来规划网络位和主机位,一般为255.255.255.0
      • DNS2=8.8.8.8
        第二个DNS,这里默认会覆盖,以及优先于/etc/resolv.conf的配置生效
      • GATEWAY=10.0.0.254
        局域网上网网关地址
      • DNS1=202.106.0.20
        主DNS,这里默认会覆盖,以及优先于/etc/resolv.conf的配置生效
      • IPV6INIT=no
        是否支持IPV6
      • USERCTL=no

    修改完配置需要重启网卡命令为:ifdown eth0 && ifup eth0.尽量不要使用/etc/init.d/neywork restart 重启网卡,因为这条命令会影响所有网卡.

    • 查看IP设置命令 ifconfig eth0
    • 查看默认网关设置命令 route -n
    • 查看DNS设置命令 cat /etc/resolv.conf
    • 更新系统, 打补丁到最新

    于windows打补类似,linux也可以定期更新系统软件.
    linux下安装软件的优秀工具叫做yum,它是centos linux下最好用的包管理器和安装软件包的工具,用起来很方便.linux的二进制软件包一般是rpm包,类似windows的exe程序.
    通过yum工具可以很方便的安装rpm软件包.默认获取rpm包的软件配置是从国外centos官方源及其镜像地址下载的.因此,通过yum工具安装软件,速度回比较慢,因此需要把默认获取rpm包的地址改成国内的yum源地址.

    • centos安装完毕后,首先应该修改更新源,并升级到最新的系统.修改更新源的yum源命令:
      • cp /etc/yum.repos.d/CentOS-Base-repo
      • /etc/yum.repos.d/CentOS-Base.repo.ori
      • wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/ ./help/Centos 6-Base-163.repo
      • ll /etc/pki/rpm-gpg/
      • rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
      • yum update -y
    • 额外安装一些有用的软件包
      • yum install tree telnet dos2unix sysstate lrzsz nc nmap -y
      • yum grouplist 查看所有包组名称,包括已经安装的和未安装
      • yum groupinstall "Development Tools" 指定包组名安装,注意要带双引号
  2. 安装linux系统后调优及安全设置

    • 关闭SELinux功能
      • 修改配置文件.使关闭SELinux永久生效
        • sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
        • grep SELINUX=disabled /etc/selinux/config
      • 临时关闭SELinux,可在命令行执行如下命令
        • setenforce
        • sentenforce 0 临时将SELinux调成permissive状态
        • getenforce 查看selinux当前状态
      • 命令说明如下:
        • sentenforce: 用于命令行管理selinux的级别,后面的数字表示设置对应的级别.
        • getenforce: 查看SELinux当前的级别状态

        修改配置SElinux后,要想使其生效,必须要重启系统.因此,可配合使用setenforce 0 这个临时使其关闭的命令, 这样在重启前后都可以使selinux关闭生效,也就是说无须立刻重启服务器了,在生产场景下linux机器是不能随意重启的.

  3. 精简开机系统启动

    • 重要的开机自启动服务

      • sshd: 远程连接linux服务器时需要用到这个服务程序,所以必须开启,否则linux服务器就无法提供远程连接服务了.
      • rsyslog: 日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中,在centos6以前此服务的名字为syslog
      • network: 系统启动时,若想激活/关闭各个网络接口,则应考虑开启此服务
      • crond: 该服务用于周期性地执行系统及用户配置的任务计划,有要周期性执行的任务时,就要开启,此服务几乎是生产场景必须要用的一个软件.
      • sysstate: sysstate是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据很有帮助,比如cpu使用率,硬盘和网络吞吐数据等,对这些数据的收集和分析,有利于判断系统运行是否正常,所以它是提高系统运行效率的,安全运行服务器的得力助手
      • sysstate软件包集成的主要工具:
        • iostate工具提供cpu使用率及硬盘吞吐效率的数据
        • mpstat工具提供与单个或多个处理器相关的数据
        • sar工具负责收集,报告并存储系统活跃的信息

        提示: 上述5个服务是安装完系统后建议保留的开机自启动服务,也机会是一切生产服务器必修保留的开机自启动服务,将来还可以根据服务器的业务使用场景调整相应的自启动服务.

    • 设置开机自启动服务的常见方法

      • 执行命令然后收动处理的方法
        • 执行ntsysv命令,然后在弹出的窗口中进行设置
        • 执行setup命令---->system service,然后在弹出的窗口中进行设置
      • 通过一行命令或shell脚本进行设置
        LANGE=en : 先调整为英文字符集,以方便下面命令过滤中文字符串
        chkconfig --list | grep 3:on
        • 第一种方法:先全关闭,再开启需要保留的
          LANGE=en
          for oldboy in `chkconfig --list | grep 3:on | awk '{print $1}'`; do chkconfig --level 3 $oldboy off; done
          for oldboy in crond network rsyslog sshd sysstate ; do chkconfig --level 3 $oldboy on; done
          chkconfig --list | grep 3:on
          
        • 第二种: 一条命令搞定,shell循环实现
          for oldboy in `chkconfig --list | grep "3:on" | awk '{print $1}' | grep -vE "crond|network|sshd|rsyslog|sysstate"`; do chkconfig $oldboy off; done
          
        • 第三种: 不要shell循环语句也一条命令搞定
          chkconfig --list | grep 3:on | grep -vE "crond|sshd|network|rsyslog|sysstate" | awk '{print "chkconfig " $1 " off "}' | bash
          
    • 关闭防火墙
      在企业环境中,一般只有配置外网IP的Linux服务器才需要开启防火墙,但即使有外网IP,高并发,高流量的业务服务器仍然不能开启防火墙,因为开启后会有较大性能损失,导致网站访问速度很慢,这种情况下只能在前端加更好的硬件防火墙了.

      • 关闭防火墙的具体操作如下:
        • /etc/init.d/iptables stop
        • /etc/init.d/iptables stop : 重复执行确认已经关闭
        • chkconfig iptables off : 关闭开机自启动命令,前面已经关闭这里就无需执行
        • chkconfig --list | grep ipt
    • linux系统安全最小原则说明

      • 安装linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装.
      • 开机自启动服务最小化,即无用的服务不开启
      • 操作命令最小化.例如: 能用rm -f test.txt 就不用 rm -fr test.txt
      • 登录linux用户最小化.平时没有特殊需求不登录root,用普通用户登录即可
      • 普通用户授权最小化,即只给用户必需的管理系统的命令
      • Linux系统文件及目录的权限设置最小化,禁止随意创建,更改,删除文件
    • 更改ssh服务器端远程登录的配置
      windows服务器的默认远程登录端口是3389,管理员用户是administrator,普通用户是guest.linux的管理用户是root,普通用户默认有很多个,远程连接,默认端口22.这些通常有it经验的人都知道.那么黑客是否也知道呢?他们当然知道,甚至比我们更清楚,所以,为了系统安全,必须隐藏或更改上述默认配置,更改配置的命令如下:

      • cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori : 更改配置前进行备份,是系统管理员的一个良好的习惯
      • vi /etc/ssh/sshd_config : 编辑sshd_config
        ### by oldboy # 2011-11-24##
        Port 52113
        PermitRootLogin no
        PermitEmptyPasswords no
        UseDNS no
        GSSAPIAuthentication no
        #### by oldboy # 2011-11-24
        
        • prot
          指定sshd守护进程监听的端口号,默认为22.默认在本机的所有网络接口监听,也可以通过ListenAddress指定只在某个特定的接口上监听.
          端口范围: 0~65535, 不能与已有的服务器端口冲突
          一般建议改为此1024大的端口.
        • PermitEmptyPasswords
          是否允许密码为空的用户远程登录.默认是"no"
        • PermitRootLogin
          是否允许root登录,可用值如下: "yes"(默认)表示允许;"no"表示禁止;"without-password"表示禁止使用密码认证登录;"forced-commands-only"表示只有在指定了command选项的情况下才允许使用公钥认证登录,同时其他认证方法全部被禁止,这个值常用于做远程备份之类的事情.
        • UseDNS
          指定sshd是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP地址真实对应,默认值为: "yes".建议改成"no",否则可能会导致ssh连接很慢.
        • GSSAPIAuthentication
          解决linux之间使用ssh远程连接慢的问题.

      将以上信息更改后,保存退出
      执行如下命令重启sshd,使修改的配置生效:
      /etc/init.d/sshd reload
      或者
      /etc/init.d/sshd restart

      • 更高级的ssh安全策略
        • 更改ssh监听ip,使其仅监听内网ip,命令如下:
          sed -n '13,20p' /etc/ssh/sshd_config
        • 通过防火墙限制仅能使用内网ip连接此服务器.限制命令如下:
          ipatbles -I INPUT -p tcp --dport 52113 -s 10.0.0.0/24 -j ACCEPT
        • 通过拨号到VPN服务器,然后从局域网访问这些服务器,提升安全性.其实linux主机安全就像我们居住的房子安全一样.
        • 工作中的系统安全重点就是互联网TCP/IP连接,对外的Web服务器端口http80和https443的安全控制
    • linux中文显示设置

      [root@www ~]# cat /etc/sysconfig/i18n
      LANG="en_US.UTF-8"
      SYSFONT="latarcyrheb-sun16"
      [root@www ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
      [root@www ~]# echo ' LANG="zh_CN.UTF-8" ' > /etc/sysconfig/i18n
      # 相当于用vi /etc/sysconfig/i18n 添加LANG="zh_CN.UTF-8"
      [root@www ~]# source /etc/sysconfig/i18n # 使上文生效
      [root@www ~]# echo $LANG
      zh_CN.UTF-8
      
    • 调整linux系统文件描述符数量
      文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件.文件描述符与包括先关信息的文件对象相关联,这些信息被称作文件的上下文.文件描述符的有效范围是0到OPEN_MAX.
      对于内核而言,所有打开的文件都是通过文件描述符引用的,当打开一个现有文件或创建一个新文件时,内核向进程返回一个文件描述符,当读或写一个文件时,使用open或creat返回的文件描述符标识该文件,并将其作为参数传递给read或write.

      • 查看linux服务器文件描述符设置的情况可以使用ulimit -n 命令, 文件描述符大小默认是1024.
        [root@www ~]# ulimit -n
      • 对于高并发的业务linux服务器来说,这个默认的设置值是不够的,需要调整:
        • 方法一
          • 执行vim /etc/security/limits.conf命令,在文件结尾加上如下一行.
            * - nofile 65535
          • echo '* - nofile 65535' >> /etc/security/limits.conf
            配置完成后,需重新登录才可以生效,查看如下:
            [root@www ~]# ulimit -n
        • 方法2
          直接把ulimit -SHn 65535命令加入/etc/rc.local,用以设置每次开机启动时配置生效,命令如下:
        cat >> /etc/rc.reload<<EOF
        # -S use the 'soft' resource limit
        # -H use the 'hard' resource limit
        # -n the maxmum number of open file descriptors
        ulimit -HSn -s 65535
        EOF
        
posted @ 2017-05-04 16:09  zane_zong  阅读(385)  评论(0编辑  收藏  举报