centos-7之系统初始优化

2018-01-25  本文已影响0人  杜永龙

               后面继续添加优化


1.修改主机名

#方便标识主机

hostnamectl set-hostname newname

2.Yum源更换为国内阿里源

  yum install wget telnet -y

  #mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

  #添加阿里的epel源

  #add the epel

  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

  # rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

3.安装必要的软件

yum -y install wget net-tools screen lsof tcpdump nc mtr openssl-devel vim bash-completion lrzsz nmap telnet tree ntpdate

4.禁用selinux

sed -i  's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

setenforce 0

5.修改网卡eth0

   5.1修改网卡配置参数

   NAME=eth0

   DEVICE=eth0

 5.2修改网卡配置文件名称

   cp /etc/sysconfig/network-scripts/ifcfg-ens3 /etc/sysconfig/network-scripts/ifcfg-eth0

 5.3 禁用该可预测命名规则:net.ifnames=0    biosdevname=0 

         # vim /etc/default/grub

           GRUB_TIMEOUT=5

           GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

           GRUB_DEFAULT=saved

           GRUB_DISABLE_SUBMENU=true

           GRUB_TERMINAL_OUTPUT="console"

           GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root net.ifnames=0    biosdevname=0  rd.lvm.lv=centos/swap rhgb quiet"

            GRUB_DISABLE_RECOVERY="true"

        #grub2-mkconfig -o /boot/grub2/grub.cfg

        #reboot

6. 最大进程数和最大文件打开数

 6.1 查看

   [root@tomcatweb01 ~]# ulimit -u

   3882 #最大文件打开数

   [root@tomcatweb01 ~]# ulimit -n

   1024 #最大进程数

 6.2 修改 /etc/security/limits.conf

   #vim /etc/security/limits.conf

    * soft nofile 1024000

    * hard nofile 1024000

    * soft nproc  1024000

    * hard nproc  1024000

     说明:

       '*'        代表针对所有用户 

        noproc    是代表最大进程数 

       nofile    是代表最大文件打开数

  6.3 修改vim /etc/security/limits.d/20-nproc.conf

    #vim /etc/security/limits.d/20-nproc.conf

                * soft nproc 1024000

                * hard nproc  1024000

7.修改sshd默认端口和禁止root远程登陆

1、首先修改ssh的默认端口

# sed -i "s#\#Port 22#Port 23451#g" /etc/ssh/sshd_config

#端口可以改成任意端口,建议改成较大的端口,因为一万以内的端口常用的服务有占用,防止冲突(需要注意的是:这个端口要记住,否则连接不上服务器)

2、禁止root用户远程登陆 a):添加一个普通用户并设置密码(注:这一步必须执行,否则将造成远程连接不上服务器)

# useradd xxx #添加xxx用户

# echo "pass" | passwd --stdin xxx

#给xxx用户设置密码为passb):修改ssh服务配置文件并撑起服务

# sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

# systemctl restart sshd

3.防火墙开放端口

firewall-cmd --permanent --add-port=23451/tcp 

firewall-cmd --reload  

firewall-cmd --permanent --query-port=23451/tcp 

4.利用其他客户端口尝试远程连接

8.优化内核参数      

#关闭ipv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

# 避免放大攻击

#

net.ipv4.icmp_echo_ignore_broadcasts = 1

#

# # 开启恶意icmp错误消息保护

#

net.ipv4.icmp_ignore_bogus_error_responses = 1

#

# #关闭路由转发

#

net.ipv4.ip_forward = 0

#

net.ipv4.conf.all.send_redirects = 0

#

net.ipv4.conf.default.send_redirects = 0

#

# #开启反向路径过滤

#

net.ipv4.conf.all.rp_filter = 1

#

net.ipv4.conf.default.rp_filter = 1

#

# #处理无源路由的包

#

net.ipv4.conf.all.accept_source_route = 0

#

net.ipv4.conf.default.accept_source_route = 0

#

# #关闭sysrq功能

#

kernel.sysrq = 0

#

# #core文件名中添加pid作为扩展名

#

kernel.core_uses_pid = 1

#

# # 开启SYN洪水攻击保护

#

net.ipv4.tcp_syncookies = 1

#

# #修改消息队列长度

#

kernel.msgmnb = 65536

#

kernel.msgmax = 65536

#

# #设置最大内存共享段大小bytes

#

kernel.shmmax = 68719476736

#

kernel.shmall = 4294967296

#

# #timewait的数量,默认180000

#

net.ipv4.tcp_max_tw_buckets = 6000

#

net.ipv4.tcp_sack = 1

#

net.ipv4.tcp_window_scaling = 1

#

net.ipv4.tcp_rmem = 4096        87380  4194304

#

net.ipv4.tcp_wmem = 4096        16384  4194304

#

net.core.wmem_default = 8388608

#

net.core.rmem_default = 8388608

#

net.core.rmem_max = 16777216

#

net.core.wmem_max = 16777216

#

# #每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目

#

net.core.netdev_max_backlog = 262144

#

# #限制仅仅是为了防止简单的DoS 攻击

#

net.ipv4.tcp_max_orphans = 3276800

#

# #未收到客户端确认信息的连接请求的最大值

#

net.ipv4.tcp_max_syn_backlog = 262144

#

net.ipv4.tcp_timestamps = 0

#

# #内核放弃建立连接之前发送SYNACK 包的数量

#

net.ipv4.tcp_synack_retries = 1

#

# #内核放弃建立连接之前发送SYN 包的数量

#

net.ipv4.tcp_syn_retries = 1

#

# #启用timewait 快速回收

#

net.ipv4.tcp_tw_recycle = 1

#

# #开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接

#

net.ipv4.tcp_tw_reuse = 1

#

net.ipv4.tcp_mem = 94500000 915000000 927000000

#

net.ipv4.tcp_fin_timeout = 1

#

# #当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时

#

net.ipv4.tcp_keepalive_time = 30

#

# #允许系统打开的端口范围

#

net.ipv4.ip_local_port_range = 1024    65000

#

# #修改防火墙表大小,默认65536

#

net.netfilter.nf_conntrack_max=655350

#

net.netfilter.nf_conntrack_tcp_timeout_established=1200

#

# # 确保无人能修改路由表

#

net.ipv4.conf.all.accept_redirects = 0

#

net.ipv4.conf.default.accept_redirects = 0

#

net.ipv4.conf.all.secure_redirects = 0

#

net.ipv4.conf.default.secure_redirects = 0

执行:sysctl -p生效

上一篇下一篇

猜你喜欢

热点阅读