系统的优化
优化之前,首先查看版本信息

  1. cat /etc/redhat-release
  2. CentOS release 6.9 (Final)

查看内核版本

  1. uname -a
  2. Linux iZwz98akt9dh26btcaud2zZ 2.6.-696.10..el6.x86_64 # SMP Tue Aug :: UTC x86_64 x86_64 x86_64 GNU/Linux

基础优化与安全重点小结

  • 1 不用root登录管理系统,而以普通用户登录通过sudo授权管理
  • 2 更改默认的远程连接SSH服务端口,禁止root用户远程连接,甚至要更改SSH服务只监听内网IP
  • 3 定时自动更新服务器时间,使其和互联网同步
  • 4 配置yum更新源,从国内更新源下载安装软件包
  • 5 关闭SELinux
  • 6 定时自动清理临时目录日志,防止磁盘inodes数被小文件占满
  • 7 调整文件描述符的数量,进程及文件的打开都会消耗文件描述符的数量
  • 8 精简并保留必要的开机启动服务
  • 9 Linux内核参数优化/etc/sysctl.config,执行sysetl –p生效
  • 10 更改系统字符集, 为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。
  • 11 锁定关键文件,如: passwd、/etc/shadow/、/etc/group/、/etc/gshadow、/etc/inittab,处理以上内容后把chattr、lsattr、改名为root,转移走,这样就安全多了。
  • 12 清空/etc/issue /etcissue.net,去除系统及内核版本登录前的屏幕显示
  • 13 禁止主机被ping
  • 14 打补丁并升级有已知漏洞的软件

1.禁用root用户登陆管理系统
添加用户设置密码

  1. useradd user
  2. passwd user
  3. #修改配置文件
  4. vi /etc/ssh/sshd_config
  5. #找到“PermitRootLogin yes”把注释去掉 保存,然后重启sshd服务

利用sudo控制用户的使用权限
为了方便管理,可以给用户授权,过程:
输入vi sudoers找到98行,在下面放入如下内容:

  1. user ALL=(ALL) NOPASSWD: ALL <--all表示完全的系统权限,NOPASSWD表示提示权限命令时不需要密码
  2. #配置完成后要进行检查,命令如下:
  3. grep root /etc/sudoers
  4. oldboy ALL=(ALL) NOPASSWD: ALL

此时再以user用户登录系统时,就可以通过执行sudo ls –l /root (sudo后面跟正常命令)的命令以root用户的权限管理系统了,如下:

  1. ls /root/
  2. ls: cannot open directory /root/: Permission denied
  3. sudo ls /root/
  4. HostKeyDB.txt test.txt install.log woaini

2.修改ssh端口

  1. sed -i 's/#Port 22/Port 2121/' /etc/ssh/sshd_config
  2. #示例中将22端口改为2121此处记得开放防火墙端口
  3. /sbin/iptables -I INPUT -p tcp --dport -j ACCEPT
  4. /etc/rc.d/init.d/iptables save
  5. sed -i "/A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT/d" /etc/sysconfig/iptables
  6. service iptables restart

3.设置服务器时间同步

  1. ntpdate time.nist.gov<--时间同步
  2. ntpdate ntp1.aliyun.com<--国内阿里云时间同步服务器

利用定时任务crond把上述命令每5分钟自动执行一次,命令如下:

  1. echo '#time sync by root at 2017-11-03' >>/var/spool/cron/root
  2. echo '0 2 * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
  3. crontab l
  4. #time sync by root at --
  5. * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null >&

4.配置yum更新源并增加epel源

  1. mv /etc/yum.repos.d/CentOS-Base.repo{,.$(date +%F_%T).backup}
  2. wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  3. wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
  4. yum makecache

5.关闭selinux

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

6.定时清理日志缓存文件,清理日志脚本delOldLogs.sh:

  1. vim /data/sh/cleanlog/delOldLogs.sh
  2. #!/bin/sh
  3. #删除输入路径下的修改时间在45天以前的日志文件
  4. find $ -mtime + -name "*log*" -exec rm -f {} \;

指定清理哪些路径的日志的脚本

  1. del_all_OldLogs.sh
  2. vim /data/sh/cleanlog/del_all_OldLogs.sh
  3. #!/bin/bash
  4. /data/sh/cleanlog/delOldLogs.sh “/home/usr/ewp/logs
  5. /data/sh/cleanlog/delOldLogs.sh “/home/usr/h5/logs
  6. /data/sh/cleanlog/delOldLogs.sh “/home/usr/Payment/logs

