第一周:学籍备案以及环境准备

学籍备案以及环境准备

Date:第一周
Auther:胖花
Blog:https://peana.github.io/2019/08/15/first-week-work/

前言

作为刚毕业的一个小白,安全这个大领域我还是没真正入门。 19年的暑假,很幸运的信安之路举办了一个小白计划,趁此机会加入学习,以此博客记录我的学习成长,望一年后,自己有所成长。

个人资料

个人在知识星球中的ID:911

1

常用名:胖花

目前职业:在职(今年刚入职)

所在地区:江苏南京

熟悉的编程语言:python

自我介绍:一个在安全门前徘徊了两年的小白。

第一周环境准备报告

一、在VMware中安装centos

1、从阿里云镜像中(http://centos.sonn.com/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso)**下载ISO镜像**:

2

2、在VMware中创建新的虚拟机

3

4

5

按照自己所下的iso镜像选择对应的系统版本:

6

给虚拟机命名,并选择存放位置:

7

选择磁盘大小,对于centos而言,20G足够:

8

9

重新编辑虚拟机设置,导入iso镜像:

10

11

虚拟机开机,进入centos的系统安装,选择install CentOS 7

12

选择简体中文安装:

13

在此界面处,从上至下,从左至右,逐个完成各项设置:

14

所有项目都设置完成后点击开始安装

15

设置ROOT密码创建用户后,安装开始:

16

最后,接受许可,完成网络和主机名的设置:

17

18

重启输入用户密码,进入CentOS7

19

20

关机后拍摄快照:虚拟机–快照–拍摄快照

以便日后操作失误后可回退

21

二、基础化设置

1、修改主机名

1
2
3
4
5
echo $HOSTNAME
hostnamectl set-hostname test.example.com
vim /etc/hosts
#ip与主机名绑定并设置主机名别名
192.168.48.135 test.example.com test

2、重命名网卡为eth0,修改内核参数,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cd /etc/sysconfig/network-scripts/
mv ifcfg-ens33 ifcfg-eth0
vim ifcfg-eth0
#下列显示均为需要修改项
BOOTPROTO=dhcp
NAME=eth0
DEVICE=eth0
ONBOOT=yes
vim /etc/sysconfig/grub
#添加下一列
增加 net.ifnames=0 biosdevname=0 在GRUB_CMDLINE_LI

grub2-mkconfig -o /boot/grub2/grub.cfg
#重启生效,可见网卡名被修改且有静态ip

3、设置网络yum源

(1)、备份原始yum源

1
2
cd /etc/yum.repos.d
mv CentOS-Base.rpeo CentOS-Base.repo.bak

(2)、设置DNS

1
2
3
4
vim /etc/resolv.conf

nameserver 114.114.114.114
nameserver 8.8.8.8

(3)、下载yum文件,替代原yum源

1
2
3
wget -O /etc/yum.repos.d/CentOS-Base.repo    http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache

(4)、配置ELEP源:

1
2
3
yum -y install epel-release
yum clean all
yum makecache

三、安装nginx,php,mysql

(一)、源码安装nginx

1、安装nginx依赖包
yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim

2、从Nginx官网下载Nginx源码包
wget http://nginx.org/download/nginx-1.12.2.tar.gz

3、解压Nginx源码包到/root/nginx,编译安装

1
2
3
4
5
6
tar -xzvf nginx-1.12.2.tar.gz
#在/root/nginx目录进行编译前配置
cd /root/nginx*
./configure --prefix=/usr/local/nginx --with-http_ssl_module
#在/root/nginx目录执行编译安装
make && make install

4、启动nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#关闭防火墙
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
#进入到安装目录/usr/local/nginx,查看目录结构
cd /usr/local/nginx
pwd
ls
#启动Nginx
/usr/local/nginx/sbin/nginx
#查看Nginx进程是否启动
ps aux | grep nginx
#查看Nginx占用的端口号
netstat -tlnp

5、使用本地主机访问虚拟机上的Nginx服务器
22

6、停止nginx

1
2
3
4
5
6
7
#停止Nginx的三种方式
# 1. 立即停止Nginx服务
/usr/local/nginx/sbin/nginx -s stop
# 2.完成当前任务后停止
/usr/local/nginx/sbin/nginx -s quit
# 3.杀死Nginx进程
killall nginx

7、把nginx命令添加到环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#使用软连接将nginx链接到/usr/local/sbin
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
ll /usr/local/sbin/ | grep "nginx"
#显示当前环境变量PATH
echo $PATH
#编辑.bash_profile文件
vim ~/.bash_profile
#在.bash_profile文件末尾加入以下内容
export PATH=$PATH:/usr/local/nginx/sbin
#引用.bash_profile文件
source ~/.bash_profile
#使用nginx命令
# 启动nginx
nginx
# 停止nginx
nginx -s quit

8、把nginx命令添加到系统服务
创建并编辑文件/root/service-nginx.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/sh
#
# filename: service-nginx.sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

#nginx="/usr/sbin/nginx"
nginx="/usr/local/sbin/nginx"
prog=$(basename $nginx)

#NGINX_CONF_FILE="/etc/nginx/nginx.conf"
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

lockfile=/var/lock/subsys/nginx

make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -n "$user" ]; then
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}

