精简开机系统自启动

•五个企业环境中开机自启动的服务;

sshd:远程连接linux服务器必须开启

rsyslog:日志相关软件

network:网络服务

crond:系统和用户配置的计划任务周期性进行

sysstat:收集系统性能数据,有利于判断系统是否正常

•sysstat软件包介绍:

安装:yum -y install sysstat

sadc工具:

位于/usr/lib64/sa/目录下,sadc是将数据写在一个二进制文件中,如果要查看内容要用sadf工具查看

执行/usr/lib64/sa/sadc -
输出会保存在/var/log/sall中
需要用sadf或者sar -f /var/log/sa/sa11 # -f 从一个二进制文件中入去内容
Linux 2.6.32-504.30.3.el6.x86_64 (alex) 2016年06月11日 _x86_64_ (1 CPU) # 输出信息

应用举例:

1、查看cpu使用率:
sar -u 1 5 # 表示每一秒统计一次,一共统计5次
2、查看网络吞吐量
sar -n DEV 2 5 # 表示每两秒统计一次,一共统计5次

iostat:可以收集cpu使用状况,磁盘IO状态

mpstat:一般用于多处理器中cpu使用率的统计

详细参考:http://www.361way.com/use-sysstat/1521.html

•sysstat软件包继承的主要工具有:

iostat提供CPU使用率以及硬盘吞吐效率的数据

mpstst提供单个或多个处理器的数据

sar收集、报告并存储系统活跃信息

•设置开机自启动服务的常见方法

方法一:ntsysv

方法二:setup

查看运行级别是3的服务:

chkconfig --list |grep 3:启用

关闭iptables防火墙、selinux

对于高并发高流量的业务不适合开启iptables防火墙,一般这种业务需要在前端配置硬件防火墙

#关闭iptables防火墙
/etc/init.d/iptables stop
#关闭开机自启动
chkconfig iptables off
#查看iptables启动级别
chkconfig --list |grep iptables
centos7是firewall
#关闭selinux
vim /etc/selinux/conf
  #SELINUX=disabled

更改ssh服务器端远程登入配置

•windows服务器端远程端口:3389,管理员为administrator,普通用户为guest;linux服务器远程端口为:22,管理员为root,普通用户随意

vi /etc/ssh/sshd_config
Port 2222 #修改自己的ssh端口
PermitRootLogin no #禁止用root登入自己的系统
PermitEmptyPasswords no #禁止密码为空的用户登入
UseDNS no #对远程主机进行反向解析,会减慢ssh连接速度
GSSAPIAuthentication no #解决ssh远程连接慢的问题

•更高级的ssh安全策略

更改ssh的监听ip

通过防火墙限制使用内网ip连接服务器

通过拨号VPN服务器接通内网然后访问这些服务器

通过sudo控制用户对系统命令的使用权限

•为了安全以及管理方便,需要将使用root权限的用户加入sudo管理,用户可使用自己的账号登入系统,用root的权限来管理系统

visudo == vi /etc/sudoers
#第98行
root ALL=(ALL) ALL
alex ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel #用户alex能够使用useradd和userdel命令

•给普通用户创建root的权限

visudo
# 第98行
alex ALL=(ALL) NOPASSWD:ALL #alex拥有root所有权限不用输入密码

查看/root目录时需要sudo ls /root 通过sudo命令获取权限

注意:通过sudo授权后命令格式为:sudo 命令;

sudo -l 可以查看该用户被授权的sudo命令集合

linux中文显示设置

•GBK用2个字节表示一个中文,UTF-8用3个字节表示一个中文

vi /etc/sysconfig/i18n
LANG="zh_CN.GBK" # 中文格式的GBK
LANG="zh_CN.UTF-8" # utf-8编码 <------------推荐
LANG="en_US.GBK" # 英文格式的GBK
LANG="en_US.UTF-8" # utf-8编码

•使用secureCRT可以设置编码格式,必须和系统设置的一样

Option--Session Option--Appearance
选项--会话选项--外观-- 字符编码

设置linux服务器时间同步

linux的时间同步服务为ntp服务,机器少时使用,机器多了可以布置内网的时间服务器

Linux网络同步时间:
yum install ntpdate -y    #如果没有就安装
ntpdate 0.asia.pool.ntp.org
若上面的时间服务器不可用,也可以选择以下服务器同步时间:
   1.asia.pool.ntp.org
   2.asia.pool.ntp.org

3.asia.pool.ntp.org