给脚本添加执行权限:

  1. chmod a+x /data/sh/cleanlog/del*.sh

添加定时任务:

  1. vim /var/spool/cron/root
  2.  
  3. #添加以下内容:
  4.  
  5. * * /data/sh/cleanlog/del_all_OldLogs.sh

注:
1.为了防止出现权限不够的情况,因此这里设置了一个root用户的定时任务
2.这句代码的意思是:在每周6的0:10执行/data/sh/cleanlog/del_all_OldLogs.sh 这个脚本
查看定时任务:

  1. crontab -l

7.加大文件描述

  1. \cp /etc/security/limits.conf{,.$(date +%F_%T).backup}
  2. echo '* - nofile 65535' >> /etc/security/limits.conf
  3. tail - /etc/security/limits.conf
  4. # 重启生效
  5. ulimit -n

8.精简并保留必要的软件启动(如cron、network、sshd、rsyslog、sysstat)

  1. chkconfig --list|egrep -v "crond|ssh|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
  2. chkconfig --list|grep "3:on"

9.内核优化

  1. \cp /etc/sysctl.conf{,.$(date +%F_%T).backup}
  2. cat >>/etc/sysctl.conf<<EOF
  3. net.ipv4.tcp_fin_timeout =
  4. net.ipv4.tcp_tw_reuse =
  5. net.ipv4.tcp_tw_recycle =
  6. net.ipv4.tcp_syncookies =
  7. net.ipv4.tcp_keepalive_time =
  8. net.ipv4.ip_local_port_range =
  9. net.ipv4.tcp_max_syn_backlog =
  10. net.ipv4.tcp_max_tw_buckets =
  11. net.ipv4.route.gc_timeout =
  12. net.ipv4.tcp_syn_retries =
  13. net.ipv4.tcp_synack_retries =
  14. net.core.somaxconn =
  15. net.core.netdev_max_backlog =
  16. net.ipv4.tcp_max_orphans =
  17. # 以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理
  18. net.nf_conntrack_max =
  19. net.netfilter.nf_conntrack_max =
  20. net.netfilter.nf_conntrack_tcp_timeout_established =
  21. net.netfilter.nf_conntrack_tcp_timeout_time_wait =
  22. net.netfilter.nf_conntrack_tcp_timeout_close-wait =
  23. net.netfilter.nf_conntrack_tcp_timeout_fin_wait =
  24. EOF
  25. # 让内核配置文件中的参数生效
  26. sysctl -p

10.更改系统字符集, 为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。

  1. vim ~/.bash_profile
  2. #添加
  3. LANG="zh_CN.UTF-8"
  4. export LANG

11.锁定关键文件,如: passwd、/etc/shadow/、/etc/group/、/etc/gshadow、/etc/inittab,处理以上内容后把chattr、lsattr、改名为root,转移走,这样就安全多了。

  1. chattr +a /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab
    mv /usr/bin/chattr ~/.pki/root
    mv /usr/bin/lsattr ~/.pki/toor

12.清空/etc/issue /etcissue.net,去除系统及内核版本登录前的屏幕显示

  1. echo > /etc/issue
  2. echo > /etc/issue.net

13.禁止Linux系统被ping

  1. # 禁止ping
  2. echo > /proc/sys/net/ipv4/icmp_echo_ignore_all
  3. # 允许ping
  4. # echo > /proc/sys/net/ipv4/icmp_echo_ignore_all

