(文章来自:http://www.cnblogs.com/seasonzone/p/3526296.html

我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结。

AD:2013云计算架构师峰会课程资料下载

说明:经常玩Linux系统的朋友多多少少也知道些系统参数优化和怎样增强系统安全性,系统默认的一些参数都是比较保守的,所以我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结:

操作系统:CentOS 6.5_x64最小化安装

1、主机名设置

  1. [root@localhost~]# vi /etc/sysconfig/network
  2. HOSTNAME=test.com
  3. [root@localhost~]# hostname test.com  #临时生效

2、关闭SELinux

  1. [root@localhost~]# vi /etc/selinux/config
  2. SELINUX=disabled
  3. [root@localhost~]# setenforce #临时生效
  4. [root@localhost~]# getenforce #查看selinux状态

3、清空防火墙并设置规则

  1. [root@localhost~]# iptables -F   #清楚防火墙规则
  2. [root@localhost~]# iptables -L   #查看防火墙规则
  3. [root@localhost~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  4. [root@localhost~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  5. [root@localhost~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
  6. [root@localhost~]# iptables -A INPUT -p udp --dport 53 -j ACCEPT
  7. [root@localhost~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT
  8. [root@localhost~]# iptables -A INPUT -p icmp -j ACCEPT
  9. [root@localhost~]# iptables -P INPUT DROP
  10. [root@localhost~]# /etc/init.d/iptables save

#根据需求开启相应端口

4、添加普通用户并进行sudo授权管理

  1. [root@localhost~]# useradd user
  2. [root@localhost~]# echo "123456" | passwd --stdin user  #设置密码
  3. [root@localhost~]# vi /etc/sudoers  #或visudo打开,添加user用户所有权限
  4. root    ALL=(ALL)       ALL
  5. user    ALL=(ALL)       ALL

5、禁用root远程登录

  1. [root@localhost~]# vi /etc/ssh/sshd_config
  2. PermitRootLoginno
  3. PermitEmptyPasswords no #禁止空密码登录
  4. UseDNSno #关闭DNS查询

6、关闭不必要开机自启动服务

7、删除不必要的系统用户

8、关闭重启ctl-alt-delete组合键

  1. [root@localhost ~]# vi /etc/init/control-alt-delete.conf
  2. #exec /sbin/shutdown -r now "Control-Alt-Deletepressed"  #注释掉

9、调整文件描述符大小

  1. [root@localhost ~]# ulimit –n #默认是1024
  2. 1024
  3. [root@localhost ~]# echo "ulimit -SHn 102400">> /etc/rc.local   #设置开机自动生效

10、去除系统相关信息

  1. [root@localhost ~]# echo "Welcome to Server" >/etc/issue
  2. [root@localhost ~]# echo "Welcome to Server" >/etc/redhat-release

11、修改history记录

  1. [root@localhost ~]# vi /etc/profile  #修改记录10个
  2. HISTSIZE=10

12、同步系统时间

  1. [root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime  #设置Shanghai时区
  2. [root@localhost ~]# ntpdate cn.pool.ntp.org ;hwclock–w  #同步时间并写入blos硬件时间
  3. [root@localhost ~]# crontab –e     #设置任务计划每天零点同步一次
  4. 0 * * * * /usr/sbin/ntpdate cn.pool.ntp.org ; hwclock -w

13、内核参数优化

  1. [root@localhost ~]# vi /etc/sysctl.conf    #末尾添加如下参数
  2. net.ipv4.tcp_syncookies = 1            #1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN攻击,默认是0关闭
  3. net.ipv4.tcp_tw_reuse = 1             #1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭
  4. net.ipv4.tcp_tw_recycle = 1            #TCP失败重传次数,默认是15,减少次数可释放内核资源
  5. net.ipv4.ip_local_port_range = 4096 65000  #应用程序可使用的端口范围
  6. net.ipv4.tcp_max_tw_buckets = 5000     #系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000
  7. net.ipv4.tcp_max_syn_backlog = 4096    #进入SYN宝的最大请求队列,默认是1024
  8. net.core.netdev_max_backlog =  10240  #允许送到队列的数据包最大设备队列,默认300
  9. net.core.somaxconn = 2048              #listen挂起请求的最大数量,默认128
  10. net.core.wmem_default = 8388608        #发送缓存区大小的缺省值
  11. net.core.rmem_default = 8388608        #接受套接字缓冲区大小的缺省值(以字节为单位)
  12. net.core.rmem_max = 16777216           #最大接收缓冲区大小的最大值
  13. net.core.wmem_max = 16777216           #发送缓冲区大小的最大值
  14. net.ipv4.tcp_synack_retries = 2        #SYN-ACK握手状态重试次数,默认5
  15. net.ipv4.tcp_syn_retries = 2           #向外SYN握手重试次数,默认4
  16. net.ipv4.tcp_tw_recycle = 1            #开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭
  17. net.ipv4.tcp_max_orphans = 3276800     #系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息
  18. net.ipv4.tcp_mem = 94500000 915000000 927000000
  19. net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;
  20. net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;
  21. net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。

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

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

  1. CentOS 6.5 安全加固及性能优化 (转)

    通过修改CentOS 6.5 的系统默认设置,对系统进行安全加固,进行系统的性能优化. 环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Centos-6.5- ...

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

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

  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. Thinkphp入门 一 (45)

    原文:Thinkphp入门 一 (45) 什么是框架? 就是一堆代码的集合,这些代码可以有变量.常量.函数.类等等.这些代码彼此紧密联系,彼此有合作关系.里边还有设计模式:MVC.单例.工厂等等. 为 ...

  2. cocos2d-x游戏开发系列教程-编译运行我们的第一个cocos2d-x游戏程序

    环境准备和介绍: 操作系统:64位Windows 7 sp1(Microsoft Windows [版本 6.1.7601]) 必要的软件和源码: visual_studio_ultimate_201 ...

  3. 关于Android配色 自适应颜色的实现

    在Android4.4系统中,更加详细地介绍了关于颜色的细节并提供了使用colour的新教程,以使我们的应用更加独一无二.也就是说,作为一个设计师或者开发者,为你的APP做完美的配色已经变成了你的职责 ...

  4. Introduction to Probability (三) Independence

    两个事件独立性的定义是:事件A的发生对事件B的发生毫无影响,即从A的发生与否.我们不能猜測出B是否发生. 从概率等式的表示来看就是B在A发生的情况下发生的概率等于B发生的概率本身. 进而引出了A与B同 ...

  5. Delphi XE7 用indy开发微信公众平台所有功能(10篇博客)

    http://www.cnblogs.com/devinlee/p/4282498.html http://www.cnblogs.com/devinlee/p/4565933.html

  6. dwz+jquery+fileupload+springmvc实现文件上传 及图片预览

    1 前台jsp:文件的上传利用了iframe实现局部刷新功能.使用了apache的fileupload组件,用到的jar: commons-fileupload.jar,commons-io.jarD ...

  7. oracle 之数据字典屣履造门。

     oracle 之数据字典屣履造门.(更新中)       今天是2013-06-20,哎,写这篇笔记的时候,我发现我是一个非常懒惰的人,这篇文章本该昨天就完成的,想起了钱鹤滩的<明日歌> ...

  8. Swift - 操作SQLite数据库(引用SQLite3库)

    SQLite轻量级数据库在移动应用中使用非常普遍,但是目前的库是C编写的,为了方便使用,对SQLite相关的操作用Swift进行了封装.这个封装代码使用了一个开源项目SQLiteDB,地址是:http ...

  9. 爬虫框架: DotnetSpider

    [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计 一 ,为什么要造轮子 有兴趣的同学可以去各大招聘网站看一下爬虫工程师的要求,大多是JAVA,PYTH ...

  10. javascript中使用Map

    mis.comm.js.Map = function() { this.elements = new Array(); //获取MAP元素个数 this.size = function() { ret ...