常见的网络攻击类型

网络攻击或业界称为DDoS(分布式拒绝服务)是攻击者使网络无用,瘫痪站点,破坏政府站点的常用方法。我们将涵盖多种类型的常见攻击。但是,没有关于存在的攻击类型的真实示例。

有三种使服务器或基础结构不可用的方法:

带宽:这种攻击包括使服务器的网络容量饱和,使其无法访问。

资源:这种类型的攻击包括耗尽计算机的系统资源,从而阻止计算机响应正常请求。

 利用软件故障:也称为“利用”,这种攻击针对特定的软件故障,以使计算机不可用或对其进行控制。

最常见的三种攻击是:

SSDP攻击:1900 / UDP
这种类型的攻击具有放大的反射式DDOS攻击。该攻击使用UPnP(通用即插即用)协议,该协议允许设备发现其邻居硬件,网络发现和广播状态。攻击执行两项任务的方式。
1)欺骗攻击者IP,并将其替换为受害者IP。
2)攻击者向服务器发送一系列UPnP查询,每个请求的大小都会增加,因此,攻击越大,本地网络响应来自攻击者的请求的难度就越大。最终导致服务器的网络完全过载。 

NTP攻击:
123 / UDP这是一种针对本地服务器NTP的攻击,用于使本地服务器时间保持同步。NTP攻击通常是通过被利用机器上存在的僵尸网络来进行的。当攻击触发后,被利用的主机会向受害的NTP服务器发送数百万个NTP同步请求,直到本地服务器网络拥塞并崩溃为止。

ICMP攻击:
这是ping攻击。ICMP攻击是一种攻击类型,它通过向受害者发送一系列回显请求来淹没本地网络连接,然后受害者发送过多的回显来响应攻击,但是由于该攻击可能没有可路由的目的地。 IP被欺骗。

ICMP Echo Request Flood
L3资源也称为Ping Flood,大量发送包含受害者响应的数据包,其内容与原始数据包相同。

IP数据包碎片攻击
L3资源IP数据包的发送自愿引用其他永远不会发送的数据包,这会充斥受害者的内存。

SMURF
L3带宽ICMP广播攻击篡夺了源地址,将多个响应重定向到受害

IGMP Flood
L3资源IGMP数据包的大量发送(多播管理协议)

Ping of Death
L3 Exploit发送利用某些操作系统

TCP中实现错误的ICMP数据包 SYN Flood
L4资源大量发送TCP连接请求

TCP欺骗SYN Flood
L4资源大量发送TCP连接请求以篡改源地址

TCP SYN ACK 反射泛滥
L4带宽向大量计算机大量发送TCP连接请求,从而篡改了受害者的源地址。对这些请求的响应将使受害者的带宽饱和。

TCP ACK Flood
L4资源大量发送TCP段交付收据

TCP分段攻击
L4资源发送自愿引用其他永远不会发送的其他段的TCP段,这会使受害者的内存饱和

UDP Flood
L4带宽大量发送UDP数据包(不需要先前建立的连接)

UDP碎片泛滥
L4资源发送的UDP数据报,自愿引用其他永远不会发送的数据报,这会使受害者的内存饱和

分布式DNS放大攻击
L7带宽向大量合法服务器大量发送DNS请求,篡改受害者的源地址。由于响应的数量比问题大,因此通过大量发送请求来对DNS服务器进行DNS Flood L7资源攻击之后,攻击放大


通过大量发送请求来对Web服务器进行 HTTP(S)GET / POST Flood L7资源攻击


通过从攻击者控制下的大量计算机中大量发送请求,对DNS服务器进行 DDoS DNS L7资源攻击

Centos添加虚拟IP

在任何Linux机器上配置任何IP之前的第一步是要运行 

ifconfig

这将显示您配置了多少个其他IP地址。

以下代码片段显示eth1是服务器上配置的唯一IP。

eth1 Link encap:Ethernet HWaddr 00:25:90:67:09:E5
inet addr:192.168.100.1 Bcast:104.149.3.47 Mask:255.255.255.0
inet6 addr: fe80::225:90ff:fe67:9e5/64 Scope:Link