购买一台阿里云云主机(CentOS)后的更多相关文章

  1. 关于外网无法访问阿里云主机CentOs

    前两天阿里云ECS搞活动,所有买了个三年的Ecs,然后照着之前在虚拟机同样的搭建服务器,一切都很正常,可是 当我配置好防火墙和nginx之后,发现个问题,外网无法访问. 思考: 1.我的nginx没配 ...

  2. 阿里云主机centos设置虚拟内存

    http://blog.csdn.net/luwei42768/article/details/51241758 https://my.oschina.net/u/2306127/blog/65726 ...

  3. 花1台的钱入手2台【最能抗DDoS】阿里云主机【攻略】

    花1台的钱入手2台[最能抗DDoS]阿里云主机[攻略]: 第一步:先申请0元半年 http://click.aliyun.com/m/335/:注:0元机器只有新帐号可申请第二步:再买6折37/月 h ...

  4. 在阿里云的CentOS环境中安装django

    购买了一台阿里云主机.操作系统为CentOS 6.5.准备在上面跑Django做Web开发.因为CentOS自带的python版本号较低,安装Django先要安装新版本号python.还是费了点周折. ...

  5. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

    最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  6. 阿里云修改CentOS Linux服务器的主机名

    阿里云主机的默认主机名是为AY开头的随机名称,如何修改为易于区分的友好名称呢?请看下面的操作步骤: 1. vi /etc/hosts i键,修改主机名,esc键,:wq键保存退出 2. vi /etc ...

  7. 安装 CentOS 后的系统配置及软件安装备忘

    安装 CentOS 后的系统配置及软件安装备忘 // */ // ]]>   安装 CentOS 后的系统配置及软件安装备忘 Table of Contents 1 Linux 自举过程 1.1 ...

  8. 放弃阿里云主机,选择高性价比Vultr VPS免备案

    阿里云主机ECS推广多年后,质量有所改善,但我依然强烈不推荐阿里云主机.考虑性价比带宽速度等因素后,我推荐的vps品牌有vultr和digitalocean,还有大名鼎鼎的linode,是中国用户的最 ...

  9. 阿里云云主机swap功能设置实战案例

    阿里云云主机swap功能设置实战案例 阿里云提供的云服务器(Elastic Compute Service,简称 ECS),是云主机的一种,当前采用的虚拟化驱动是Xen(这一点可以通过bios ven ...

随机推荐

  1. java方法调用及传参

    静态方法:有static修饰的方法. 非静态方法:没有static修饰的方法. 方法调用: 一静态方法调用 静态方法/属性 1)一个类:直接调用. 2)不同类/不同文件: a: 类名.属性名/方法名 ...

  2. 如何在列表,字典,集合中,根据条件筛选数据 -- Python数据结构与算法相关问题与解决技巧

    实际案例: 1.过滤掉列表 [3,9,-1,10,20,-2..]的负数 2.筛出字典{'LiLei':79,'Jim':88,'Lucy':92...}中值高于90的项 3.筛出集合 {77,89, ...

  3. C#后台获取根路径

    C#后台获取当前系统根路径: string absoluteurl = Context.Request.Url.AbsoluteUri.Replace(Context.Request.RawUrl, ...

  4. Ubuntu添加与删除PPA源

    目录 PPA,英文全称为 Personal Package Archives,即个人软件包档案.是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launc ...

  5. ubuntu中下载pycharm并添加到桌面

    方法一:下载Pycharm与安装 下载地址:https://www.jetbrains.com/pycharm/ Pycharm专业版和社区版对大多数人来说差别不大,区别如下: 我们下载Linux的社 ...

  6. DNS解析全过程详解

    1.Chrome浏览器 会首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否有www.linux178.com 对应的条目,而且没有过期,如 ...

  7. 重读ORB_SLAM之Tracking线程难点

    1. 初始化 当获取第一帧图像与深度图后,首先设置第一帧位姿为4*4单位矩阵,然后为整个map添加关键帧与地图点.且更新地图点与关键帧的联系,例如地图点被哪个关键帧观测到,而此关键帧又包含哪些地图点. ...

  8. SpringBoot整合Druid,密码加密

    1.application.yml配置 spring: datasource: url: jdbc:mysql://127.0.0.1:3306/jby?serverTimezone=UTC& ...

  9. 如何去掉万恶的wps屏保

    自从换了上个UI的电脑后,就莫名其妙的多了屏保,最开始以为屏蔽掉就好了,发现他依然不屈不挠的有,然后就百度了好多,也没找到...心累 今天终于开窍了,在角落里找打了.话不多说,上图 打开首页,找到应用 ...

  10. Alpha版本——展示博客【第二组】

    成员简介 章豪 http://cnblogs.com/roar/ 角色: PM,后端 个人介绍: 努力学习开发的小菜鸡,管理小白,背锅组长 贡献: - 设计开发计划 - 跟踪项目进行 - 组织开组会 ...