通过修改CentOS 6.5 的系统默认设置,对系统进行安全加固,进行系统的性能优化。

环境:

  系统硬件:vmware vsphere (CPU:2*4核,内存2G)

  系统版本:Centos-6.5-x86_64(最小化安装)

步骤:

  1.关闭SELinux  
  [root@centos ~]# vim /etc/selinux/config

  打开文件,修改并保存

  SELINUX=disabled    #禁止

  如果需要生效,需要设置为Enforcing

  SELINUX=Enforcing  #生效
  [root@centos ~]# getenforce    #查看selinux状态

  2.清空防火墙并设置规则

  2.1清除及查看

  #清空前,先允许所有连接

  [root@centos ~]#/sbin/iptables -P INPUT ACCEPT  #清空所有规则前把policy DROP该为INPUT,防止悲剧发生,没法远程连接

  #清空规则

  [root@centos ~]#/sbin/iptables -F          #清空所有规则

  [root@centos ~]#/sbin/iptables -X          #清空所有规则

  [root@centos ~]#/sbin/iptables -Z          #计数器置0

  [root@centos ~]##/etc/init.d/iptables status     #查看防火墙信息

  2.2设置规则,根据需求开启相应端口

  [root@centos ~]# iptables -A INPUT -i lo -j ACCEPT         #允许来自于lo接口的数据包,如果没有此规则,你将不能通过127.0.0.1访问本地服务

  [root@centos ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT          # TCP 22=远程登录协议 端口

  [root@centos ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT          #TCP 80=超文本服务器(Http),Executor,RingZero端口

  [root@centos ~]# iptables -A INPUT -p tcp -s 10.122.78.75 -j ACCEPT       #接受所有来自内网IP,10.241.121.15的TCP请求

  [root@centos ~]# iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  #接受ping

  [root@centos ~]# iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT  #确保正常和外部通信

  #其它规则,根据需求设定

  [root@centos ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT    #TCP 53=DNS,Bonk (DOS Exploit) 端口

  [root@centos ~]# iptables -A INPUT -p udp --dport 53 -j ACCEPT   #TCP 53=DNS,Bonk (DOS Exploit) 端口

  [root@centos ~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT #UDP 123=网络时间协议(NTP),Net Controller 端口

  [root@centos ~]# iptables -A INPUT -p icmp -j ACCEPT      

  #屏蔽

  [root@centos ~]# iptables -P INPUT DROP      #屏蔽上述规则以为的所有请求

  2.3保存设置

  [root@centos ~]# /etc/init.d/iptables save

  

  2.4重启服务

  [root@centos ~]# /etc/init.d/iptables restart

  2.5查看状态

  [root@centos ~]# /etc/init.d/iptables status

  3.添加普通用户并进行sudo授权管理

  [root@centos ~]# useradd user

  [root@centos ~]# echo "123456" | passwd --stdin user  #设置密码

  [root@centos ~]# vim /etc/sudoers  #或visudo打开,添加user用户所有权限

  root    ALL=(ALL)       ALL

  user    ALL=(ALL)       ALL

  4.禁用root远程登录

  [root@centos ~]# vim /etc/ssh/sshd_config

  PermitRootLoginno

  PermitEmptyPasswords no #禁止空密码登录

  UseDNSno #关闭DNS查询

  5.关闭不必要开机自启动服务

  

  

  6.删除不必要的系统用户

  

  7.关闭重启ctl-alt-delete组合键

  [root@centos ~]# vim /etc/init/control-alt-delete.conf

  #exec /sbin/shutdown -r now "Control-Alt-Deletepressed"  #注释掉

  

  8.调整文件描述符大小

  [root@centos ~]# ulimit –n #默认是1024

  1024

  [root@centos ~]# echo "ulimit -SHn 102400">> /etc/rc.local   #设置开机自动生效

  9.去除系统相关信息

  [root@centos ~]# echo "Welcome to Server" >/etc/issue

  [root@centos ~]# echo "Welcome to Server" >/etc/redhat-release

  10.修改history记录

  [root@centos ~]# vim /etc/profile  #修改记录10个

  HISTSIZE=10

  11.同步系统时间

  [root@centos ~]# cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime  #设置Shanghai时区

  [root@centos ~]# ntpdate cn.pool.ntp.org ;hwclock–w  #同步时间并写入blos硬件时间

  [root@centos ~]# crontab –e     #设置任务计划每天零点同步一次

  0 * * * * /usr/sbin/ntpdate cn.pool.ntp.org ; hwclock -w

  12.内核参数优化

  [root@centos ~]# vim /etc/sysctl.conf    #末尾添加如下参数

 

  net.ipv4.tcp_syncookies = 1            #1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN攻击,默认是0关闭

  net.ipv4.tcp_tw_reuse = 1             #1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭

  net.ipv4.tcp_tw_recycle = 1            #TCP失败重传次数,默认是15,减少次数可释放内核资源

  net.ipv4.ip_local_port_range = 4096 65000  #应用程序可使用的端口范围

  net.ipv4.tcp_max_tw_buckets = 5000     #系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000

  net.ipv4.tcp_max_syn_backlog = 4096    #进入SYN宝的最大请求队列,默认是1024

  net.core.netdev_max_backlog =  10240  #允许送到队列的数据包最大设备队列,默认300

  net.core.somaxconn = 2048              #listen挂起请求的最大数量,默认128

  net.core.wmem_default = 8388608        #发送缓存区大小的缺省值

  net.core.rmem_default = 8388608        #接受套接字缓冲区大小的缺省值(以字节为单位)

  net.core.rmem_max = 16777216           #最大接收缓冲区大小的最大值

  net.core.wmem_max = 16777216           #发送缓冲区大小的最大值

  net.ipv4.tcp_synack_retries = 2        #SYN-ACK握手状态重试次数,默认5

  net.ipv4.tcp_syn_retries = 2           #向外SYN握手重试次数,默认4

  net.ipv4.tcp_tw_recycle = 1            #开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭

  net.ipv4.tcp_max_orphans = 3276800     #系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息

  net.ipv4.tcp_mem = 94500000 915000000 927000000

  net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;

  net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;

  net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。

  至此CentOS 6.5_x64最小化安装系统基本优化调整完毕,需要重启下系统。

CentOS 6.5 安全加固及性能优化 (转)的更多相关文章

  1. [转]CentOS 6.5安全加固及性能优化

    原文链接:http://os.51cto.com/art/201312/423095.htm Centos 6.5 优化 一些基础优化和安全设置 这个也挺好 说明:经常玩Linux系统的朋友多多少少也 ...

  2. CentOS 6.5安全加固及性能优化

    (文章来自:http://www.cnblogs.com/seasonzone/p/3526296.html) 我们可以通过调整系统参数来提高系统内存.CPU.内核资源的占用,通过禁用不必要的服务.端 ...

  3. centos 6.5 安装 tomcat8 及性能优化_虚拟主机

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx.Apa ...

  4. RHEL/CentOS通用性能优化、安全配置参考

    RHEL/CentOS通用性能优化.安全配置参考 本文的配置参数是笔者在实际生产环境中反复实践总结的结果,完全适用绝大多数通用的高负载.安全性要求的网络服务器环境.故可以放心使用. 若有异议,欢迎联系 ...

  5. 安全开发运维必备,如何进行Nginx代理Web服务器性能优化与安全加固配置,看这篇指南就够了

    本章目录 1.引言 1.1 目的 1.2 目标范围 1.3 读者对象 2.参考说明 2.1 帮助参考 2.2 参数说明 3.3 模块说明 3.服务优化 3.1 系统内核 3.2 编译优化 3.3 性能 ...

  6. MySQL数据库性能优化与监控实战(阶段四)

    MySQL数据库性能优化与监控实战(阶段四) 作者 刘畅 时间 2020-10-20 目录 1 sys数据库 1 2 系统变量 1 3 性能优化 1 3.1 硬件层 1 3.2 系统层 1 3.3 软 ...

  7. Ceph性能优化总结(v0.94)

    优化方法论 做任何事情还是要有个方法论的,“授人以鱼不如授人以渔”的道理吧,方法通了,所有的问题就有了解决的途径.通过对公开资料的分析进行总结,对分布式存储系统的优化离不开以下几点: 1. 硬件层面 ...

  8. mysql性能优化学习笔记

    mysql性能优化 硬件对数据库的影响 CPU资源和可用内存大小 服务器硬件对mysql性能的影响 我们的应用是CPU密集型? 我们的应用的并发量如何? 数量比频率更好 64位使用32位的服务器版本 ...

  9. 利用 gperftools 对nginx mysql 内存管理 性能优化

    利用 gperftools 对nginx 与 mysql  进行 内存管理  性能优化 降低负载. Gperftools 是由谷歌开发.官方对gperftools 的介绍为: These tools ...

随机推荐

  1. JQuery实现无刷新下拉加载图片

          最近做的一个项目需要做页面无刷新下拉加载图片,调研了一番,大多都采用检测滚动条达到底部,然后利用ajax加载下一页数据对页面数据进行添加,根据这一逻辑,自己写了一个,具体代码如下: JQu ...

  2. extern

    gcc编译器编译程序有四个阶段,预处理.编译.汇编.链接.预处理阶段会将源代码中的包含的头文件如stdio.h编译进来:编译阶段,gcc首先要检查代码的规范性.是否有语法错误等,以确定代码的实际要做的 ...

  3. 在MonthCalendar控件中选中日期

    Calendar.MONTH Calendar now=Calendar.getInstance();System.out.print(now.get(Calendar.MONTH));得到的月份少1 ...

  4. DateUtil(比较两个日期是否是同一天)

    1.比较两个日期是否是同一天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date la ...

  5. sh 测试网段在线主机

    yum install nmap nmap -sP  192.168.21.1/24 查看网段在线主机 grep -vwf file1 file2 文件内容比较 #!/bin/bash # day=` ...

  6. C/C++调试工具gdb

    关于Gdb的使用,请参考:http://blog.csdn.net/haoel/article/details/2879

  7. squid 2.7 通过域名反向代理多个服务器的配置方法

    详细配置及注释如下,供大家学习参考. visible_hostname squid1.abc.com #设定squid的主机名,如无此项squid将无法启动 http_port 80 accel vh ...

  8. iOS图表库Charts集成与使用

    Charts是一个很优秀的图表库,它支持Android.iOS.tvOS和macOS,这样使用起来,可以节省学习成本,可以从GitHub上了解更多信息.本文记录在iOS项目上的集成与使用. Chart ...

  9. PHP 使用分页方法修改多数据字段

    这个标题听起来很别扭,需求是这样的.mysql中的customer表有5000条数据.现在要给customer表添加一个order_num 字段,客户每下单一次就update这个字段+1. 是的,新增 ...

  10. Java基础学习(三)

    /* java中的八种基本数据类型: 整数: byte . short . int . long 小数: float double 字符: char 布尔: boolean 字符串的类型: Strin ...