您可以将多个虚拟IP地址添加到物理网络接口。

/ etc / sysconfig / network-scripts /中创建一个名为ifcfg- < 接口名称 >:0的配置文件

配置的语法将如下所示:

DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=x.x.x.x
GATEWAY=x.x.x.x
NETMASK=255.255.255.0
TYPE=Ethernet

然后重新启动服务,您应该一切顺利。

service network restart

将Centos 6系统升级到Centos 7

几年前,只有通过完整格式和所需版本的操作系统的新安装才能升级Linux版本。但是开发人员社区为启用OS升级付出了很多努力。整个阶段经过大量的试验和测试,直到最近才获得成功。

尽管有可用的选项,还是强烈建议您备份现有数据,使用CentOS 7执行全新安装,并从较早版本的CentOS复制以前的数据。这是因为在升级时记录了许多故障,并且在此过程中可能会丢失数据。如果您使用的是非官方存储库,安装在存储库外部的任何第三方软件包等,则可能由于多种原因而发生这种情况。

将CentOS 6.x升级到CentOS 7.x

步骤1.A
确保已将当前版本的CentOS 6.x更新为最新版本的CentOS(应为6.5或更高版本)。

Note: Move to Step 1.B if your current system is already up to date.

您可以使用以下命令执行更新

# yum update

这会将所有系统软件及其依赖项升级到最新版本。

步骤1.B
现在,一旦我们将系统更新到最新版本,就可以执行升级。首先,您将需要运行一个程序来扫描您的系统并确定您的升级状态。该程序称为“ 预升级助手 ”。

在命令提示符下,键入以下内容

sudo preupg

输出应类似于以下内容

sudo preupg
Preupg tool doesn't do the actual upgrade.
Please ensure you have backed up your system and/or data in the event of a failed upgrade
that would require a full re-install of the system from installation media.
Do you want to continue? y/n

y

Gathering logs used by preupgrade assistant:

All installed packages : 01/10 ...finished (time 00:00s)
All changed files : 02/10 ...finished (time 00:48s)
Changed config files : 03/10 ...finished (time 00:00s)
All users : 04/10 ...finished (time 00:00s)
...
042/100 ...done (samba shared directories selinux)
043/100 ...done (CUPS Browsing/BrowsePoll configuration)
044/100 ...done (CVS Package Split)
...
|samba shared directories selinux |notapplicable |
|CUPS Browsing/BrowsePoll configuration |notapplicable |

NOTE: The Preupgrade assistant does not perform the upgradation but only tells you if there will be any issues while performing an upgrade. It is recommended you perform this task to know for sure if the upgradation will be successful.

第2步
现在,我们进入下一步,即在运行最终升级过程之前获取CentOS 7密钥。您可以使用以下命令导入密钥

第三步
运行以下命令以执行升级。

sudo /usr/bin/redhat-upgrade-tool-cli --network 7 --instrepo=http://mirror.centos.org/centos/7/os/x86_64

运行上述命令后,升级过程将检索新的启动映像并下载必要的软件包,然后将要求重新启动。

系统可能会在此过程中执行几次重新引导,并应成功将当前CentOS升级到版本7.x。
您可以运行以下命令来检查系统的新版本

# cat /etc/centos-release

样本输出:

CentOS Linux版本7.4.1708

如何在Centos 7上安装Git

Git是一个版本控制系统,旨在支持软件开发项目。在Git的帮助下,您可以跟踪软件更改,创建文件和目录的版本。对于开发人员来说,这是一个非常有用的工具,因为它可以确保每个人都在使用同一版本的代码,跟踪更改并保持进度。它基于开源技术开发,旨在在Linux内核上运行。

现在让我们在CentOS服务器上安装Git。

这可以通过两种方式完成。我们将在本指南中介绍这两种技术。

方法1:使用YUM程序包管理器

使用YUM软件包管理器,我们将从系统库中安装Git。我们将首先使用YUM命令使用最新版本的软件包运行系统更新,如下所示