start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
configtest || return $?
stop
sleep 1
start
}

reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}

force_reload() {
restart
}

configtest() {
$nginx -t -c $NGINX_CONF_FILE
}

rh_status() {
status $prog
}

rh_status_q() {
rh_status >/dev/null 2>&1
}

case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
# END
1
2
3
4
5
6
#用/root/service-nginx.sh替换/etc/init.d/nginx
mv /root/service-nginx.sh /etc/init.d/nginx
#赋予可执行限权
chmod 755 /etc/init.d/nginx
#执行
systemctl start nginx

(二)、安装php-fpm

nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx

此处采用php-fpm使nginx支持PHP
1、安装依赖包

1
2
3
4
5
6
7
8
9
yum -y install gcc automake autoconf libtool make

yum -y install gcc gcc-c++ glibc

yum -y install libmcrypt-devel mhash-devel libxslt-devel
libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel
ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel
krb5 krb5-devel libidn libidn-devel openssl openssl-devel

2、获取php-fpm的tar包
wget http://cn2.php.net/distributions/php-5.4.7.tar.gz

3、解压、预编译及安装

1
2
3
4
5
6
7
8
9
10
tar zvxf php-5.4.7.tar.gz
cd php-5.4.7
./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt
--enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath
--enable-inline-optimization --with-bz2 --with-zlib --enable-sockets
--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex
--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli
--with-gd --with-jpeg-dir

make && make install

4、修改php-fpm配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#首先创建运行php和nginx的用户
#创建用户组
groupadd www-data
#创建用户,所属组为www-data
useradd -s /bin/bash -m -g www-data www-data
cd /usr/local/php/etc
cp ./php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
#修改下列内容
pid = /usr/local/php/var/run/php-fpm.pid
vim ./php-fpm.d/www.conf
#修改下列内容
user = www-data
group = www-data

pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
cd /usr/local/nginx/conf
#在其中的serve段增加如下配置,
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

5、配置完成,在nginx根目录下创建php文件测试能否正常使用

1
2
3
4
cd /usr/local/nginx/html
touch index.php
vim index.php
<?php phpinfo();?>

6、使用浏览器访问

23

(三)、源码安装mysql

1、首先检查所用的linux安装过mysql,并卸载CentOS7默认携带的mariadb包

1
2
3
4
5
6
7
#检查mysql和mariadb包
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
#卸载查到的mariadb包
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64
#有依赖关系,使用yum卸载
yum remove mariadb-libs-5.5.60-1.el7_5.x86_64

2、从mysql官网获取mysql源码文件
下载地址https://downloads.mysql.com/archives/community/,确定mysql版本后选择Source Code+Generic Linux(通用linux)如下图所示:
24

3、下载tar包,并将下载的tar包解压缩
wget https://downloads.mysql.com/archives/get/file/mysql-5.7.24.tar.gz
tar -zxvf mysql-5.7.24.tar.gz

4、安装编译软件和依赖
#首先更新系统软件
yum update
yum install -y cmake make gcc gcc-c++ wget ncurses-devel cmake make perl ncurses-devel openssl-devel bison-devel libaio libaio-devel

5、创建mysql用户和用户组

1
2
3
4
#创建用户组
groupadd mysql
# 创建mysql用户,所属组为mysql
useradd -s /bin/bash -m -g mysql mysql

