Chinaunix首页 | 论坛 | 博客
  • 博客访问: 261419
  • 博文数量: 37
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 447
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-22 10:50
文章分类

全部博文(37)

文章存档

2018年(6)

2010年(9)

2009年(1)

2008年(3)

2007年(18)

分类: 系统运维

2018-03-16 09:55:36


 



一、系统安装

1.1 操作系统安装

CentOS release 6.9 (Final) 最小化安装

分区要求:采用逻辑卷分区

分区

大小

文件格式

/boot

1000m

ext4

/

剩余大小

ext4

swap

4G

swap

系统安装完成后关闭selinux并重启

vim /etc/sysconfig/selinux

SELINUX=disabled  #设置为disabled

shutdown -r now立即重启使其生效


1.2 网络及IP配置

根据具体分配IP信息进行配置。(略)

1.3 优化加固及防火墙配置

首先进行update和基础工具安装

yum update

yum -y install redhat-lsb  telnet zlib-devel pam-devel  gcc vim

yum -y install bind-utils sysstat traceroute


升级OPENSSH OPENSSL为最新版本,具体过程略


加固配置

(略)

系统优化配置如下:

编辑:/etc/security/limits.conf

# End of file

*               soft    core            0

*               hard    core            0

*               soft    nproc          65535

*               hard    nproc          65535

*               soft    nofile          65535  

*               hard    nofile          65535 

编辑:/etc/security/limits.d/90-nproc.conf

*          soft    nproc     65535

root       soft    nproc     unlimited

编辑:vim /etc/sysctl.conf

########内核优化############

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 30

vm.max_map_count=262144        #根据实际情况分配


防火墙配置:

编辑防火墙配置文件:vim /etc/sysconfig/iptables

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

##############allow ssh access default port 22##########################

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

#############开启对外提供服务端口如80###############################

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

#############zabbix 10050 10051########################################

-A INPUT -m state -s x.x.x.x --state NEW -m tcp -p tcp -m multiport --dports 10050:10051 -j ACCEPT

-A INPUT-m state -s x.x.x.x.x --state NEW -m tcp -p tcp -m multiport --dports 10050:10051 -j ACCEPT

####################################################################

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

-A INPUT -p tcp -j DROP

COMMIT



二、软件安装

2.1 各软件版本及安装路径

编号

软件

版本信息

安装路径

代码目录

1

nodejs

v8.9.4

/usr/local/nodejs

/usr/local/nodejs/workspace

2

java 

1.8.0_151-b12

/usr/local/java

 

3

tomcat

7.0.84

/usr/local/tomcat

/usr/local/tomcat/webapps

4

redis

4.0.7

/usr/local/redis

 

5

mongo

v3.6.2

/usr/local/mongodb

 

6

mysql

5.7.21

/usr/local/mysql

 


2.2 Nodejs安装及配置

首先将下载好的文件放在/usr/local/src

cd /usr/local/src

xz -d node-v8.9.4-linux-x64.tar.xz

tar -xvf node-v8.9.4-linux-x64.tar

cd node-v8.9.4-linux-x64

./node -v

mv /usr/local/src/node-v8.9.4-linux-x64 /usr/local/nodejs

配置变量环境:

vim /etc/profile

export NODE_HOME=/usr/local/nodejs

export PATH=$NODE_HOME/bin:$PATH

添加完后:source /etc/profile使其生效


安装好后安装pm2进行Node管理

npm install -g pm2


2.3 Java环境安装及配置

首先将下载好的文件放在/usr/local/src

tar xzvf jdk-8u151-linux-x64.tar.gz

mv jdk1.8.0_151 /usr/local/java

配置环境变量

##########set java environment##################

JAVA_HOME=/usr/local/java

JRE_HOME=/usr/local/java/jre

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export PATH JAVA_HOME CLASSPATH

添加完后:source /etc/profile使其生效

2.3 Tomcat安装及配置

首先将下载好的文件放在/usr/local/src

tar xzvf apache-tomcat-7.0.84.tar.gz

mv apache-tomcat-7.0.84 /usr/local/tomcat

进行tomcat安全加固及配置(灰色部分暂时不用修改)

1、删除文档和示例程序

【操作目的】删除示例文档

【加固方法】删除webapps/docsexamplesmanagerROOThost-manager

2、禁止列目录

【操作目的】防止直接访问目录时由于找不到默认页面而列出目录下的文件

【加固方法】打开web.xml,将listings 改成false

3、禁止使用root用户运行

【操作目的】以普通用户运行,增加安全性

【加固方法】以tomcat用户运行tomcat程序

注意:配合建立相应的tomcat运行账户。

注意:酌情处理

4、开启日志审核

【操作目的】检查tomcat的访问日志

【加固方法】独立运行的tomcat,修改conf/server.xml,取消注释

                   

                    prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> 

                    启用access_log后,重启tomcat,在tomcat_home/logs中可以看到访问日志。

5、修改默认访问端口

【操作目的】修改默认的8080端口

【加固方法】conf/server.xml8080改成任意端口

注意:根据实际需要修改端口。前端用NGINX时可不修改。

6tomcat默认帐号安全

【操作目的】禁用tomcat默认帐号

【加固方法】conf/tomcat-user.xml中的所有用户的注释掉

                     