# yum update

一旦确定系统是最新的,我们将通过输入以下命令来安装Git:

# yum install git

安装完成后,您可以使用以下命令检查已安装的Git版本

#git –version

 

方法2:使用源

在这种方法中,首先,我们需要从默认存储库安装所需的软件依赖项。此外,您还需要从源代码构建二进制文件所需的实用程序。按以下顺序使用以下命令

# yum groupinstall "Development Tools"
# yum install gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel

安装依赖项后,您需要从其官方Git发行页面下载最新版本的Git并获取最新版本。

下载完成后,我们可以使用tar解压缩源档案。

 # tar -zxf git.tar.gz

z解压缩存档文件(因为所有.gz文件都已压缩)
x从存档文件中提取单个文件和文件夹
f告诉tar我们正在声明要使用的文件名

我们需要移动到该文件夹​​以开始配置我们的构建。您可以使用通配符(*)来避免我们在移至该文件夹时遇到的麻烦,如下所示。

# cd git-*

现在,我们从源代码构建过程开始,对软件和硬件依赖性进行预构建检查。

我们可以使用make configure生成的configure脚本进行检查。该脚本还将使用–prefix声明/ usr / local(Linux平台的默认程序文件夹)作为新二进制文件的适当目标,并创建一个“ Makefile”以用于下一步。

# make configure

 

# ./configure --prefix=/usr/local

有了Makefile之后,我们现在可以执行make install(具有sudo特权)以将源代码编译为工作程序并将其安装到我们的服务器中:

# make install

注意:Makefile是由make实用程序处理的可编写脚本的配置文件。我们的Makefile将告诉make如何编译程序并将其链接到我们的CentOS安装,以便我们可以正确执行该程序。

现在应该在您的CentOS 7服务器上构建并安装Git。要再次检查它是否正常工作,请尝试运行Git的内置版本检查:

# git --version

如何在CentOS 7中安装GCC编译器?

GCC(GNU编译器集合的简称)是一组编程编译器的集合,包括C,C ++,Objective-C,Fortran,Java和Ada。GCC是GNU工具链的关键组件,也是大多数类Unix操作系统的标准编译器。自由软件基金会根据GNU通用公共许可证发行GCC。

在下面的教程中,我们将在CentOS 7上执行GCC安装。安装过程非常简单,并且不会超过10分钟。

步骤1:在服务器上执行更新

注意:您需要以root用户身份通过​​SSH登录到CentOS 7 VPS。

#ssh root@IP_Address -p Port_number

要更新服务器上所有已安装的软件包,可以使用以下命令

#yum -y update

步骤2:从存储库安装GCC

可以从官方CentOS资料库轻松安装GCC。运行以下命令以在服务器上安装GCC

#yum -y install gcc

输出:

Running transaction test
Transaction test succeeded
Running transaction
Installing : cpp-4.8.5-36.el7.x86_64                                                                                                            1/5
Installing : kernel-headers-3.10.0-957.5.1.el7.x86_64                                                                                           2/5
Installing : glibc-headers-2.17-260.el7_6.3.x86_64                                                                                              3/5
Installing : glibc-devel-2.17-260.el7_6.3.x86_64                                                                                                4/5
Installing : gcc-4.8.5-36.el7.x86_64                                                                                                            5/5
Verifying  : glibc-devel-2.17-260.el7_6.3.x86_64                                                                                                1/5
Verifying  : gcc-4.8.5-36.el7.x86_64                                                                                                            2/5
Verifying  : kernel-headers-3.10.0-957.5.1.el7.x86_64                                                                                           3/5
Verifying  : cpp-4.8.5-36.el7.x86_64                                                                                                            4/5
Verifying  : glibc-headers-2.17-260.el7_6.3.x86_64                                                                                              5/5

Installed:
gcc.x86_64 0:4.8.5-36.el7                                                                                                                       