6、创建mysql相关目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
| 目录 | 含义 | 配置参数 |
| :——— | ————————————– | —————————————- |
| bin_log | 二进制日志目录 | log_bin_basename
log_bin_index |
| mydata | 数据文件目录 | datadir |
| innodb_log | InnoDB重做日志目录 | innodb_log_group_home_dir |
| innodb_ts | InnoDB共享表空间目录 | innodb_data_home_dir |
| log | 日志文件目录(error log+general log+slow log) | log_error
general_log_file
slow_query_log_file |
| relay_log | InnoDB中继日志目录 | relay_log_basename
relay_log_index |
| tmpdir | 临时文件目录 | tmpdir |
| undo_log | InnoDB回滚日志目录 | innodb_undo_directory |
1
2
3
4
5
6
7
8
mkdir -p /home/mysql/data/bin_log
mkdir -p /home/mysql/data/db_file
mkdir -p /home/mysql/data/innodb_log
mkdir -p /home/mysql/data/innodb_ts
mkdir -p /home/mysql/data/log
mkdir -p /home/mysql/data/relay_log
mkdir -p /home/mysql/data/tmpdir
mkdir -p /home/mysql/data/undo_log

7、设置创建的目录的所属用户和所属组

1
2
chown -R mysql:mysql /home/mysql/data
chown -R mysql:mysql /usr/local/mysql

8、编译安装MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 切换到mysql-5.7.16源码目录下
cd /home/source/mysql-5.7.16
# cmake
cmake \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_DATADIR=/home/mysql/data \
-DSYSCONFDIR=/etc/my.cnf \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DENABLE_DEBUG_SYNC=0 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=1 \
-DMYSQL_TCP_PORT=3306 \
-DWITH_DEBUG=0 \
-DWITH_SSL=yes \
-DWITH_BOOST=/usr/local/boost/boost_1_59_0.tar.gz

#注:如果编译出现错误,请先删除CMakeCache.txt后,再重新编译:
rm -rf CMakeCache.txt
wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
#同时cmake 选项中的如下
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/usr/local/boost
#改成:
-DWITH_BOOST=/usr/local/boost/boost_1_59_0.tar.gz
# make
# 该命令中可以通过添加-j参数指定多线程工作,如make -j2 && make install -j2 则使用2个CPU核进行make
# 该步骤执行完毕后,可以到CMAKE_INSTALL_PREFIX参数指定的目录下,即MySQL安装目录下查看到mysql相关目录与文件
make && make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#cmake 参数解释
#cmake参数解释如下:
DCMAKE_INSTALL_PREFIX=/usr/local/mysql:安装路径
DMYSQL_DATADIR=/data/mysql:数据文件存放位置
DSYSCONFDIR=/etc:my.cnf路径
DWITH_MYISAM_STORAGE_ENGINE=1:支持MyIASM引擎
DWITH_INNOBASE_STORAGE_ENGINE=1:支持InnoDB引擎
DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock:连接数据库socket路径
DMYSQL_TCP_PORT=3306:端口
DENABLED_LOCAL_INFILE=1:允许从本地导入数据
DWITH_PARTITION_STORAGE_ENGINE=1:安装支持数据库分区
DEXTRA_CHARSETS=all:安装所有的字符集
DDEFAULT_CHARSET=utf8:默认字符
DWITH_EMBEDDED_SERVER=1:嵌入式服务器

9、设置开机自启动

