服务器安全部署指南

硬件配置

使用阿里云服务器 ECS,基本配置内存需要4G以上 

操作系统

Ubuntu 14.04 64位版本(CentOS、Redhat系列内核版本较老,还是2.6系列。 

环境配置

a)登陆系统: ssh root@ip

b)自动更新一下:

apt-get update; apt-get upgrade

创建基础账号,原则上服务器禁用root直接登陆。建议创建常规运维账号如 yl。设置登陆密码,部署公钥(维护一下授权运维人员电脑的公钥,将这些部署到运维账号的公钥列表中,下面详细说下)。

# useradd –m –s /bin/bash yl
# passwd yl
# usermod -G sudo yl  

# 将yl 账号放到sudo组中,执行需要root权限的操作的时候

sudo /etc/init.d/php-fpm restart
# mkdir –p /home/yl/.ssh; chown –R yl:yl /home/yl/.ssh

创建 authorized_keys 文件,并将授权用户的公钥放里面。

d)配置SSH服务,修改端口,禁用root登陆,禁用密码登陆(确保上面c步骤中公钥部署完成,否则不要做)。

# vi /etc/ssh/sshd_config

e)修改主机名称:

vi /etc/hostname

以及

vi /etc/hosts 

f)重启服务器 

运维账号登录 

重启后,使用新建的运维账号进行登录。 

应用环境

部署应用环境 nginx + php

首先nginx的稳定版本和php7.0系列稳定版本。Php需部署Phalcon框架,这个是一个基于C的高性能框架,对于我们自主运维的系统来说,略增加部署成本,但是系统稳定性以及性能等还是很有优势的,研发团队的主用框架以Phalcon为主。

a)Nginx的部署方法,使用官方的发布版本,通过apt管理安装,具体的步骤详见:http://nginx.org/en/linux_packages.html#stable,主要步骤为:1、添加source.list文件;

2、导入公钥key;

3、执行安装命令,依次执行如下命令

$ sudo vi /etc/apt/sources.list.d/nginx.list  deb http://nginx.org/packages/ubuntu/ codename nginx  deb-src http://nginx.org/packages/ubuntu/ codename nginx
$ wget http://nginx.org/keys/nginx_signing.key && sudo apt-key add nginx_signing.key
$ sudo apt-get update && sudo apt-get install nginx

b)PHP7.0的安装。由于PHP7.0的发布较新,目前尚未纳入Ubuntu的官方源中。我们使用第三方apt源,具体步骤如下:

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update && sudo apt-get install php7.0 php7.0-cli php7.0-fpm php7.0-gd php7.0-json php7.0-mysql php7.0-readline php7.0-soap php7.0-mcrypt php7.0-mbstring php7.0-curl php7.0-bcmath php7.0-xml  php7.0-zip php7.0-memcached

c)Phalcon的安装。根据其官方网站的推荐源安装。具体步骤如下:

$ sudo apt-get install curl
$ curl -s https://packagecloud.io/install/repositories/phalcon/stable/script.deb.sh | sudo bash
$ sudo apt-get update && sudo apt-get install php7.0-phalcon

d)确认phalcon已经加载(php –m,能够看到phalcon),重启php服务:

$ sudo /etc/init.d/php7.0-fpm restart
 
posted @ 2018-01-11 12:03  CarterLee  阅读(250)  评论(0编辑  收藏  举报