linux-centos7 安全优化运维教程-学派吧

前言

centos 越来越普及了,通过一些面板很多小白都可以使用centos、但是安全方面却不行、今天学派吧整理下 centos安全相关的资料
发布出来、供小白学习、
linux-centos7 安全优化运维教程-学派吧

设置

1 修改网卡为eth0

2 更新系统

3 给/etc/rc.local添加执行权限

4 添加用户hequan

5 禁用selinux

6 关闭防火墙安装iptables

7 修改主机名

8 查看并管理服务

9 设置字符集

10 yum

11 配置sshd

12 加大打开文件数的限制(open files)

13 优化内核

14 时间设置

15 man 中文版

16 vim基本设置

1 修改网卡为eth0

cd  /etc/sysconfig/network-scripts/
vim ifcfg-eno16777729
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.201
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=efd17b9a-a5ab-4c94-be62-d2c32eb48a7e
DEVICE=eth0
ONBOOT=yes
DNS1=202.106.0.20
mv  ifcfg-eno16777729  ifcfg-eth0
vi  /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="net.ifnames=0  biosdevname=0 rhgb quiet"  #添加 net.ifnames=0 biosdevname=0
GRUB_DISABLE_RECOVERY="true"
grub2-mkconfig -o /boot/grub2/grub.cfg      #生成启动菜单
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-e8675ae79abd41309dac42388f8d9116
Found initrd image: /boot/initramfs-0-rescue-e8675ae79abd41309dac42388f8d9116.img

reboot

ip addr  或者
yum install net-tools        #默认centos7不支持ifconfig 需要看装net-tools包
ifconfig eth0                #再次查看网卡信息

2 更新系统

yum  update -y

3 给/etc/rc.local添加执行权限