1
2
3
4
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
ln -s /usr/local/mysql/bin/* /usr/local/bin/
chkconfig --add mysqld

10、初始化MySQL

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#拷贝my.cnf至/etc/目录下
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf
#添加如下配置
#配置安装目录和数据目录
basedir = /usr/local/mysql
datadir = /home/mysql/data

innodb_buffer_pool_size = 128M
explicit_defaults_for_timestamp=true
socket=/usr/local/web/mysql/mysql.sock
[mysqld_safe]
log-error = /home/mysql/data/error.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# 进入到MySQL安装目录下bin目录
cd /usr/local/web/mysql/bin

# 初始化MySQL,切记--defaults-file=/etc/my.cnf要放在参数的第一位,初始化信息可以在MySQL的errorlog中查看,并且在errorlog会生成一个root的随机密码,该随机密码仅仅为root@localhost用户所有。
mysqld --defaults-file=/etc/my.cnf --initialize --basedir=/usr/local/web/mysql --datadir=/home/mysql/data --user=mysql

11、启动MySQL服务
(1)、添加MySQL环境变量

1
2
3
4
5
6
7
vim /etc/profile
# 在~/.bashrc文件下添加如下语句

PATH=$PATH:/usr/local/web/mysql/bin:/usr/local/web/mysql/lib/
export PATH
# 保存后,使环境变量生效
source /etc/profile

(2)、启动MySQL
mysqld_safe --defaults-file=/etc/my.cnf &
或者 service mysqld start

12、登陆MySQL并修改密码

1
2
3
4
5
6
7
8
mysql -u root
#MySQL 5.7 版本:
UPDATE mysql.user SET authentication_string=PASSWORD('123456') where USER='root';
#刷新:
flush privileges;
#退出:
exit;
#设置完之后,输入 mysql -u root -p,这时输入刚设置的密码,就可以登进数据库了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#yum安装mysql
#1、检查MariaDB是否安装
yum list installed | grep mariadb
#2. 卸载全部 MariaDB 相关
yum -y remove mariadb*
#3. 下载 MySQL 的 YUM 源
cd /usr/local/src
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
#4. 安装 MySQL 的 YUM 源
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
#5. 检查 MySQL 的 YUM 源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
#6. 查看 MySQL 版本
yum repolist all | grep mysql
#7. 安装 MySQL
yum install mysql-community-server
#一直输 y 就可以了。
#8. 启动 MySQL 服务
systemctl start mysqld
#9. 测试连接 MySQL 服务
mysql -u root 或者 mysql
#提示:
#刚安装的 MySQL 是没有密码的,这时如果出现:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO),解决如下:
#停止 MySQL 服务:systemctl stop mysqld
#以不检查权限的方式启动
MySQL: mysqld --user=root --skip-grant-tables &
#再次输入 mysql -u root 或者 mysql,这次就可以进来了。
#更新密码:
#MySQL 5.7 以下版本:
UPDATE mysql.user SET Password=PASSWORD('123456') where USER='root';
#MySQL 5.7 版本:
UPDATE mysql.user SET authentication_string=PASSWORD('123456') where USER='root';
#刷新:
flush privileges;
#退出:
exit;
#设置完之后,输入 mysql -u root -p,这时输入刚设置的密码,就可以登进数据库了。

13、php连接mysql
php连接mysql共有两种方式,MySQL和PDO
MySQLi值针对MySQLi数据库,若项目需要在多种数据库内切换则建议使用PDO。
两者都是面向对象, 但 MySQLi 还提供了 API 接口。两者都支持预处理语句,可防止 SQL 注入。
/usr/local/nginx/html创建mysqlLink.php测试使用php连接mysql

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$servername = "localhost";
$username = "username";
$password = "password";
// 创建连接
$conn = new mysqli($servername, $username, $password);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>

25

四、安全加固

(一)、nginx加固

1、禁止某些文件类型的访问
某些文件不小心传如web目录后存在很大风险。

1
2
3
4
location *.(txt|doc|docx|rar)$ {
root /var/www/www.xxx.xxx;
Deny all;
}

2、修改nginx的运行用户为www-data
user www-data;

(二)、mysql加固

1、删除默认数据和帐户
Mysql默认会有空用户和test库
删除test库和除root外帐户再按照业务需求添加

1
2
mysql> drop database test;
mysql> delete from user where not (user=’root’);

2、更改root帐户名称
Mysql管理员帐号默认名称为root,存在被爆破的风险.
更改root帐户名称以增大爆破成本

1
2
mysql> update user set user=’newrootname’ where user=’root’;
mysql> flush privileges;

3、限制用户的连接
同个用户可以多个远程链接,会导致性能下降.

1
2
3
# 修改my.cnf中max_user_connections
vim /etc/my.cnf
max_user_connections 150

4、目录权限限制
mysql默认安装在/usr/local/mysql下,数据库文件在/usr/local/mysql/var下,权限不正确会导致数据存在被COPY走的风险.

1
2
3
# 修改目录所有者 
chown -R root /usr/local/mysql
chown -R mysql.mysql /usr/local/mysql/var/

5、历史命令泄漏
linux的历史命令可能会泄漏mysql的帐号密码等信息.

1
2
3
4
5
6
7
8
# 限制历史命令记录为一个较小的数 
vim ~/.bash_profile
HISTSIZE=3
HISTFLESIZE=3
# 限制不记录某些命令
export HISTCONTROL=ignorespace # 你在执行任何命令前只需要加一个空格就不会记录
# 定时清除历史命令
history -c

6、限制访问数据的IP
不要使用%来设置来源IP,指定精确的来源IP限制.

1
2
grant selete on database.table to ‘app’@’xx.xx.xx.xx’ identified by ‘password’ with grant option;
flush privileges;

(三)、ssh加固

vim sshd_config
1、Port
系统缺省使用 22 号端口,将监听端口更改为其他数值(最好是1024以上的高端口,以免和其他常规服务端口冲突),这样可以增加入侵者探测系统是否运行了sshd守护进程的难度。(修改端口不成功则需要在防火墙和selinux中开放端口)
Port 10022

2、X11Forwarding
关闭X11Forwarding,防止会话被劫持。
X11Forwarding no