Dependency Installed:
cpp.x86_64 0:4.8.5-36.el7 glibc-devel.x86_64 0:2.17-260.el7_6.3 glibc-headers.x86_64 0:2.17-260.el7_6.3 kernel-headers.x86_64 0:3.10.0-957.5.1.el7
Complete!

步骤3:在CentOS 7上验证GCC安装

编译过程完成后。您可以检查是否已正确安装GCC。

gcc --version

输出:

gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

在CentOS 7上安装LAMP环境

LAMP(Linux,Apache,MySQL,PHP)堆栈是常用的Web堆栈,用于准备用于托管Web内容的服务器。以下步骤将向您展示如何在虚拟专用服务器(VPS)上安装LAMP堆栈。LAMP是Web服务堆栈的原型模型。它代表四个开源组件: Linux 操作系统, Apache HTTP Server, MySQL  关系数据库管理系统(RDBMS)和 PHP  编程语言。

在这种情况下,虚拟专用服务器已经在运行CentOS 7,Linux部分已经处理完毕。这是安装其余部分的方法。

安装步骤:

我们应该执行的首要任务是更新最新的软件包。这可以通过“ update”命令来完成,该命令将花费几分钟的时间进行编译。“ yum”将自动尝试检查所有已配置的存储库,以解决安装/升级期间的所有程序包依赖性。

重要的是要确保安装了最新的软件更新和错误修复。命令如下:

sudo yum update

在CentOS服务器上安装Apache

键入以下yum命令以安装Apache Web服务器:

sudo yum安装httpd

 

以下输出将打印在屏幕上

 

在CentOS 7上启动httpd 服务

 sudo systemctl start httpd

检查CentOS 7上httpd 服务状态

systemctl status httpd

 

输出:
活动:自2019年13月13日星期五以来活动(运行); 1周0天前

 

注意:默认配置文件以httpd.conf的形式存储在/ etc / httpd / conf /中。默认日志文件存储在/ var / log / httpd / {access_log,error_log}中

 

测试Apache:

打开您的Web浏览器,然后导航到http:// localhost /http://您的 .server-ip-address /。

 

在CentOS 7服务器上安装MariaDB

MariaDB是CentOS 7环境中MySQL服务器的增强替代品。MariaDB是由社区本着真正的开源精神开发的。一种安全且可扩展的数据库服务器,用于扩展或扩展部署,基于支持创新的现代可扩展体系结构构建。 

安装MariaDB的命令如下:

sudo yum install mariadb-server

当提示您继续安装时,请按y。

使用以下命令启动MariaDB

sudo systemctl start mariadb

保护MariaDB:

可以执行安全安装,其中用户可以设置用于访问数据库的密码。这是通过以下命令完成的:

sudo /usr/bin/mysql_secure_installation

 

访问MariaDB:

可以使用以下命令访问MariaDB:

mysql –u root –p

注意:服务器将要求输入密码,如果未设置密码,则可以按Enter键将其跳过。

 

在CentOS 7上安装PHP

PHP(超文本预处理器)是一种常用的开源通用脚本语言,非常适合于Web开发。也可以将其嵌入HTML。

使用以下命令完成PHP及其模块的安装:

Sudo yum install php php-mysql php-gd php-pear

输出如下:

安装后的PHP httpd的(Apache)的服务必须重新启动。

用于以下命令:

sudo systemctl restart httpd

 

在服务器上测试PHP

在服务器上安装PHP之后,我们必须测试它是否正常运行。以下是相应的步骤:

创建一个名为/var/www/html/test.php的文件

 

附加以下代码:
<?php
   phpinfo(INFO_GENERAL);
?>

 


保存并关闭文件。将您的Web浏览器指向服务器的IP地址,例如http://xx.xx.xx.xx/test.php

 

样本输出:

 

如何在Centos 7上安装SSL证书

在下面的教程中,我们将了解如何通过SSL在Centos-7中保护Apache Web服务器。我们将创建自己的证书并学习如何配置它。如果要托管具有SSL支持的公共站点,则需要从受信任的证书颁发机构购买SSL证书。