同步硬件时间:(很多时候硬件时间也是不对的,需要同步)
date #查看系统时间
hwclock --show #查看硬件时间
timedatectl set-timezone Asia/Shanghai #调整时区
hwclock --systohc --localtime #将硬件时间调整为和系统时间一样
clock -w #将日期写入CMOS

历史记录数以及登入超时环境变量设置

查看历史命令:history

vi /etc/profile
TIMEOUT=10 #链接超时时间
HISTSIZE=10 #命令行的历史记录数
HISTFILESIZE=10 #历史记录文件的命令数量

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

文件描述符是由无符号整数表示的句柄,进程使用它来标识打开的文件;对于内核而言,所有打开的文件都是通过文件描述符引用的,打开一个文件,内核向进程返回一个文件描述符。。

查看文件描述符的命令

ulimit -n

方法一:
vi /etc/security/limits.conf        # 最后一行添加

* hard nofile 65535
* soft nofile 65535
* hard nproc 65535
* soft nproc 65535

vim /etc/security/limits.d/90-nproc.conf    #修改下面1行(centos6)

*          soft    nproc     65535

centos7是/etc/security/limits.d/20-nproc.conf

修改系统总限制:

echo 65535 > /proc/sys/kernel/pid_max

echo "kernel.pid_max = 65535" >> /etc/sysctl.conf  #永久生效

配置完成后需要重新登入才会生效

加入开机启动项

vi /etc/rc.local
ulimit -HSn 65535

swappiness,Linux内核参数,控制换出运行时内存的相对权重。swappiness参数值可设置范围在0到100之间。 低参数值会让内核尽量少用交换;

现在一般1个G的内存可修改为10, 2个G的可改为5, 甚至是0。具体这样做:
  1.查看你的系统里面的swappiness
  $ cat /proc/sys/vm/swappiness
  不出意外的话,你应该看到是 60
  2.修改swappiness值为10
  $ sudo sysctl vm.swappiness=10
  但是这只是临时性的修改,在你重启系统后会恢复默认的60,为长治久安,还要更进一步:
  $ sudo gedit /etc/sysctl.conf
  在这个文档的最后加上这样一行:
  vm.swappiness=10
  然后保存,重启。ok,你的设置就生效了。

linux服务器内核参数优化

pass   可以选择升级内核,请看我另一片文章:  https://www.cnblogs.com/weiyiming007/p/9504962.html

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

CentOS 5 系统默认安装Sendmail服务,邮件临时存放位置:/var/spool/clientmqueue

CenterOS 6没有安装Sendmail服务,而是改装Postfix服务,邮件临时存放位置:/var/spool/postfix/maildrop

临时存放位置如果被垃圾文件填满会导致inode数量不够用,需要手动清理

•Centos 5

find /var/spool/clientmqueue/ -type f |xargs rm -f

•Centos 6

find /var/spool/postfix/maildrop -type f |xargs rm -f

df -i 查看磁盘inode的总量、使用量、剩余量

隐藏linux版本的信息(登入时)

登入显示的版本信息存放在:/etc/issue

cat /etc/issue
# 输出
CentOS release 6.6 (Final)
Kernel \r on an \m
# 执行命令
> /etc/issue # 清除文件内容,再次登入时则不显示linux的版本信息

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

chstt,文件在/user/bin/下,为了防止被修改可以做软连

上锁系统文件chattr,以后任何用户修改这个文件都不会成功,除非解锁

+:代表在原有属性的基础上

i:immutable不可修改的

chattr +i /etc/passwd

解锁系统文件

chattr -i /etc/passwd

查看文件的属性lsattr

lsattr /etc/passwd

清除多余的系统虚拟账号

不是必须的优化选项,pass

为grub菜单加密码

目的:防止别人修改grub进行内核启动项设置以及用当用户模式修改root密码,安装系统后的设置如下:

1、生成md5秘钥
/sbin/grub-md5-crypt 2、修改/etc/grub.conf
在splashimage和title之间加入
password --md5 秘钥

设置完成后管理grub就会提示输入密码

禁止linux系统被ping

为了增加系统的安全性。可以禁止我们的linux系统被ping,可惜修改iptables来设置

一般不用

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

sysctl -p 重载信息并更新启动

如果要恢复:

> /etc/sysctl.conf

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

升级openssl,openssh,bash

1、查看
rpm -qa openssl openssh bash 2、安装最新版本
yun -y install openssl openssh bash

