一、关闭SELinux功能

selinux功能太严苛,还是关闭了吧

法一:修改配置文件,永久生效

[root@web01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config   [root@web01 ~]# grep SELINUX=disabled /etc/selinux/config SELINUX=disabled

法二:临时关闭SELinux

[root@web01 ~]# getenforce Enforcing[root@web01 ~]# setenforce 0[root@web01 ~]# getenforce Permissive

二、精简系统开机自启动程序

系统运行过程中,很多无用的软件在后台启动,这些服务浪费了资源,而且也带来了安全隐患,因此要关闭。

需要保留的服务主要有

  • network:系统启动时,若想连接网络,必须要开启这个服务;
  • ssh:远程连接linux服务器是需要用到这个服务程序,所以必须要开启;
  • rsyslog:日志相关软件,排错很重要;
  • crontab:计划任务,生产场经常用到的软件;
  • sysstat:sysstat是一个软件包,包含监测系统性能及小路的一组工具,对于收集系统性能很有帮助;

法一:完全关闭所有服务,再开启需要保留的

[root@web01 ~]# LANG=en
[root@web01 ~]# :on|awk  $n off;done
[root@web01 ~]# chkconfig --list|grep :on
####没有结果,表示全部关闭了####
[root@web01 ~]#  $n on;done
[root@web01 ~]# chkconfig --list|grep :on
crond              :off    :off    :on    :on    :on    :on    :off
network            :off    :off    :on    :on    :on    :on    :off
rsyslog            :off    :off    :on    :on    :on    :on    :off
sshd               :off    :off    :on    :on    :on    :on    :off
sysstat            :off    :on    :on    :on    :on    :on    :off

法二:直接将所有启动的服务打印出来,去除需要开启的服务,其他服务全部关闭

[root@web02 ~]# :on|awk '{print $1}'|egrep -v "crond|network|sshd|rsyslog|sysstat");do chkconfig $n off;done
[root@web02 ~]# chkconfig --list|grep :on
crond              :off    :off    :on    :on    :on    :on    :off
network            :off    :off    :on    :on    :on    :on    :off
rsyslog            :off    :off    :on    :on    :on    :on    :off
sshd               :off    :off    :on    :on    :on    :on    :off
sysstat            :off    :on    :on    :on    :on    :on    :off

三、更改ssh服务端远程登陆的配置

ssh服务是知名服务,如果使用默认配置,容易被人暴力破解,在配置文件底部添加如下内容。

[root@web02 ~]# vim /etc/ssh/sshd_config
_______________split________________
Port 55525                    #修改默认端口
PermitRootLogin no                #禁止root远程登陆 
PermitEmptyPasswords no            #禁止密码为空的用户远程登陆
UseDNS no                     #禁用域名反向解析,启用会导致ssh连接慢的问题
GSSAPIAuthentication no            #解决linux之间使用ssh远程连接慢的问题ListenAddress 192.168.127.0:55525      #只监听内网ssh连接______________split_________________

四、调整系统的字符集设置

防止中文乱码,调整字符集,支持中文

[root@web01 ~]# echo $LANG
en_US.UTF-
[root@web01 ~]# cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@web01 ~]# cp /etc/sysconfig/i18n  /etc/sysconfig/i18n.ori
[root@web01 ~]#echo ‘LANG=”zh_CN.UTF-”’>/etc/sysconfig/i18n
[root@web01 ~]#source /etc/sysconfig/i18n                #使其生效
[root@web01 ~]#echo $LANG
zh_CN.UTF-8[root@web01 ~]# LANG=en                          #临时修改英文字符集

五、服务器时间同步

[root@web01 ~]# ntpdate time.nist.gov
 May :: ntpdate[]: step time server 132.163.97.3 offset 87738.066880 sec
[root@web01 ~]# echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root
[root@web01 ~]# crontab -l
*/ * * * * /usr/sbin/ntpdate time.nist.gov >/dev/>&

六、设置登陆超时及历史命令记录数

[root@web01 ~]# echo 'export TMOUT=300' >>/etc/profile
[root@web01 ~]# echo 'export HISTSIZE=5' >>/etc/profile
[root@web01 ~]# echo 'export HISTFILESIZE=5' >>/etc/profile
[root@web01 ~]# tail - /etc/profile
export TMOUT=300        #连接系统超过300秒,没有操作,自动退出系统
export HISTSIZE=5        #命令行的历史记录数量变量
export HISTFILESIZE=5      #历史记录文件的命令行数量(~/。bash_history)[root@web01 ~]# source /etc/profile

七、调整linux系统文件描述符数量

文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件。文件描述符与包括相关信息(如文件的打开模式、文件的位置类型、文件的初始类型等)的文件对象相关联,这些信息被称为文件的上下文。

对于内核而言,所有打开的文件都是通过文件描述符引用的,当打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。当读写一个文件时,使用open或creat返回的文件描述符标识该文件,并将其作为参数传递给read或write。

[root@web01 ~]# ulimit -n
1024                          #默认1024
[root@web01 ~]# echo '*    -    nofile    65535' >>/etc/security/limits.conf
[root@web01 ~]# tail - /etc/security/limits.conf
*    -    nofile
[root@web01 ~]# ulimit -n
65535  #调整为65535

八、linux服务器内核参数优化

[root@web01 ~]# cat>>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2   #
net.ipv4.tcp_tw_reuse =
net.ipv4.tcp_tw_recycle =
net.ipv4.tcp_syncookies =
net.ipv4.tcp_keepalive_time =
net.ipv4.ip_local_port_range =
net.ipv4.tcp_max_syn_backlog =
net.ipv4.tcp_max_tw_buckets =
net.ipv4.route.gc_timeout =
net.ipv4.tcp_syn_retries =
net.ipv4.tcp_synack_retries =
net.core.somaxconn =
net.core.netdev_max_backlog =
net.ipv4.tcp_max_orphans = 16384#########以下为iptables防火墙优化,如果防火墙未开启,会提示报错,可以忽略################
net.nf_conntrack_max =
net.netfilter.nf_conntrack_max =
net.netfilter.nf_conntrack_tcp_timeout_established =
net.netfilter.nf_conntrack_tcp_timeout_time_wait =
net.netfilter.nf_conntrack_tcp_timeout_close_wait =
net.netfilter.nf_conntrack_tcp_timeout_fin_wait =
EOF[root@web01 maildrop]# sysctl -p  #手动生效

九、定时清理邮件服务器临时目录垃圾文件

centos默认安装postfix(5为sendmail),因此邮件临时存放地/var/spool/postfix/maildrop/(5为/var/spool/clientmqueue/),需要经常清理,不然容易被垃圾文件填满,导致系统的inode数量不够用。

[root@web01 maildrop]# find /var/spool/postfix/defer/ -type f|xargs rm -f  #可以放在脚本里,每天定时任务运行

十、隐藏linux版本信息

linux在本地登陆时,会显示系统的版本和内核

[root@web01 ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

[root@web01 ~]# >/etc/issue
[root@web01 ~]# cat /etc/issue

十一、锁定关键系统文件,防止被提权篡改

[root@web01 maildrop]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab  #上锁
[root@web01 maildrop]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab  #解锁

十二、升级具有典型漏洞的软件版本

如:openssl openssh bash

[root@web01 maildrop]# rpm -qa openssl openssh bash
openssl-.el6.x86_64
bash--.el6_4.x86_64
openssh-.3p1-.el6.x86_64
[root@web01 maildrop]# yum install openssl openssh bash -y
[root@web01 maildrop]# rpm -qa openssl openssh bash
openssl-.el6.x86_64
openssh-.3p1-.el6_9.x86_64
bash--.el6.x86_64

十三、配置yum更新源

[root@web01 maildrop]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
[root@web01 maildrop]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

本文非原创,摘自老男孩书籍,整理于此,权为记忆。

centos6基础优化的更多相关文章

  1. CentOS6.X 系统安装后的基础优化

    特别说明:克隆之后的网卡修改 1 编辑eth0的配置文件:vi /etc/sysconfig/network-scripts/ifcfg-eth0, 删除HWADDR地址那一行及UUID的行如下: H ...

  2. Centos6.5 64linux系统基础优化(二)

    1  操作的最小化原则 1)安装系统最小化 2)开启程序服务最小化原则 3)操作最小化原则 4)登陆最小化原则;平时没有需求不用root登陆,要用普通登陆. 2  更改ssh服务默认端口及常规配置 # ...

  3. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  4. Linux基础优化与安全归纳总结

    一名运维工程师在运维岗位上时间久了,就会发现Linux优化的重要性,同时会给运维工作带来很多的便利性.本人逐渐认识到了这一点,所以特意在工作闲暇之余,通过阅读Linux相关书籍及向同事.同行高手咨询, ...

  5. CentOS7.5基础优化与常用配置

    目录 最小化全新安装CentOS7基础优化 配置yum源 安装常用软件 关闭防火墙 关闭SELinux 优化ulimit 历史命令记录改为1万条 把命令提示符改为绿色 添加vim配置文件 添加一个普通 ...

  6. centos 6.x 系统基础优化简版

    Centos 6.x 系统基础优化 1.更换国内yum源 删除系统带的centos官方yum源 rm -rf /etc/yum.repos.d/* 使用国内阿里云源 curl -o /etc/yum. ...

  7. Linux学习之六-Linux系统的基础优化

    Linux系统的基础优化 何谓'优化'.顾名思义,优化就是采取某些措施使某个东西或者某事物变得更加优异,出色.对于Linux而言,在初期安装好系统之后,也需要对其进行一定的基础优化,可分为安全上的优化 ...

  8. 系统基础优化 vim

    系统基础优化 vim 1系统基础优化 (CPU-lscpu 内存-free 磁盘-df 负载-w/uptime) 1.1 系统基础优化 准备工作:如何查看系统的信息 (1)cat /etc/redha ...

  9. Linux 基础优化

    1.操作的最小化原则 1)安装系统最小化 一般情况下安装OS时,软件安装包组(Package Group)的选择: base--------------------------基本环境 editors ...

随机推荐

  1. bzoj 3676: [Apio2014]回文串【后缀自动机+manacher】

    用manacher找出本质不同的回文子串放在SAM上跑 #include<iostream> #include<cstdio> #include<cstring> ...

  2. 洛谷 P4013 数字梯形问题【最大费用最大流】

    第一问:因为每个点只能经过一次,所以拆点限制流量,建(i,i',1,val[i]),然后s向第一行建(s,i,1,0),表示每个点只能出发一次,然后最后一行连向汇点(i',t,1,0),跑最大费用最大 ...

  3. git 文件回滚

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file.场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第 ...

  4. 【杂谈】小记一个ios11的bug

    前段时间,除了apple发布了新的硬件之外,同步还发布了新的操作系统,IOS11,当大家都将注意力聚焦在那个奇怪的刘海该如何适配的时候,笔者的项目在适配IOS11却出现了其他的问题. 众所周知,IOS ...

  5. nginx_uWSGI_django_virtualenv_supervisor发布web服务器

    nginx_uWSGI_django_virtualenv_supervisor发布web服务器 nginx 导论 123456789101112131415161718192021222324252 ...

  6. 行内元素对齐各种问题--从line-height和vertical-align的角度分析

    最近研究行内元素的对齐问题,发现img不管怎么设置,下边都有一块留白,强迫症无法忍受未知,于是开始了查阅探索之旅. 辗转来到张鑫旭的博客,他对行内盒子模型做了详细的介绍,包括“幽灵节点”,“line- ...

  7. spring 中文乱码问题

    spring 开发过程中的中文乱码问题主要分为以下几种: 1.前端传参数到后台前  就已经乱码. 这个很大原因就是前端的问题了! 2.传入后台后,乱码. 可能存在几个原因: 2.1 传入tomcat前 ...

  8. 有意思的String字符工具类

    对String的操作是Java攻城师必备的,一个优秀的攻城师是懒惰,他会把自己的一些常见的代码写成可提供拓展和复用的工具类或者工具库,这些是这些优秀工程师的法宝. 我就先从String这个基本操作开始 ...

  9. 如何参与一个GitHub开源项目?

    如何参与一个GitHub开源项目? 摘要:本文是Github官如何参与一个GitHub开源项目方给出的参与Github上开源项目的一些指导,对希望加入开源社区的开发者是一个不错的参考. 最近一年开源项 ...

  10. python学习笔记-02

    四.函数 1.定义函数 (1)定义规则 介绍列表方法的时候已经大概说过函数,学过数学的人都知道函数,给一个参数返回一个值.函数也可以自己定义.用如下的格式: >>>def 函数名(参 ...