自签名证书基本上是由证书的创建者签名的。它可以用于测试本地服务器和开发环境。尽管自签名证书在网站和浏览器之间提供相同级别的安全性,但是大多数Web浏览器始终会显示一条安全警报消息,表明该网站证书是自签名的并且不能被信任,因为它不是由证书颁发机构签名的。

商业证书是由受信任的证书颁发机构颁发的授权证书,强烈建议在生产环境中使用。

为了设置自签名证书,您将需要在系统中安装mod_ssl Apache模块。

步骤1:安装Mod SSL

mod_ssl是一个Apache模块,提供对SSL加密的支持。需要设置自签名证书。

# yum install mod_ssl

完成此操作后,Apache将可以在重新启动后开始使用SSL证书。

步骤2:创建自签名证书

既然Apache可以使用加密了,那么我们就可以继续生成新的SSL证书了。创建证书时,它需要有关您站点的一些基本信息,并附带一个密钥文件,该文件允许服务器安全地处理加密的数据。

首先,我们将创建一个目录来存储我们的私钥(证书文件存储在/ etc / ssl / certs目录中)

# mkdir /etc/ssl/private

为了安全起见,让我们将此目录设为“私有”目录,只有root用户可以访问

# chmod 700 /etc/ssl/private

现在让我们创建证书和SSL密钥。这可以通过“ openssl ”以及其他

# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

-openssl:这是用于创建和管理OpenSSL证书,密钥和其他文件的基本命令行工具。
-req -x509:“ X.509 ”是SSL和TLS用于密钥和证书管理的公用密钥基础结构标准。
-节点:这告诉OpenSSL跳过使用密码短语来保护我们的证书的选项。我们需要Apache在服务器启动时能够在没有用户干预的情况下读取文件。密码短语可以防止这种情况的发生,因为每次重新启动后我们都必须输入密码。
-天365:此选项设置证书被视为有效的时间长度。我们在这里设置了一年。
-newkey rsa:2048:rsa:2048部分告诉它制作一个2048位长的RSA密钥。”“ newkey ”指定我们要同时生成一个新证书和一个新密钥。
-keyout:此行告诉OpenSSL我们要创建的生成的私钥文件的位置。
-out:这告诉OpenSSL 将我们正在创建的私钥文件的位置。我们正在创建的证书。

  Country Name (2 letter code) [XX]:US
State or Province Name (full name) []: John Doe
Locality Name (eg, city) [Default City]: Los Angeles
Organization Name (eg, company) [Default Company Ltd]: Psychz Networks
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []: Demo_server
Email Address []: john.doe@psychz.net

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

您创建的两个文件都将放置在/ etc / ssl目录的相应子目录中。

步骤3:将Apache配置为使用SSL证书

现在,所有证书都已准备就绪。接下来要做的是设置Apache以显示新证书。

您可以通过编辑SSL配置文件来做到这一点:

# vi /etc/httpd/conf.d/ssl.conf

找到以开头的部分。取消注释DocumentRoot和ServerName行,并将example.com替换为服务器的IP地址或域名。

    DocumentRoot "/var/www/html"
    ServerName www.demo_server.com:443SSLEngine on

接下来,找到SSLCertificateFile和SSLCertificateKeyFile行,并使用证书的新位置对其进行更新。

    SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.crt.key

进行这些更改后,重新启动Apache服务以使更改生效。

# systemctl restart httpd

步骤4:测试Apache(HTTPS)服务器

要验证安全的Apache HTTPS Web服务器是否正常运行,请打开Web浏览器并输入URL https:// demo_server-ip-address。浏览器上应该出现错误,并且您必须手动接受证书。出现错误消息是因为我们使用的是自签名证书,而不是浏览器信任的证书颁发机构签名的证书,并且浏览器无法验证您尝试连接的服务器的身份。在为浏览器的身份验证添加例外后,您应该会看到一个针对新安全站点的测试页。

在Centos 7上安装MariaDB

