环境说明:

[root@server1 ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@server1 ~]# uname -r
2.6.-.el6.x86_64

1、更改yum源:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup        <<-备份系统自带yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo <<—国内使用阿里云yum源速度比较快
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo 注:镜像官方网址http://mirrors.aliyun.com/ 如有自建yum仓可以更改成自建yum仓地址信息

2、关闭selinux

永久关闭(需要重启系统)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 临时关闭(无需重启)
setenforce
数字0表示Premissive,即给出警告提示,不会阻止操作,相当于disabled
数字1表示Enfocing,即表示SELinux为开启状态 getenforce <<-查看selinux当前状态

3、关闭iptables

/etc/init.d/iptables stop          <<-关闭iptables服务
/etc/init.d/iptables status <<-查看iptables状态
chkconfig iptables off <<—开机启动关闭

4、精简开机启动

chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash       <<-关闭服务
chkconfig --list|grep :on <<-检查开机启动的服务

5、更改字符集(选做)

cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
echo 'LANG="zh_CN.UTF-8"' >/etc/sysconfig/i18n
source /etc/sysconfig/i18n
echo $LANG

6、普通用户提权(mmod)

useradd mmod
echo |passwd --stdin mmod
\cp /etc/sudoers /etc/sudoers.ori
echo "mmod ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail - /etc/sudoers
visudo -c

7、时间同步

echo '#time sync by mmod at 2015-2-1' >>/var/spool/cron/root
echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root
crontab -l 注:集群中有时间服务器,更改成时间服务器地址

8、命令行安全(选配)

设置闲置账号超时时间
echo 'export TMOUT=300' >>/etc/profile 命令行历史记录数
echo 'export HISTSIZE=5' >>/etc/profile
echo 'export HISTFILESIZE=5' >>/etc/profile
tail - /etc/profile
./etc/profile

9、加大文件描述

echo '*               -       nofile          65535' >>/etc/security/limits.conf
tail - /etc/security/limits.conf

10、内核优化

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 <<-配置完成后查看

11、下载安装基础软件

yum install lrzsz nmap tree dos2unix nc -y

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

centos 5版本
find /var/spool/clientmqueue/ -type f | xargs rm -f centos .x版本
find /var/spool/postfix/maildrop/ -type f | xargs rm -f 写成脚本,做定时任务
mkdir -p /server/scripts/
echo "find /var/spool/postfix/maildrop/ -type f | xargs rm -f " > /server/scripts/del_mailfile.sh echo "00 00 * * * /bin/bash /server/scripts/del_mailfile.sh > /dev/null 2>&1"

13、隐藏linux版本信息显示

[root@server1 ~]# > /etc/issue
[root@server1 ~]# > /etc/issue.net
[root@server1 ~]# cat /etc/issue.net
[root@server1 ~]# cat /etc/issue

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

chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

使用lsattr 进行查看,chattr -i进行解锁

15、为grub菜单加密

先利用/sbin/grub-md5-crypt 产生一个MD5密钥串,命令如下:
[root@m01 ~]# /sbin/grub-md5-crypt
Password:
Retype password:
$$SQxvZ/$AXRHUbkNy9EkDHtmoEoQS0 修改grub.conf文件,命令如下:
[root@m01 ~]# vim /etc/grub.conf # grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,)
# kernel /vmlinuz-version ro root=/dev/sda3
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=
timeout=
splashimage=(hd0,)/grub/splash.xpm.gz
hiddenmenu
passwd --md5 $$SQxvZ/$AXRHUbkNy9EkDHtmoEoQS0
#注意:password要加在splashimage和title之间,否则无法生效
title CentOS (2.6.-.el6.x86_64)
root (hd0,)
kernel /vmlinuz-2.6.-.el6.x86_64 ro root=UUID=33ec961c-16e1--bdbf-644bfdabf1eb rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF- rd_NO_LV

16、禁止linux系统被ping(选配)

echo "net.ipv4.icmp_echo_ignore_all=1"  >> /etc/sysctl.conf

sysctl -p

拓展:设置特定ip可以ping
iptables -t filter -I INPUT -p icmp --icmp-type 8 -i eth0 -s 10.0.0.0/24 -j ACCEPT

17、升级具有典型漏洞

查看相关软件的版本号,命令如下:
[root@m01 ~]# rpm -qa openssl openssh bash
openssl-1.0.1e-.el6.x86_64
bash-4.1.-.el6.x86_64
openssh-.3p1-.el6.x86_64 升级已知漏洞的软件版本到最新,命令如下:
yum install openssl openssh bash -y

18、更改ssh服务端远程登录的配置

 修改默认文件路径
vim /etc/ssh/sshd_config 修改的参数
port #端口
PermitEmptyPasswords #是否允许密码为空的用户远程登录
PermitRootLogin #是否允许root登录
UseDNS #指定sshd是否应该对远程主机名进行反向解析,以检查主机名是否与其IP地址真实对应。默认yes.建议改成no ,否则可能会导致SSH连接很慢。
GSSAPIAuthentication no #解决linux之间使用SSH远程连接慢的问题
ListenAddress #监听指定的IP地址 12 批量操作:
sed -ir '13 iPort 55666\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no' /etc/ssh/sshd_config

