centos7 服务器基本的安全设置步骤

关闭ping扫描,虽然没什么卵用

先切换到root

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

1代表关闭

0代表开启

用iptables

iptables -I INPUT -p icmp -j DROP

简单介绍下基本的安全设置

一、创建普通用户,禁止root登录,只允许普通用户使用su命令切换到root

这样做的好处是双重密码保护,黑客就算知道了普通用户的密码,如果没有root密码,对服务器上攻击也比较有限

以下是具体做法(需要在root下)

添加普通用户

useradd xxx

设置密码

passwd xxx

这样就创建好了一个普通用户

禁止root登录

vi /etc/ssh/sshd_config

PermitRootLogin no

Systemctl restart sshd

这样就完成了第一步,之后root就无法登录服务器只能通过普通用户su切换

二、修改ssh的默认端口22,因为ssh的端口是22,我们如果修改了该端口,他们就需要花费一点时间来扫描,稍微增加了点难度

以下将端口改为51866可以根据需要自己更改,最好选择10000-65535内的端口

step1 修改/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

#Port 22 //这行去掉#号

Port 51866 //下面添加这一行

为什么不先删除22,以防其他端口没配置成功,而又把22的删除了,无法再次进入服务器

step2 修改SELinux

安装semanage

$ yum provides semanage
$ yum -y install policycoreutils-python

使用以下命令查看当前SElinux 允许的ssh端口:

semanage port -l | grep ssh

添加51866端口到 SELinux

semanage port -a -t ssh_port_t -p tcp 51866

注:操作不成功,可以参考:https://sebastianblade.com/how-to-modify-ssh-port-in-centos7/

失败了话应该是selinux没有打开

然后确认一下是否添加进去

semanage port -l | grep ssh

如果成功会输出

ssh_port_t tcp 51866, 22

step3 重启ssh

systemctl restart sshd.service

查看下ssh是否监听51866端口

netstat -tuln

Step4 防火墙开放51866端口

firewall-cmd --permanent --zone=public --add-port=51866/tcp

firewall-cmd --reload

然后测试试试,能不能通过51866登录,若能登录进来,说明成功,接着删除22端口

vi /etc/ssh/sshd_config

删除22端口 wq

systemctl restart sshd.service

同时防火墙也关闭22端口

firewall-cmd --permanent --zone=public --remove-port=22/tcp

注意如果是使用阿里的服务器需要到阿里里面的安全组添加新的入站规则(应该是因为阿里的服务器是用的内网,需要做端口映射)

三、使用一些类似DenyHosts预防SSH暴力破解的软件(不详细介绍)

其实就是一个python脚本,查看非法的登录,次数超过设置的次数自动将ip加入黑名单。

四、使用云锁(不详细介绍)

参考自http://tim-fly.iteye.com/blog/2308234

总的来说做好了前两步能够减少至少百分之五十的入侵,在做好第三步之后,基本可以杜绝百分之八十以上的入侵。当然最重要的还是自己要有安全意识,要多学习一些安全知识和linux的知识。

第三第四其中都有稍微提到一点,感兴趣可以看看

(0)