MariaDB是MySQL关系数据库管理系统的社区开发的,商业支持的分支,旨在保留GNU GPL下的免费和开源软件。开发由MySQL的某些原始开发人员领导,由于担心被Oracle Corporation收购,他们将其分叉。它旨在替代MySQL,使用一些引用MySQL的命令,并且是CentOS 7上的默认软件包。

在本教程中,我们将说明如何在CentOS 7服务器上安装最新版本的MariaDB。MariaDB是首选软件包,应该可以代替MySQL无缝运行。

第1步-安装MariaDB

我们将使用Yum安装MariaDB软件包,在出现提示以确认我们希望继续时按y键:

# yum install mariadb-server

输出:

================================================================================
Package                      Arch        Version               Repository          Size
================================================================================

Installing:
mariadb-server               x86_64      1:5.5.60-1.el7_5      base       11 M
Installing for dependencies:
mariadb                      x86_64      1:5.5.60-1.el7_5      base      8.9 M
perl-Compress-Raw-Bzip2      x86_64      2.061-3.el7           base       32 k
perl-Compress-Raw-Zlib       x86_64      1:2.061-4.el7         base       57 k
perl-DBD-MySQL               x86_64      4.023-6.el7           base      140 k
perl-DBI                     x86_64      1.627-4.el7           base      802 k
perl-Data-Dumper             x86_64      2.145-3.el7           base       47 k
perl-IO-Compress             noarch      2.061-2.el7           base      260 k
perl-Net-Daemon              noarch      0.48-5.el7            base       51 k
perl-PlRPC                   noarch      0.2020-14.el7         base       36 k
Transaction Summary
================================================================================
Installed:  mariadb-server.x86_64 1:5.5.60-1.el7_5                                                                                                            
Dependency Installed:
  mariadb.x86_64 1:5.5.60-1.el7_5              perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7        perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7      
  perl-DBD-MySQL.x86_64 0:4.023-6.el7          perl-DBI.x86_64 0:1.627-4.el7                       perl-Data-Dumper.x86_64 0:2.145-3.el7            
  perl-IO-Compress.noarch 0:2.061-2.el7        perl-Net-Daemon.noarch 0:0.48-5.el7                 perl-PlRPC.noarch 0:0.2020-14.el7               
Complete!

现在让我们启动MariaDB数据库

systemctl start mariadb

systemctl不会显示所有服务管理命令的结果。为了确保我们成功,我们将使用以下命令:

systemctl status mariadb