7、重定向错误页面

【操作目的】修改访问tomcat错误页面的返回信息

【加固方法】conf/web.xml在倒数第1行之前加

                           

                             401              

                             /401.htm          

                               

                         

                             404        

                             /404.htm          

                       

                         

                             500  

                             /500.htm      

                       

                    然后在webapps\manger目录中创建相应的401.html\404.htm\500.htm文件

8、修改版本号信息:

【操作目的】修改访问tomcat显示相关版本号信息内容

【加固方法】/usr/local/tomcat/lib/catalina.jar包下/org/apache/catalina/util/serverinfo.properties下的相关如下内容:

server.info=ant/888

server.number=888

server.built=Jan 19 2018 15:01:35 UTC

9、关闭自动部署

【操作目的】禁止tomcat自动加载WAR

【加固方法】编辑server.xml

   unpackWARs="true" autoDeploy="false"

10、启用cookieHttpOnly属性

【操作目的】使用HttpOnly提升Cookie安全性

【加固方法】编辑/usr/local/tomcat/conf/context.xml

   

    WEB-INF/web.xml

11、关闭AJP端口

【操作目的】关闭AJP缺省服务端口,因使用的是NGINX反向代理方式。

【加固方法】编辑server.xml


2.4 Redis安装及配置

首先将下载好的文件放在/usr/local/src

cd /usr/local/src

 yum install tcl   #解决安装过程中的报错

tar xzvf redis-4.0.7.tar.gz

cd redis-4.0.7

mkdir -p /usr/local/redis/bin

mkdir -p /usr/local/redis/etc

cp -aRp  redis.conf  /usr/local/redis/etc

cd src

cp -aRp mkreleasdhdr.sh redis-benchmark redis-check-aof  redis-cli redis-server /usr/local/redis/bin

编辑配置文件

vim /usr/local/redis/etc/redis.conf

daemonize yes  #(找到这一项,修改为yes

bind 192.168.9.31 127.0.0.1 #设置本机服务IP,应是内网IP。外网不安全

启动

redis-server /usr/local/redis/etc/redis.conf

缺省服务端口:6379

2.5 Mongodb安装及配置

首先将下载好的文件放在/usr/local/src

tar xf mongodb-linux-x86_64-rhel62-3.6.2.tgz

cp -aRp mongodb-linux-x86_64-rhel62-3.6.2 /usr/local/mongodb

cd /usr/local/mongodb/

mongod --dbpath=/usr/local/mongodb/data/mongodata --logpath=/usr/local/mongodb/data/log/mongolog/mongodb.log --logappend --fork

配置环境变量

##########set mongodb path##################

export PATH=$PATH:/usr/local/mongodb/bin

################################################

添加完后:source /etc/profile使其生效

注意:设置MONGO加密码过程略

2.6 Mysql安装及配置

首先将下载好的文件放在/usr/local/src

cd /usr/local/src

yum install numactl -y  #解决安装过程中的报错

tar xzvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/

mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql

mkdir /usr/local/mysql/data

groupadd mysql

useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql

chown -R mysql.mysql mysql

cd mysql

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

记住生成的密码

bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data        

chown -R mysql.mysql mysql

cd /usr/local/mysql/support-files

cp mysql.server /etc/init.d/mysqld

vim /etc/init.d/mysqld         #注意此步骤编辑如下路径

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

配置环境变量

################set MYSQL path#############################

export MYSQL_HOME="/usr/local/mysql"

export PATH="$PATH:$MYSQL_HOME/bin"

#############################################

添加完后:source /etc/profile使其生效

配置MY.CNF文件 vim /etc/my.cnf

[mysqld]

##########目录位置###################################################

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/mysql.sock

pid_file=/usr/local/mysql/mysql.pid

log-error=/usr/local/mysql/data/mysqllog.err

user=mysql

###########SLOW LOG###################################################

slow_query_log=1

slow_query_log_file=/usr/local/mysql/data/mysql.slow

long_query_time=3

# Disabling symbolic-links is recommended to prevent assorted security risks

#symbolic-links=0

###########设置字符集#################################################

collation-server = utf8_unicode_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

################优化配置###############################################

innodb_buffer_pool_size=1000M   #根据内存情况分配,越大性能越好

innodb_log_buffer_size=16M

#innodb_log_file_size=250M

innodb_file_per_table=ON

innodb_file_per_table=1

######################################################################

max_connections = 2048        #根据内存情况分配,若内存较小不易设置过大

#######################################################################

tmp_table_size=256M            #开启临时表

query_cache_type=1

query_cache_size=128M      

query_cache_limit=2M

max_allowed_packet=3000M

########################################################################

skip-name-resolve

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[client]

port=3306

socket=/usr/local/mysql/mysql.sock

default-character-set=utf8

[mysql]

no-auto-rehash

default-character-set=utf8

设置好后重启MYSQL并设置开机启动相关项

Service mysqld restart

chkconfig --add mysqld

chkconfig --level 345 mysqld on

设置root登录密码

mysql -u root -p  #输入刚刚记录的初始密码

set password=password('xchs123456');

注意:主主配置及中间件配置见具体的配置文档,篇幅关系,此处略。

三、代码部署及调试


阅读(7760) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~