安装linux系统后调优及安全设置的更多相关文章

  1. Linux系统调优及安全设置

    1.关闭SELinux #临时关闭 setenforce 0 #永久关闭 vim /etc/selinux/config SELINUX=disabled 2.设定运行级别为3 #设定运行级别 vim ...

  2. Linux:U盘安装Linux系统

    前天一个同学找我帮忙安装Linux系统,没有光盘,也不想在虚拟机里安装,在此情况下,我就采用U盘方式来安装Linux系统了.又想到还有其他人可能也不会 使用U盘安装系统,这里就作一个简单的介绍. 1. ...

  3. 虚拟机安装Linux系统图文教程

    虚拟机安装Linux系统图文教程 | 浏览:523 | 更新:2014-09-16 15:31 1 2 3 4 5 6 7 分步阅读 Linux系统的安装 工具/原料 VMware 9.0 虚拟机 L ...

  4. 使用VMware10虚拟机安装Linux系统(能力工场)

    作为IT从业人员,我们经常使用到Linux系统,但是实际开发过程我们通常在Windows平台操作,为了满足工作需要,这个时候我们通常在windows平台安装虚拟机,并在其上建立linux系统,这样就极 ...

  5. 安装Linux系统,学习Linux操作基础

    20189230杨静怡 2018-2019-2 <移动平台开发实践>第1周学习总结 安装Linux系统内容总结 一.学习"基于VirtualBox虚拟机安装Ubuntu图文教程& ...

  6. VM虚拟机 安装linux系统

    首先需要下载VMware10 和CentOS-6.4,我这边提供了百度网盘,可供下载链接:https://pan.baidu.com/s/1vrJUK167xnB2JInLH890fw 密码:r4jj ...

  7. 虚拟机virtualBox安装linux系统 xshell远程连接linux

    虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...

  8. 部署虚拟环境安装Linux系统

      目录                                                              准备工作 安装linux系统 重置root管理员密码 源代码编译 R ...

  9. 如何在Windows环境下安装Linux系统虚拟机

    如何在Windows环境下安装Linux系统虚拟机 本篇经验写给想要入门学习C语言的小白们.Windows系统因为使用窗口图形化,操作简单,功能多样,所以我们在Windows环境下可以做到很多,但想要 ...

随机推荐

  1. java事务 深入Java事务的原理与应用

    一.什么是JAVA事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (iso ...

  2. NO--13微信小程序,左右联动

    写在前面: 从2016年张小龙发布微信小程序这种新的形态,到2017年小程序的不温不火,再到今年小程序的大爆发,从一度刷爆朋友圈的‘头脑王者’,再到春节聚会坐在一起的火爆小游戏“跳一跳",都 ...

  3. birt 访问频繁报错Cannot create JDBC driver of class '' for connect URL 'null' java.sql.SQLException: No suitable driver

    一般birt项目都是部署tomcat启动.这个问题大概率是因为没有配置JNDI数据源的原因. 参考链接: https://www.cnblogs.com/xdp-gacl/p/3951952.html

  4. Netty源码分析第7章(编码器和写数据)---->第1节: writeAndFlush的事件传播

    Netty源码分析第七章: 编码器和写数据 概述: 上一小章我们介绍了解码器, 这一章我们介绍编码器 其实编码器和解码器比较类似, 编码器也是一个handler, 并且属于outbounfHandle ...

  5. 基于openvswitch+Docker构建SDN网络测试环境 (使用ovs-docker进行构建)

    这是一篇之前写的笔记,主要记录了使用openvswitch + Docker 等进行一个小型的SDN网络搭建的操作步骤.由于 之前临时有其他任务,耽搁了一下,最近开始重新整理,并计划开发一个简单的Py ...

  6. 用线性分类器实现预测鸢尾花的种类(python)

    这是个人学习时跑的代码,结果就不贴了,有需要的可以自己运行,仅供参考,有不知道的可以私下交流,有问题也可以联系我.当然了我也只能提供一点建议,毕竟我也只是初学者 第一个页面 # -*- coding: ...

  7. Tomcat部署与使用

    Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发 ...

  8. route命令详情

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/lpfuture/p/5857738.html 考试题一:linux下如何添加路由(百度面试题) 以上是原题,老男孩老师 ...

  9. 第十四次ScrumMeeting博客

    第十四次ScrumMeeting博客 本次会议于12月3日(日)22时整在3公寓725房间召开,持续30分钟. 与会人员:刘畅.辛德泰.张安澜.方科栋. 1. 每个人的工作(有Issue的内容和链接) ...

  10. FFmpeg简单转码程序--视频剪辑

    学习了雷神的文章,慕斯人分享精神,感其英年而逝,不胜唏嘘.他有分享一个转码程序<最简单的基于FFMPEG的转码程序>其中使用了filter(参考了ffmpeg.c中的流程),他曾说想再编写 ...