如果MariaDB已成功启动,则输出应包含“ Active:活动(运行) `

● mariadb.service - MariaDB database server
Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2019-03-18 11:01:12 IST; 7s ago

现在,我们将使用systemctl enable命令创建必要的符号链接,以确保MariaDB在启动时启动。

systemctl enable mariadb

创建了从/etc/systemd/system/multi-user.target.wants/mariadb.service到/usr/lib/systemd/system/mariadb.service的符号链接。

第2步-保护MariaDB服务器

MariaDB包含一个安全脚本,用于更改一些不太安全的默认选项,例如远程root登录和样本用户。使用此命令运行安全脚本:

 # mysql_secure_installation

该脚本为每个步骤提供了详细的说明。它首先提示输入root密码,在本例中尚未设置该密码,因为我们已经全新安装了MariaDB,因此将按其建议按ENTER键。接下来,将提示我们设置该根密码,我们将这样做。

然后,我们将接受所有安全建议,方法是按Y,然后按ENTER键以显示其余提示,这将删除匿名用户,禁止远程root登录,删除测试数据库并重新加载特权表。

# mysql_secure_installation

输出如下

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current password for the root user.  If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for
  This is intended only for testing, and to make the installation go a bit smoother.  You should remove them before moving into a production environment.
Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'.  This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
This is also intended only for testing, and should be removed before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB installation should now be secure.
Thanks for using MariaDB!

 

我们的MariaDB现在应该是安全的。 

步骤3:创建一个新的MariaDB数据库

在下面的示例中,我们将创建一个名为“ testdb”的演示数据库。

首先,我们将登录MariaDB

mysql -u root -p

这将要求您输入密码。输入正确的密码后,将显示一个欢迎屏幕

输出:

欢迎使用MariaDB监视器。命令以;结尾; 或\ g。
您的MariaDB连接ID是2
服务器版本:5.5.60-MariaDB MariaDB服务器

版权所有(c)2000、2018 ,Oracle,MariaDB Corporation Ab等。

输入“帮助;” 或’\ h’寻求帮助。键入“ \ c”以清除当前输入语句。

 

现在,让我们创建一个测试数据库

MariaDB [(无)]>创建数据库testdb;

输出量

查询正常,1行受影响(0.00秒)

在这里,“ testdb”是我们创建的数据库的名称。

步骤4:在MariaDB数据库中创建新用户

MariaDB [(无)]>创建由“密码”标识的用户“ testuser”;

在此,用户名是“ testuser”,分配给它的密码是“ password”

步骤5:授予用户权限

授予访问和使用MariaDB服务器的权限。

MariaDB [(none)]>  GRANT USAGE ON *.* TO 'testuser'@'123.123.123.123' IDENTIFIED BY 'mypassword';

上面的命令仅允许从某个IP地址进行访问(这是一种非常安全且通用的配置)

注意:如果要限制用户对特定数据库的访问,则需要提及数据库名称,以代替’ *。* ‘

MariaDB [(none)]>  GRANT USAGE ON `testdb`.* TO 'testuser'@'123.123.123.123' IDENTIFIED BY 'password';

要允许从网络上的任何其他计算机访问MariaDB服务器,可以使用’%’符号

MariaDB [(none)]> GRANT USAGE ON *.* TO 'testuser'@'%' IDENTIFIED BY 'password';

在本教程中,我们已在CentOS 7服务器上安装并保护了MariaDB,还学习了如何在MariaDB中创建数据库和用户。

如何克隆Linux硬盘并将其迁移到另一台服务器?

有几种使用内部工具和第三方工具克隆Linux系统驱动器的方法。但是,您可以考虑在其他可用选项(包括DD命令)上使用CAT命令,这并不是错误的做法。DD在复制文件时提供了更多的选择,但是,在速度和性能方面,CAT比DD快得多。

DD带有大量选项,在处理诸如磁带机之类的较大备份时非常有用。但是任何在Linux环境方面有丰富经验的人都会推荐CAT,因为它可以非常成功地完成将分区内容复制到新的未格式化分区的工作。

 

现在,让我们看一下使用CAT命令克隆Linux驱动器并将其迁移到另一台服务器所涉及的步骤。

重要说明:请提供一个具有最小现有数据量且不包含任何文件系统的有效硬盘。

第1步。

在当前计算机中安装与主驱动器(需要克隆的驱动器)大小相同的辅助驱动器

插入驱动器后,可能仅需启动计算机以验证驱动器是否已被系统成功接受。如果服务器允许驱动器热交换,则无需启动计算机。

运行以下命令检查新添加的光盘

# df

您会注意到新添加的光盘“ sdb1 ” 的标签

第2步。

现在,我们将使用“ cat ”命令启动克隆过程

# cat /dev/sda1 > /dev/sdb1

 

其中,/ dev / sda1是输入驱动器,/ dev / sdb1是输出驱动器。

第三步

现在,辅助驱动器是主要驱动器的克隆。现在,您可以从服务器中删除驱动器,然后移至新服务器

第四步。

将驱动器移至新服务器后,启动新服务器并通过IPMI配置网络

 

现在,您可以将旧服务器与新服务器一起使用。

如何使用智能手机远程连接到Linux机器?

有时,对于系统管理员而言,生活可能真的很艰难。灵活的时间安排是任何系统管理员的工作描述的一部分。想象一下,您正在休假,而您拥有的只有智能手机,您会接到电话:“网络服务器出了点问题!您的生活可能真的很惨。
有了Android设备上的SSH客户端,您可以在旅途中检查服务器和IoT设备的状态,并需要检查服务器的状态或性能。

以下是一些可用于连接到Linux机器的Android和iPhone(iOS)用户可用的应用程序

ConnectBot

平台:Android
Google Play商店:https//play.google.com/store/apps/details?id = org.connectbot&hl = zh-CN

ConnectBot是Android平台的安全外壳客户端。它的最终目标是创建一个安全的连接,您可以通过该连接使用远程计算机上的外壳并将文件来回传输到手机。如果您正在寻找带有自定义选项的免费应用程序,则ConnectBot具有您希望良好的SSH客户端提供的所有基本功能。
在创建SSH主机时,ConnectBot为您提供了多种选择,例如SSH身份验证代理,压缩等。
该应用程序带有特殊键,可让您访问控制键,箭头键,功能键等。ConnectBot的其他功能包括持久连接,登录后自动化脚本,管理公钥的功能等。简单来说,ConnectBot具有所有基本功能良好的SSH客户端期望的功能。

Termius 

平台:Android | iOS
Google Play商店:https : //play.google.com/store/apps/details?id=com.server.auditor.ssh.client
Mac App Store:https : //itunes.apple.com/in/app/ termius-ssh-client / id1176074088?mt = 12

Termius不仅仅是一个SSH客户端-它是一个完整的命令行解决方案。使用Termius,您可以从Android或iOS移动设备安全地访问Linux或IoT设备。它与Mosh兼容,可在不断变化的高延迟下提供出色的可靠性。
用户界面非常简单,使用该应用程序也非常简单。您所要做的就是输入SSH命令以登录服务器并开始管理服务器,Raspberry Pi,Docker容器或任何其他服务或机器。它具有内置的SFTP客户端,以便轻松管理,下载和上传服务器上的文件和目录。
使用此应用程序,您还可以通过从本地终端访问Android设备来进行其他操作。使得Termius真正与众不同的是对多种加密算法的支持,例如内置密钥生成器,支持导入腻子密钥,支持两因素身份验证,动态端口转发,对主机进行分组的能力等。

Get Console 

平台:iOS
Mac App Store:https//itunes.apple.com/us/app/get-console/id412067943?mt = 8

Get Console是一个功能强大且功能完善的终端应用程序,提供对网络和其他设备以及SSHv2,Telnet,脚本,TFTP服务器,完整日志记录,与Dropbox集成,iCloud和即时屏幕共享的物理串行控制台访问。请阅读下面的完整信息。
使用“获取控制台”,您可以轻松地共享iPad / iPhone的终端窗口或访问远程服务器以提供对控制台会话的远程访问-对远程支持,教学或灾难恢复很有用。

JuiceSSH

 

平台:Android
Google Play商店:https//play.google.com/store/apps/details?id = com.sonelli.juicessh

JuiceSSH声称是Android用户的#1免费SSH客户端,它具有时尚,小巧和功能丰富的特点。这个应用程序是一个很棒的SSH,mosh和telnet客户端,您可以随时从任何Android设备上安装和控制和管理Linux系统。
使用JuiceSSH,您可以为各种连接设置身份。创建SSH连接时,可以将其配置为在登录时运行特定的脚本。当您登录计算机后始终执行相同的操作时,此功能非常有用。它还提供了本地Android终端支持,第三方插件,多个主题,对外部键盘的支持,在会话之间进行复制和粘贴的功能,RSA密钥生成器,密钥转发,用于慢速连接的压缩,能够在后台运行多个SSH连接,等等

Mobile SSH

平台: Android | iOS
Google Play商店:https
//play.google.com/store/apps/details?id=mobileSSH.feng.gao&hl=zh- CN Mac App Store:https : //itunes.apple.com/app/id1156707581

移动SSH是基于OpenSSH和Putty设计的免费SSH客户端。该应用程序非常基础,没有设置或配置选项,其用户界面也不适合。但是,该应用程序支持多个SSH会话和RSA密钥身份验证。只需添加您的SSH详细信息,点击“连接”按钮,就可以了。
如果您只是在寻找可以轻松完成工作的简单SSH客户端,那么Mobile SSH是一个不错的选择。