安装linux系统后调优及安全设置

环境说明:

[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[[email protected] ~]# uname -r
2.6.32-696.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
数字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 3: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 123456|passwd --stdin mmod
\cp /etc/sudoers /etc/sudoers.ori
echo "mmod  ALL=(ALL) NOPASSWD: ALL " >>/etc/sudoers
tail -1 /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 -3 /etc/profile
./etc/profile

9、加大文件描述

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

10、内核优化

cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000    65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
#以下参数是对iptables防火墙的优化,防火墙不开会提示,可以忽略不理。
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established = 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120
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 6.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版本信息显示

[[email protected] ~]# > /etc/issue
[[email protected] ~]# >  /etc/issue.net
[[email protected] ~]# cat /etc/issue.net
[[email protected] ~]# 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密钥串,命令如下:
[[email protected] ~]# /sbin/grub-md5-crypt
Password:
Retype password:
$1$SQxvZ/$AXRHUbkNy9EkDHtmoEoQS0

修改grub.conf文件,命令如下:
[[email protected] ~]# 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,0)
#          kernel /vmlinuz-version ro root=/dev/sda3
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
passwd --md5 $1$SQxvZ/$AXRHUbkNy9EkDHtmoEoQS0
#注意:password要加在splashimage和title之间,否则无法生效
title CentOS 6 (2.6.32-696.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=33ec961c-16e1-4234-bdbf-644bfdabf1eb rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LV

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

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

sysctl -p

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

17、升级具有典型漏洞

查看相关软件的版本号,命令如下:
[[email protected] ~]# rpm -qa openssl openssh bash
openssl-1.0.1e-57.el6.x86_64
bash-4.1.2-48.el6.x86_64
openssh-5.3p1-122.el6.x86_64

升级已知漏洞的软件版本到最新,命令如下:
yum install openssl openssh bash -y

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

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

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

linux系统调优及安全设置

(1)关闭SELinux功能 它是美国安全局(NSA)对于强制访问控制的实现,我们需要把它关闭这也是生产环境的做法. [[email protected] ~]#sed -i 's#SELINUX=enforcing#SELINUX=diasbled#g' /etc/selinux/config [[email protected] ~]# cat /etc/selinux/config # This file controls the state of SELinux on the syste

如何安装Linux系统

写在最前面,本人新手,刚接触Linux系统,所做的操作以文本的形式记录下来.视频我看的是老段讲的鸟哥的Linux私房菜.后续陆续会写其他的,算是看过的视频然后做个总结吧.第一次写就从如何安装Linux系统开始吧. 前面设置如何从光盘引导启动就不啰嗦了,大家都会,我就从引导开始界面写吧. 1.电脑引导从光盘启动进入如下界面.默认光标是选择在第一项的,我们就选泽这一项然后回车就可以了. 2.回车以后过1分钟左右会出现如下界面,这是询问我们是否要检查镜像的完整性,如果想检查就选择OK然后回车,这个过程

在Virtual Box上安装linux系统,启动SSH服务

? 一.????在Virtual Box上创建虚拟机????1 二.????安装linux系统????6 三.????重新设置 root 的密码:????8 四.????启动ssh服务????8 五.????建立共享文件夹????9 ? ? 摘自以下网页内容: 如何在Virtual Box上安装linux系统 : http://jingyan.baidu.com/album/2009576197fd24cb0721b409.html?picindex=1 Linux终端得到root权限 :htt

最新最全linux系统调优指南(centos7.X)

linux系统调优指南(centos7.X) 欢迎关注我最新博客地址:https://owelinux.github.io/ 关闭不必要的服务(如打印服务等) for owelinux in `chkconfig --list | grep "3:on" | awk '{print $1}'`; do chkconfig $owelinux off; done for owelinux in crond network sshd rsyslog sysstat iptables; do

安装Linux系统及合理划分文件系统

安装Linux系统及合理划分文件系统 (本文以centos 为例) Linux 6 (centos 6.x) 选择安装系统(install systemwith basic video driver)这个选项,第一个选项(install or upgrade an existing system)为安装和更新centos系统,第三个选项为(Rescueinstalled system)为系统修复模式,Boot from local drive(退出安装从硬盘启动),Memory test (服务

Linux系统简介 、 安装Linux系统 、 RHEL6基本操作

Linux系统简介 安装Linux操作系统 RHEL6基本操作 ################################################# 一.Linux系统简介 1. Linux是一类操作系统 计算机系统=硬件+软件 |--> 软件包括:操作系统.各种应用 Linux操作系统=内核程序+外围程序 2. 常见的三大类操作系统 Unix系列      --> 1970年01月01日诞生,FreeBSD.贝尔实验室.IBM.惠普.Oracle等公司 Windows系列   

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

作为IT从业人员,我们经常使用到Linux系统,但是实际开发过程我们通常在Windows平台操作,为了满足工作需要,这个时候我们通常在windows平台安装虚拟机,并在其上建立linux系统,这样就极大的便捷了我们的开发使用.本文简要的介绍虚拟机中如何配置安装Linux系统. 使用的系统及程序 VMware10 RedHat Linux 6.0 Windows操作系统 给大家填个下载地址吧 小马哥的技术分享 413939157(上面两个软件的下载链接,请去群里索取,这里不共开了) 下面的图片如果

无人值守自动化安装linux系统

linux自动安装系统工作过程介绍: PXE client 主要和3个不同类型的服务器交互并获取到相关信息,最后才能够自动安装系统. 第一步 PXE Client 与 DHCP Server 如果是物理机,将计算器在BIOS设置中以PXE方式启动.此时计算机会在网络中发送一个广播请求,请求通过DHCP服务器分配一个IP地址等相关信息.DHCP服务器收到客户端的请求并且验证后,它会返回给客户端请求,将IP地址.tftp服务器信息.以及一些配置文件信息告诉客户端以便让客户端继续操作. 第二步 PXE

Windows下使用EasyBCD和LiLi USB Creator安装Linux系统

Windows下使用EasyBCD和LiLi USB Creator安装Linux系统 写在前面:针对BIOS出现故障或者对U盘启动安装不是很熟练的朋友而写. 使用Win10朋友大多数使用UEFI启动+GPT分区.在UEFI里面修改启动项之后装机会进不了Win10,在给朋友通过PE装Win10 的时候如果设置Legacy启动,在PE里面安装完Win10重启之后会报错:提示您的什么不对,Wndows无法安装.就到无限循环的地步,设置成UEFI启动之后,再重启系统,Win10根本就不启动了,使用UE