分类: 系统运维
2018-03-16 09:55:36
CentOS release 6.9 (Final) 最小化安装
分区要求:采用逻辑卷分区
分区 |
大小 |
文件格式 |
/boot |
1000m |
ext4 |
/ |
剩余大小 |
ext4 |
swap |
4G |
swap |
系统安装完成后关闭selinux并重启
vim /etc/sysconfig/selinux
SELINUX=disabled #设置为disabled |
shutdown -r now立即重启使其生效
根据具体分配IP信息进行配置。(略)
首先进行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 |
编号 |
软件 |
版本信息 |
安装路径 |
代码目录 |
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 |
|
首先将下载好的文件放在/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 |
首先将下载好的文件放在/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使其生效
首先将下载好的文件放在/usr/local/src下
tar xzvf apache-tomcat-7.0.84.tar.gz mv apache-tomcat-7.0.84 /usr/local/tomcat |
进行tomcat安全加固及配置(灰色部分暂时不用修改)
1、删除文档和示例程序 【操作目的】删除示例文档 【加固方法】删除webapps/docs、examples、manager、ROOT、host-manager 2、禁止列目录 【操作目的】防止直接访问目录时由于找不到默认页面而列出目录下的文件
【加固方法】打开web.xml,将 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.xml把8080改成任意端口 注意:根据实际需要修改端口。前端用NGINX时可不修改。
6、tomcat默认帐号安全 【操作目的】禁用tomcat默认帐号 【加固方法】conf/tomcat-user.xml中的所有用户的注释掉
7、重定向错误页面 【操作目的】修改访问tomcat错误页面的返回信息 【加固方法】conf/web.xml在倒数第1行之前加
然后在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、启用cookie的HttpOnly属性 【操作目的】使用HttpOnly提升Cookie安全性 【加固方法】编辑/usr/local/tomcat/conf/context.xml
11、关闭AJP端口 【操作目的】关闭AJP缺省服务端口,因使用的是NGINX反向代理方式。 【加固方法】编辑server.xml
|
首先将下载好的文件放在/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
首先将下载好的文件放在/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加密码过程略
首先将下载好的文件放在/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'); |
注意:主主配置及中间件配置见具体的配置文档,篇幅关系,此处略。