Linux系统安装完的调整和安全的更多相关文章

  1. LNMP平台搭建---Linux系统安装篇

    在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...

  2. hadoop伪分布式环境搭建之linux系统安装教程

    本篇文章是接上一篇<超详细hadoop虚拟机安装教程(附图文步骤)>,上一篇有人问怎么没写hadoop安装.在文章开头就已经说明了,hadoop安装会在后面写到,因为整个系列的文章涉及到每 ...

  3. linux系统安装(上)

    1.VMware虚拟机的软件应用 www.vmware.com 2.linux系统安装设置(分区为重点) 3.远程登录管理工具介绍centOS5.5 使用虚拟机的优点 1.不用分区 2.可以完成本机与 ...

  4. Linux学习心得之 LVM管理与Linux系统安装

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 LVM管理与Linux系统安装 1.前言 2.LVM 简介与术语 3.LVM 使用 4.Li ...

  5. Vmware安装与VMware下Linux系统安装

    源文件地址:http://www.cnblogs.com/lclq/p/5619271.html 1.下载安装VMware,我安装的是VMware 12.VMware从11开始不再支持32位系统,32 ...

  6. linux系统安装(虚拟机以及linux的下载与安装)

    最近开始研究linux系统,以前接触linux系统只是一些简单的命令,例如: pwd:查看当前目录   ls:遍历目录    cd :在目录之间切换等. linux系统是基于unix系统开发的,是一个 ...

  7. 把虚拟机中的Linux系统安装到U盘中

    [小技巧] 把虚拟机中的Linux系统安装到U盘中 出于各种需求,很多用户可能经常会在Windows系统中安装虚拟机,然后在虚拟机中安装Linux系统.使用虚拟机的优点是可以同时使用多个系统,而缺点也 ...

  8. Linux系统安装telnet以及xinetd服务

    Linux系统安装telnet以及xinetd服务 一.安装telnet 1.检测telnet-server的rpm包是否安装 # rpm -qa telnet-server 若无输入内容,则表示没有 ...

  9. Linux 系统安装[Redhat]

    系统下载 Linux操作系统各版本ISO镜像下载 系统安装 1.1. 分区知识 1.2. 磁盘分区命名以及编号 IDE盘:  hda  第一块盘 hda1/第一块盘的第一个分区 hdb  第二块盘 h ...

随机推荐

  1. 上传jar包至maven私服

    1.maven环境变量配置(新建系统变量,编辑Path) 2.修改maven的setting文件 2.1 私服的用户配置 2.2 私服镜像配置 2.3 (我也不知道是啥) <profile> ...

  2. Linux下Tomcat VM參数改动

    不可行的方法 最初我直接改动catalina.sh, 将JAVA_OPTS变量加上了 -server -Xms1G -Xmx1G -XX:+UserG1GC 最初看起来没啥问题,可是当服务器运行几天后 ...

  3. UML类间关系

    1继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系:在Java中此类关系通过关键字exten ...

  4. windows 怎么验证域名是否开启了 https

    由于 ping 是针对 IP 层的,只能检查当前系统网络与网络中某个IP,某个域名是否连通. 当我们需要验证域名是否开启了 https时,用如下方法: 1. 下载tcping.exe,放到本机C盘根目 ...

  5. sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)

    sql server 关于表中只增标识问题   由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...

  6. Erlang进程堆垃圾回收机制

    原文:Erlang进程堆垃圾回收机制 作者:http://blog.csdn.net/mycwq 每一个Erlang进程创建之后都会有自己的PCB,栈,私有堆.erlang不知道他创建的进程会用到哪种 ...

  7. 2016-1-8 windows 7下安装mysql及其配置和运用

    绪言 最近学习了一下mysql的相关用法,以及vs2010结合mysql的使用. 遇到的问题:1.安装mysql 5.6 绿色免安装版本,出现mysql server not connect loca ...

  8. JavaScript提高:001:ASP.NET使用easy UI

    jQuery EasyUI是一组基于jQuery的UI插件集合.能够简洁的开发出功能多内容丰富的界面,而不须要开发人员自己费力的写那些复杂的js代码.本文简介在ASP.NET开发中引用这些js文件和样 ...

  9. linux学习:进程间通信—管道

    1.进程间通信当中一种比較简单的方法是管道操作 /* ========================================================================= ...

  10. Finally语句块的运行

    一.finally语句块是否一定运行? Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被运行?非常多人都说不是.当然他们的回答是正确的,经过试验. ...