相关推荐

  • centos7 服务器基本的安全设置步骤

    关闭ping扫描,虽然没什么卵用 先切换到root echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 1代表关闭 0代表开启 用iptables iptables -I INPUT -p icmp -j DROP 简单介绍下基本的安全设置 一.创建普通用户,禁止root登录,只允许普通用户使用su命令切换到root 这样做的好处是双重密码保护,黑客就算知道了普通用户的密码,如果没有root密码,对服务器上攻击也比较有限 以下是具体做法(需要在roo

  • 阿里云服务器CentOS服务器初始化设置步骤

    CentOS服务器初始化设置其实不分阿里云或其它服务器了,操作配置过程与步骤也差不多,下面和小编一起来看看. 一.挂载硬盘 1.磁盘分区 fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb fdisk /dev/xvdb #对磁盘进行分区 输入n #创建新分区 输入p #创建主分区 输入1 #创建第一个主分区 输入w #保存并执行以上命令,创建分区 待上面的命令执行完成之后,使用fdisk -l查看,会看到类似 /dev/xvdb1的分区 说明分区成功. 2.磁盘格式化 mkf

  • CentOS7服务器环境下vsftpd安装及配置方法

    本文实例讲述了CentOS7服务器环境下vsftpd安装及配置方法.分享给大家供大家参考,具体如下: 0x:卸载vsftpd [root@localhost ~]# yum remove vsftpd [root@localhost ~]# find / -name "vsftpd*" /etc/vsftpd /etc/vsftpd/vsftpd.conf.bak [root@localhost ~]# rm -fr /etc/vsftpd/ 1x:重新安装 [root@localho

  • Mysql允许外网访问设置步骤

    1.打开mysql.exe(MySQL Command Line Client),输入密码 2.输入:use mysql; 3.查询host输入: select user,host from user; 4.创建host(如果有"%"这个host值,则跳过这一步) 如果没有"%"这个host值,就执行下面这两句: mysql> update user set host='%' where user='root'; mysql> flush privile

  • CentOS7服务器中apache、php7以及mysql5.7的安装配置代码

    CentOS7服务器中apache.php7以及mysql5.7的配置代码如下所示: yum upgrade yum install net-tools 安装apache 关闭SELinux 编辑器打开 etc/selinux/config 文件,找到 SELINUX=enforcing 字段,将其改成 SELINUX=disabled ,并重启设备. yum -y install httpd mod_ssl 配置防火墙 firewall-cmd --permanent --add-port=8

  • CentOS7.6安装MYSQL8.0的步骤详解

    1.一般CentOS默认安装了mariadb,所以先查看是否安装mariadb,如果安装就需要先卸载mariadb rpm -qa|grep mariadb rpm -e mariadb-libs --nodeps 2.在/usr/local/目录下创建mysql文件夹 cd /cd usr/localmkdir mysql 3.进入mysql文件夹内,下载mysql cd mysqlwget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql

  • CentOS7安装调试Mysql数据库的步骤详解【实例】

    本实例要求下载并安装调试Mysql数据库. 第一步:下载Mysql数据库安装所需的全部软件. 我已提前下载好数据库软件,直接在服务器下载即可,如下: 通过scp直接下载: [root@agt20 ~]# scp root@192.168.122.10:/root/mysql* /root/ 软件如下图: [root@agt20 ~]# ls mysql-* mysql-5.7.17.tar mysql-community-client-5.7.17-1.el7.x86_64.rpm mysql-

  • 解析阿里云centos7服务器nginx配置及常见问题解答

    前言: 本文参考了jackyzm的博客:https://www.cnblogs.com/jackyzm/p/9600738.html,进行了内容的更新,并请注意这里适用的版本是centos7的版本.并且本文的配置方式曾经在版本8上失败过,因此查看本文前最好先确定服务器的版本. 而关于nginx部分问题的处理,则是参考了文章:http://www.mamicode.com/info-detail-3008792.html进行,其中包括的部分错误如下: 1.make[1]: *** [objs/Ma

  • SQL Server远程连接的设置步骤(图文)

    SQL Server正常连接时,若不需要远程操控其他电脑,可以用Windows身份验证模式,但是涉及到远程处理时,需要通过SQL Server身份验证登录.具体操作如下. 首先,我们在登录时,选择Windows身份验证,然后连接到服务器. 进入到登录主页面后,右击当前的对象资源管理器,选择属性,弹出如下图所示的页面,选择安全性,将服务器身份验证勾选为SQL Server和Windows身份验证模式,(若在安装软件时已选择第二种验证模式,可直接通过账号登录)如图2所示. 图2. 图3. 如图3所示

  • win server2012 r2服务器共享文件夹如何设置

    win server2012 r2 服务器共享文件夹如何设置?按照普通的win7 设置共享文件夹,不起作用 于是乎倒腾,百度,总结以下步骤 1.启用guest账号 控制面板->用户账户->管理其他账户->Guest启用 2.设置共享文件夹 添加everyone和Guest 点击共享 点击网络和共享中心 关闭密码保护共享 3.策略中找到 网络访问->本地帐户的共享和安全模型”并双击,会弹出其属性窗口,在窗口上部选”仅来宾-本地用户以来宾身份验证” 控制面板->管理工具->

随机推荐