Blog

Kubernetes集群安全:准入控制Admission Control

📅 2017-05-15

概述 #

kube-apiserver是Kubernetes集群的中心,集群中所有资源的创建和更新都是通过APIServer的Restful API实现的。 因此Kubernetes通过一系列的机制来保证APIServer的安全,包括APIServer的认证、授权以及本文我们要学习的准入控制Admission Control。

...

团队环境:ProFTPD安装

📅 2017-05-11

环境 #

  • CentOS 7.2
  • proftpd 1.3.6

安装 #

下载最新稳定版源码:

1wget https://github.com/proftpd/proftpd/archive/v1.3.6.tar.gz

解压:

1tar -zxvf proftpd-1.3.6.tar.gz

编译:

1cd proftpd-1.3.6
2./configure --prefix=/usr/local/proftpd

安装:

1make
2make install

创建运行用户:

1useradd -s /sbin/nologin proftpd

修改配置文件/usr/local/proftpd/etc/proftpd.conf:

 1
 2# Umask 022 is a good standard umask to prevent new dirs and files
 3# from being group and world writable.
 4Umask                           0000
 5
 6User               proftpd
 7Group              proftpd
 8DefaultRoot        ~
 9SystemLog          /home/proftpd/proftpd.log
10TransferLog        /home/proftpd/proftpd-transfer.log
11
12PathDenyFilter     "\\.ftp)|\\.ht)[a-z]+$"
13DenyFilter 		   \*.*/
14
15
16UseReverseDNS off
17IdentLookups off
18ServerIdent off
19AllowRetrieveRestart on
20AllowStoreRestart on
21
22AuthOrder mod_auth_file.c
23AuthUserFile /usr/local/proftpd/etc/passwd
24AuthGroupFile /usr/local/proftpd/etc/group
25
26<Limit LOGIN>
27      AllowGroup admin
28      AllowGroup dev
29      AllowGroup ops
30      DenyAll
31</Limit>
32
33<Directory /home/proftpd/ftp>
34        AllowOverwrite          on
35        HideNoAccess            on
36        <Limit DIRS>
37                AllowAll
38        </Limit>
39        <Limit STOR RMD MKD>
40               DenyAll
41        </Limit>
42</Directory>
43
44<Directory /home/proftpd/ftp/dev>
45        AllowOverwrite          on
46        HideNoAccess            on
47        <Limit DIRS>
48                AllowGroup dev
49                AllowGroup admin
50                DenyAll
51        </Limit>
52</Directory>
53
54<Directory /home/proftpd/ftp/dev/*>
55	AllowOverwrite          on
56	HideNoAccess            on
57	<Limit READ DIRS>
58	        AllowGroup dev
59	        AllowGroup admin
60	        DenyAll
61    	</Limit>
62	<Limit MKD STOR RMD DELE> 
63       		 AllowGroup dev
64       		 AllowGroup admin
65        		DenyAll
66	</Limit>
67</Directory>
68
69<Directory /home/proftpd/ftp/ops>
70        AllowOverwrite          on
71        HideNoAccess            on
72        <Limit DIRS>
73                AllowGroup ops
74                AllowGroup admin
75                DenyAll
76        </Limit>
77</Directory>
78
79<Directory /home/proftpd/ftp/ops/*>
80	AllowOverwrite          on
81	HideNoAccess            on
82	<Limit READ DIRS>
83	        AllowGroup ops
84	        AllowGroup admin
85	        DenyAll
86    	</Limit>
87	<Limit MKD STOR RMD DELE> 
88        		AllowGroup ops
89        		AllowGroup admin
90        		DenyAll
91	</Limit>
92</Directory>
  • AuthOrder指定权限检查顺序,这里mod_auth_file.c只使用虚拟用户
  • 注意删除配置文件中的<Anonymous ~ftp>...</Anonymous>
  • 关于配置的umask配置项可以查看Umask
    • umask即权限掩码,系统的umask默认值是0022,可以使用umask命令查看,此时创建的文件的默认权限是644(6-0,6-2,6-2),创建的目录的默认权限是755(7-0,7-2,7-2),umask的作用就是用来设置控制默认权限。
1touch /usr/local/proftpd/etc/passwd
2chmod o-rwx /usr/local/proftpd/etc/passwd
3
4touch /usr/local/proftpd/etc/group
5chmod o-rwx /usr/local/proftpd/etc/group

systemd unit文件/usr/lib/systemd/system/proftpd.service:

...

团队环境:WIKI系统Confluence安装

📅 2017-05-11

环境 #

  • CentOS 7.3 192.168.61.100
  • JDK 1.8

安装 #

创建运行用户:

1groupadd confluence
2useradd -g confluence -d /home/confluence -s /sbin/nologin confluence

这里使用的是zip格式的安装包。

1unzip -d /home/confluence/ bc-atlassian-confluence-6.2.0.zip

创建数据目录:

1mkdir /home/confluence/data

修改/home/confluence/atlassian-confluence-6.2.0/confluence/WEB-INF/classes,在最下方加入:

...

团队环境:持续集成Jenkins安装

📅 2017-05-10

环境 #

  • 服务器CentOS 7
  • 服务器上已经装好JDK 1.8
  • Jenkins版本2.60

Jenkins安装 #

下载安装包:

1wget https://pkg.jenkins.io/redhat/jenkins-2.60-1.1.noarch.rpm

安装:

1yum localinstall jenkins-2.60-1.1.noarch.rpm

创建JENKINS_HOME目录:

1mkdir /home/jenkins
2chown jenkins:jenkins /home/jenkins
  • 默认的JENKINS_HOME目录在/var/lib/jenkins下,因为我们服务器的数据盘挂在/home下

    ...

团队环境:问题跟踪系统JIRA安装

📅 2017-05-10

环境 #

  • CentOS 7.3 192.168.61.100

下载JIRA Linux Installer #

本文将使用JIRA的Linux Installer进行安装,先下载:

1wget https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-7.3.6-x64.bin

运行JIRA Linux Installer #

1chmod u+x atlassian-jira-software-7.3.6-x64.bin
2
3./atlassian-jira-software-7.3.6-x64.bin

根据向导提示一步一步安装:

  • 安装类型:Choose the appropriate installation or upgrade option.选2Custom Install (recommended for advanced users) [2, Enter]
  • 安装位置:Where should JIRA Software be installed?[/opt/atlassian/jira]输入回车默认该位置
  • 数据目录:Default location for JIRA Software data[/var/atlassian/application-data/jira]输入/home/jira
  • 端口:Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2],输入2进行定制,HTTP Port Number[8080]输入18080Control Port Number[8005]输入18005
  • 安装为服务: You may choose to run JIRA as a service, which means it will start输入y回车
  • 开始安装: Install [i, Enter], Exit [e],输入i回车
  • 安装后启动服务: Start JIRA Software 7.3.6 now?Yes [y, Enter], No [n],输入y回车

配置JIRA #

数据库配置 #

在已经准备好的MySQL实例中创建JIRA的数据库:

...

团队环境:版本管理系统GitLab安装

📅 2017-05-09

版本控制系统是DevOps流程和持续交付流水线中关键的一环。 版本控制系统是研发团队开发环境的中心,开发人员和运维人员开发软件产品的代码、配置以及基础设施配置管理都要保存在其中。

我们选择在内网开发环境部署GitLab社区版作为团队的版本控制系统,一切皆代码,开发和运维人员将共同使用这个系统。

...

团队环境:包管理仓库Nexus安装

📅 2017-05-09

环境 #

  • JDK 1.8已经安装
  • 将会安装Sonatype Nexus OSS 3.3

安装 #

下载安装包:

1wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.3.1-01-unix.tar.gz

创建运行用户:

1group add nexus
2useradd -g nexus -d /home/nexus nexus

解压缩安装包:

1tar -zxvf nexus-3.3.1-01-unix.tar.gz -C /home/neuxs
2ls /home/nexus
3nexus-3.3.1-01  sonatype-work

修改数据目录中的配置文件:

1cd /home/nexus/sonatype-work/nexus3/
2vi nexus.properties
3
4# 定制http端口号
5application-port=8082

修改运行用户:

...

团队环境:代码质量管理SonarQube安装

📅 2017-05-09

环境 #

  • 服务器CentOS 7
  • JDK 1.8
  • SonarQube 6.3.1

SonarQube安装 #

下载安装包:

1wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.3.1.zip

创建运行用户:

1groupadd sonar
2useradd -g sonar -d /home/sonar sonar

解压安装包:

1unzip sonarqube-6.3.1.zip -d /home/sonar/
2
3ls /home/sonar
4sonarqube-6.3.1

设置运行用户:

1cd /home/sonar/sonarqube-6.3.1/bin/linux-x86-64
2vi sonar.sh
3
4RUN_AS_USER=sonar

设置启动脚本:

1chown -R sonar:sonar /home/sonar/
2
3
4ln -s /home/sonar/sonarqube-6.3.1/bin/linux-x86-64/sonar.sh /etc/init.d/sonar
5chmod 755 /etc/init.d/sonar
6chkconfig --add sonar

在已经安装好的MySQL中创建数据库和数据库用户:

...

OpenLDAP:使用Self Service Password管理用户密码

📅 2017-05-08

概述 #

我们已经部署了OpenLDAP服务,使得我们有了实现集中管理用户账号和集中式认证的基础。接下来更进一步需求就是让用户可以自己自行管理密码。本文将尝试使用Self Service Password实现这个需求。

Self Service Password是一个PHP的Web应用,能够让用户修改在LDAP中的密码,支持标准的LDAPv3目录OpenLDAP, OpenDS, ApacheDS, Active Directory等。

...

在CentOS7上使用yum安装MySQL 5.7

📅 2017-05-08

最近在准备团队新的开发环境,首先从配置管理做起,配置管理服务器只有一台,配置如下:

1DELL R430机架服务器
2CPU: e5-2603V4 8核
3MEM: 32G
4DISK: 2TB, raid1

团队DevOps流程所需要的多种系统都需要使用MySQL数据库,因此现在这里简单安装一个MySQL,做一下准备工作。

...

© 2024 青蛙小白 | 总访问量 | 总访客数