[root@bogon ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Feb  6 07:28 /etc/rc.local -> rc.d/rc.local
[root@bogon ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 473 May 12  2016 /etc/rc.d/rc.local
[root@bogon ~]# chmod +x /etc/rc.d/rc.local

4 添加用户hequan

[root@bogon ~]# useradd hequan
[root@bogon ~]# echo 123456 | passwd  --stdin  hequan
Changing password for user hequan.
passwd: all authentication tokens updated successfully.
[root@bogon ~]# usermod -G wheel  hequan
[root@bogon ~]# sed -i '6s/^#//g'  /etc/pam.d/su
[root@bogon ~]# grep wheel  /etc/pam.d/su                 #只有WHEEL组的可以su
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
auth            required        pam_wheel.so use_uid

扩展:为用户hequan添加sudo,除关机外的其他所有操作:
[root@www ~]# visudo
Cmnd_Alias SHUTDOWN = /sbin/halt, /sbin/shutdown, /sbin/poweroff, /sbin/reboot, /sbin/init
hequan         ALL=(ALL)       ALL,!SHUTDOWN
%wheel         ALL=(ALL)       ALL,!SHUTDOWN    #修改wheel组的权限,禁止关机
Defaults logfile=/var/log/sudo.log

5 禁用selinux

[root@bogon ~]# grep -i  ^selinux   /etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted
[root@bogon ~]# sed -i  '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config
[root@bogon ~]# grep -i  ^selinux   /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
[root@bogon ~]# getenforce
Enforcing
[root@bogon ~]# reboot

6 关闭防火墙安装iptables

systemctl   stop   firewalld.service 
systemctl   disable firewalld.service
yum install iptables-services   -y #安装

7修改主机名

[root@bogon ~]# hostnamectl   set-hostname hequan.com
[root@bogon ~]# hostname
xp8.net

8 查看并管理服务

[root@hequan ~]# systemctl  -t  service
[root@hequan ~]# systemctl   list-unit-files  -t service

yum install -y bash-completion        #补全服务名称,退出bash再进就可以

9 设置字符集

[root@hequan ~]# echo $LANG
zh_CN.UTF-8
[root@hequan ~]# vi /etc/locale.conf
LANG="en_US.UTF-8"
[root@hequan ~]# source  /etc/locale.conf

10 yum

yum install gcc cmake bzip2-devel curl-devel db4-devel libjpeg-devel libpng-devel freetype-devel libXpm-devel gmp-devel libc-client-devel openldap-devel unixODBC-devel postgresql-devel sqlite-devel aspell-devel net-snmp-devel libxslt-devel libxml2-devel pcre-devel mysql-devel pspell-devel libmemcached libmemcached-devel zlib-devel  vim wget   lrzsz  tree

安装163源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd  /etc/yum.repos.d/
wget  http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache

其他

yum -y install yum-plugin-priorities   ##安装优先级插件
sed -i -e "s/\]$/\]\npriority=1/g" /etc/yum.repos.d/CentOS-Base.repo  ##设置基本yum源的优先级为1
yum -y install epel-release   ##安装epel源
sed -i -e "s/\]$/\]\npriority=5/g" /etc/yum.repos.d/epel.repo ##设置优先级为5
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo ##禁用epel源
yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm ##安装rpmforge的源
sed -i -e "s/\]$/\]\npriority=10/g" /etc/yum.repos.d/rpmforge.repo  ##设置优先级为10
sed -i -e "s/enabled = 1/enabled = 0/g" /etc/yum.repos.d/rpmforge.repo ##禁用yum源
使用方法:yum --enablerepo=rpmforge install [Package]

11 配置sshd

sed -i -e '49s/^#//g' /etc/ssh/sshd_config            ##启用49行配置
sed -i -e '49s/yes/no/g' /etc/ssh/sshd_config         ##禁止root使用ssh登录
sed -i -e '129s/#/ /g' /etc/ssh/sshd_config           ##禁止UseDNS 
sed -i -e '129s/yes$/no/g' /etc/ssh/sshd_config
sed -i '/^GSS/s/yes/no/g' /etc/ssh/sshd_config        ##禁用GSSAPI认证加快登录速度

 
systemctl restart sshd                                 ##重新启动服务
systemctl enable  sshd                                 ##设置为开机启动
systemctl status  sshd                                 ##查看状态
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2016-06-06 00:16:26 CST; 1min 3s ago

12 加大打开文件数的限制(open files)

ulimit -n
ulimit -a
vi /etc/security/limits.conf
最后添加
* soft nofile 1024000
* hard nofile 1024000
hive   - nofile 1024000
hive   - nproc  1024000



用户进程限制
[root@hequan ~]# sed -i 's#4096#65535#g'   /etc/security/limits.d/20-nproc.conf  #加大普通用户限制  也可以改为unlimited
[root@hequan ~]#  egrep -v "^$|^#" /etc/security/limits.d/20-nproc.conf        
*          soft    nproc     65535
root       soft    nproc     unlimited

reboot

13 优化内核

cat /etc/sysctl.conf
#CTCDN系统优化参数
#关闭ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
#决定检查过期多久邻居条目
net.ipv4.neigh.default.gc_stale_time=120
#使用arp_announce / arp_ignore解决ARP映射问题
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_announce=2
# 避免放大攻击
net.ipv4.icmp_echo_ignore_broadcasts = 1
# 开启恶意icmp错误消息保护
net.ipv4.icmp_ignore_bogus_error_responses = 1
#关闭路由转发
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
#开启反向路径过滤
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
#处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
#关闭sysrq功能
kernel.sysrq = 0
#core文件名中添加pid作为扩展名
kernel.core_uses_pid = 1
# 开启SYN洪水攻击保护
net.ipv4.tcp_syncookies = 1
#修改消息队列长度
kernel.msgmnb = 65536
kernel.msgmax = 65536
#设置最大内存共享段大小bytes
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
#timewait的数量,默认180000
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096        87380   4194304
net.ipv4.tcp_wmem = 4096        16384   4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 262144
#限制仅仅是为了防止简单的DoS 攻击
net.ipv4.tcp_max_orphans = 3276800
#未收到客户端确认信息的连接请求的最大值
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
#内核放弃建立连接之前发送SYNACK 包的数量
net.ipv4.tcp_synack_retries = 1
#内核放弃建立连接之前发送SYN 包的数量
net.ipv4.tcp_syn_retries = 1
#启用timewait 快速回收
net.ipv4.tcp_tw_recycle = 1
#开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
#当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 15
#允许系统打开的端口范围
net.ipv4.ip_local_port_range = 1024    65000
#修改防火墙表大小,默认65536
net.netfilter.nf_conntrack_max=655350
net.netfilter.nf_conntrack_tcp_timeout_established=1200
# 确保无人能修改路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
sysctl -p  #生效

本身也是搜集网络技术资料,给很多小白也是一个参考、如果有更好的文章、欢迎投稿到我们学派吧、 关注学派 一起学习 加我们QQ群 右上角

主题测试文章,只做测试使用。发布者:云大使,转转请注明出处:https://www.xp8.net/server/888.html

(0)
打赏 微信扫一扫 微信扫一扫
云大使的头像云大使
上一篇 2018年10月7日 上午12:24
下一篇 2018年10月8日 下午11:13

相关推荐

  • linux/centos接口并发压力测试apache bench(ab)压力测试

    centos安装apache bench root用户执行 yum install httpd-tools 运行压力测试如并行100,持续1000个请求 ab -n 1000 -c 100 http://xx 欢迎关注我们学派吧。

    服务器运维 2019年4月30日
    3.7K00
  • 如何解决(centos)linux中文乱码问题

    Linux中文乱码的解决方法:比如当log4j乱码时我们可以通过找到配置文件在里面设置字符编码为utf-8来,若linux未安装中文语言包可以安装中文语言包解决问题 经常会遇到很多Linux下的中文乱码问题,今天将为大家分享一些常见的解决方法,具有一定的参考价值,希望对大家有所帮助 【推荐课程:Linux教程】 mysql中文乱码 vi /etc/my.cn…

    2019年3月13日
    2.8K00
  • Linux系统MySQL备份的导入导出的具体操作教程-学派吧

    问题描述 如何对 ECS Linux 系统中的 MySQL 进行备份的导入和导出。 处理办法 MySQL 备份的导出 MySQL 备份的导入 MySQL 备份的导出 注意: 如果您使用的是帮助中心的一键环境配置,那么 MySQL 的安装目录是 /alidata/server/mysql。 如果您将 MySQL 安装到其他目录,您需要输入您 MySQL 完整的…

    数据库运维 2019年1月1日
    2.2K00
  • 使用Ubuntu18.04和16.04LTS上的Let’s Encrypt保护Nginx教程-学派吧

    本篇文章介绍的内容是关于在Ubuntu系统上安装let’s encrypt客户端,并为在Nginx Web服务器上运行的域颁发SSL证书。 步骤1:先决条件 在开始执行此任务之前,我假设已经: 使用sudo权限shell访问运行的Ubuntu系统,域名已注册并指向服务器的公共IP地址。对于本篇文章我们使用example.com和www.examp…

    服务器运维 2019年5月7日
    3.8K00
  • Linux7如何设置静态IP的方法教程-学派吧

    这篇文章主要介绍了Centos Linux7设置静态IP的实例的相关资料,需要的朋友可以参考下 如果您有服务器咨询问题、购买问题、可以联系我们客服 7271895 690624商祺云-阿里代理、景安代理、西部代理 Centos Linux7设置静态IP的实例 ## 先进入配置文件的放置位置: cd /etc/sysconfig/network-scripts…

    服务器运维 2019年1月4日
    2.1K00

发表回复

登录后才能评论
联系我们

联系我们

18838889666

在线咨询: QQ交谈

邮件:xinyun@88.com

工作时间:周一至周五,9:30-18:30,节假日休息

添加微信
添加微信
分享本页
返回顶部
学派网官网正在升级改造中,如有影响访问,敬请谅解