购买一台阿里云云主机(CentOS)后
系统的优化
优化之前,首先查看版本信息
cat /etc/redhat-release
CentOS release 6.9 (Final)
查看内核版本
uname -a
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用户登陆管理系统
添加用户设置密码
useradd user
passwd user
#修改配置文件
vi /etc/ssh/sshd_config
#找到“PermitRootLogin yes”把注释去掉 保存,然后重启sshd服务
利用sudo控制用户的使用权限
为了方便管理,可以给用户授权,过程:
输入vi sudoers找到98行,在下面放入如下内容:
user ALL=(ALL) NOPASSWD: ALL <--all表示完全的系统权限,NOPASSWD表示提示权限命令时不需要密码
#配置完成后要进行检查,命令如下:
grep root /etc/sudoers
oldboy ALL=(ALL) NOPASSWD: ALL
此时再以user用户登录系统时,就可以通过执行sudo ls –l /root (sudo后面跟正常命令)的命令以root用户的权限管理系统了,如下:
ls /root/
ls: cannot open directory /root/: Permission denied
sudo ls /root/
HostKeyDB.txt test.txt install.log woaini
2.修改ssh端口
sed -i 's/#Port 22/Port 2121/' /etc/ssh/sshd_config
#示例中将22端口改为2121此处记得开放防火墙端口
/sbin/iptables -I INPUT -p tcp --dport -j ACCEPT
/etc/rc.d/init.d/iptables save
sed -i "/A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT/d" /etc/sysconfig/iptables
service iptables restart
3.设置服务器时间同步
ntpdate time.nist.gov<--时间同步
ntpdate ntp1.aliyun.com<--国内阿里云时间同步服务器
利用定时任务crond把上述命令每5分钟自动执行一次,命令如下:
echo '#time sync by root at 2017-11-03' >>/var/spool/cron/root
echo '0 2 * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1' >>/var/spool/cron/root
crontab –l
#time sync by root at --
* * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null >&
4.配置yum更新源并增加epel源
mv /etc/yum.repos.d/CentOS-Base.repo{,.$(date +%F_%T).backup}
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum makecache
5.关闭selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config
6.定时清理日志缓存文件,清理日志脚本delOldLogs.sh:
vim /data/sh/cleanlog/delOldLogs.sh
#!/bin/sh
#删除输入路径下的修改时间在45天以前的日志文件
find $ -mtime + -name "*log*" -exec rm -f {} \;
指定清理哪些路径的日志的脚本
del_all_OldLogs.sh:
vim /data/sh/cleanlog/del_all_OldLogs.sh
#!/bin/bash
/data/sh/cleanlog/delOldLogs.sh “/home/usr/ewp/logs”
/data/sh/cleanlog/delOldLogs.sh “/home/usr/h5/logs”
/data/sh/cleanlog/delOldLogs.sh “/home/usr/Payment/logs”
给脚本添加执行权限:
chmod a+x /data/sh/cleanlog/del*.sh
添加定时任务:
vim /var/spool/cron/root #添加以下内容: * * /data/sh/cleanlog/del_all_OldLogs.sh
注:
1.为了防止出现权限不够的情况,因此这里设置了一个root用户的定时任务
2.这句代码的意思是:在每周6的0:10执行/data/sh/cleanlog/del_all_OldLogs.sh 这个脚本
查看定时任务:
crontab -l
7.加大文件描述
\cp /etc/security/limits.conf{,.$(date +%F_%T).backup}
echo '* - nofile 65535' >> /etc/security/limits.conf
tail - /etc/security/limits.conf
# 重启生效
ulimit -n
8.精简并保留必要的软件启动(如cron、network、sshd、rsyslog、sysstat)
chkconfig --list|egrep -v "crond|ssh|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash
chkconfig --list|grep "3:on"
9.内核优化
\cp /etc/sysctl.conf{,.$(date +%F_%T).backup}
cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout =
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 =
# 以下参数是对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
# 让内核配置文件中的参数生效
sysctl -p
10.更改系统字符集, 为“zh_CN.UTF-8”,使其支持中文,防止出现乱码问题。
vim ~/.bash_profile
#添加
LANG="zh_CN.UTF-8"
export LANG
11.锁定关键文件,如: passwd、/etc/shadow/、/etc/group/、/etc/gshadow、/etc/inittab,处理以上内容后把chattr、lsattr、改名为root,转移走,这样就安全多了。
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,去除系统及内核版本登录前的屏幕显示
echo > /etc/issue
echo > /etc/issue.net
13.禁止Linux系统被ping
# 禁止ping
echo > /proc/sys/net/ipv4/icmp_echo_ignore_all
# 允许ping
# echo > /proc/sys/net/ipv4/icmp_echo_ignore_all
购买一台阿里云云主机(CentOS)后的更多相关文章
- 关于外网无法访问阿里云主机CentOs
前两天阿里云ECS搞活动,所有买了个三年的Ecs,然后照着之前在虚拟机同样的搭建服务器,一切都很正常,可是 当我配置好防火墙和nginx之后,发现个问题,外网无法访问. 思考: 1.我的nginx没配 ...
- 阿里云主机centos设置虚拟内存
http://blog.csdn.net/luwei42768/article/details/51241758 https://my.oschina.net/u/2306127/blog/65726 ...
- 花1台的钱入手2台【最能抗DDoS】阿里云主机【攻略】
花1台的钱入手2台[最能抗DDoS]阿里云主机[攻略]: 第一步:先申请0元半年 http://click.aliyun.com/m/335/:注:0元机器只有新帐号可申请第二步:再买6折37/月 h ...
- 在阿里云的CentOS环境中安装django
购买了一台阿里云主机.操作系统为CentOS 6.5.准备在上面跑Django做Web开发.因为CentOS自带的python版本号较低,安装Django先要安装新版本号python.还是费了点周折. ...
- 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器
最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...
- 阿里云修改CentOS Linux服务器的主机名
阿里云主机的默认主机名是为AY开头的随机名称,如何修改为易于区分的友好名称呢?请看下面的操作步骤: 1. vi /etc/hosts i键,修改主机名,esc键,:wq键保存退出 2. vi /etc ...
- 安装 CentOS 后的系统配置及软件安装备忘
安装 CentOS 后的系统配置及软件安装备忘 // */ // ]]> 安装 CentOS 后的系统配置及软件安装备忘 Table of Contents 1 Linux 自举过程 1.1 ...
- 放弃阿里云主机,选择高性价比Vultr VPS免备案
阿里云主机ECS推广多年后,质量有所改善,但我依然强烈不推荐阿里云主机.考虑性价比带宽速度等因素后,我推荐的vps品牌有vultr和digitalocean,还有大名鼎鼎的linode,是中国用户的最 ...
- 阿里云云主机swap功能设置实战案例
阿里云云主机swap功能设置实战案例 阿里云提供的云服务器(Elastic Compute Service,简称 ECS),是云主机的一种,当前采用的虚拟化驱动是Xen(这一点可以通过bios ven ...
随机推荐
- Note1
1.关于数据库主从备份与读写分离 主服务器数据库的每次操作都会记录在二进制日志文件mysql-bin.xxx中.从服务器的I/O线程使用专用帐号登陆到主服务器中读取该二进制文件,并将文件内容写入到自己 ...
- 洛谷P4169 [Violet]天使玩偶/SJY摆棋子(CDQ分治)
[Violet]天使玩偶/SJY摆棋子 题目传送门 解题思路 用CDQ分治开了氧气跑过. 将输入给的顺序作为第一维的时间,x为第二维,y为第三维.对于距离一个询问(ax,ay),将询问分为四块,左上, ...
- 洛谷P2387 [NOI2014]魔法森林(LCT)
魔法森林 题目传送门 解题思路 把每条路按照\(a\)的值从小到大排序.然后用LCT按照b的值维护最小生成树,将边按照顺序放入.如果\(1\)到\(n\)有了一条路径,就更新最小答案.这个过程就相当于 ...
- Infinity、-Infinity和NaN
首先看看这三个代表什么: Infinity:正无穷大 -Infinity:负无穷大 NaN:Not a Number 当float或double类型的数除零时, 当被除数为非零值时,结果为无穷大 当被 ...
- QTP使用Smtp协议发送邮件
NameSpace = "http://schemas.microsoft.com/cdo/configuration/" Set Email = CreateObject(&qu ...
- 首次使用Git将码云上的代码Clone至本地
使用Git将码云上的代码Clone至本地 1. 安装Git https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-G ...
- 用其他音乐源帮帮网易云,Windows听歌利器
镜像文章 1.用其他音乐源帮帮网易云,Ubuntu听歌利器 2.用其他音乐源帮帮网易云,Android听歌利器 只剩下Windows端了,一并送上. 1.Windows懒人版 1.1第一种懒人方法 下 ...
- javaIO流(二)--字节流与字符流
一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...
- 【学习总结】Python-3-运算符优先级
参考:菜鸟教程-Python3运算符 运算符优先级-表 特别注意:逻辑运算符内部的优先级顺序-考点!!!! END
- C# 编程--数组
数组 可以帮我我们一次声明存储多个相同类型的变量.用来解决同一类大量数据在内存存储和运算的功能特点:连续.同一类数据数组定义==>赋值==>取值 定义: int[] n ...