通过修改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. sh6.脚本磁盘分区格式化

    练习1. 写一个脚本,通过ping 命令测试192.168.0.100到192.168.0.254之间的所有主机是否在线, 如果在线,就显示"ip is up."IP为真实IP地址 ...

  2. 【jQuery】--图片轮播

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. apk反编译工具

    反编译工具: apktool:资源文件获取,可以提取出图片文件和布局文件进行使用查看 dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件) jd-gui:查看APK中 ...

  4. Css样式表【边界边框】【列表方块】

    一.如何给div加边框?[边界边框] 我们先做一个整个边框,并附加成绿色的边框. ①使用属性border进行设置. →→ ②也可以单独更改某个边的边框线的颜色,利用border属性更改. 如果将div ...

  5. thinkphp导入导出excel表单数据

    在PHP项目经常要导入导出Excel表单. 先去下载PHPExcel类库文件,放到相应位置. 我在thinkphp框架中的位置为ThinkPHP/Library/Org/Util/ 导入 在页面上传e ...

  6. C++ 关键字浅谈

    这里有一个游戏:要求写一个符合C++标准的程序,包含至少十个连续而且不同的关键字.连续是指不能被标识符.运算符.标点符号分割.注意这里的“不同”要求,别想用 int main() { return s ...

  7. Qt基本框架介绍

    #include <QApplication>#include <QWidget> int main(int argc, char *argv[]){ QApplication ...

  8. ConcurrentAsyncQueue 2014-09-07

    #define NET45 namespace Test { using System; using System.Threading; using System.Threading.Tasks; u ...

  9. Linux中安装NodeJs 、cnpm 、npm

    一.安装NodeJs 切换到 cd /usr/local/src/ 下载nodejs wget https://nodejs.org/dist/v6.9.3/node-v6.9.3-linux-x64 ...

  10. animation_Frame动画图片轮播

    我们刚接触的时候想弄一个轮播图片的一个小案例,但一开始我们以为和以前写java一样,要写一下方法,逻辑:但今天你学了这个Frame动画就可以轻松搞定!下面我们来看看这个Frame是怎么实现的. 第一步 ...