目的

我们的目标是在Red Hat Enterprise Linux上安装和配置独立的FreeIPA服务器。

操作系统和软件版本

  • 操作系统: Red Hat Enterprise Linux 7.5
  • 软件: FreeIPA 4.5.4-10

要求

对目标服务器,可用软件存储库的特权访问。

约定

  •  - 要求使用root权限直接以root用户或使用命令执行给定的linux特性命令 sudo命令
  • $ - 给定的linux命令作为常规非特权用户执行

介绍

FreeIPA主要是一个目录服务,您可以在其中存储有关您的用户的信息,以及他们有关登录,成为root用户的权限,或者只是在加入FreeIPA域的系统上以root用户身份运行特定命令等等。虽然这是该服务的主要特性,但是有一些非常有用的可选组件,如DNS和PKI - 这使得FreeIPA成为基于Linux的系统中必不可少的基础结构部分。它有一个很好的基于Web的GUI和强大的命令行界面。

在本教程中,我们将了解如何在Red Hat Enterprise Linux 7.5上安装和配置独立的FreeIPA服务器。但请注意,在生产系统中,建议您至少再创建一个副本以提供高可用性。我们将在具有2个CPU内核和2 GB RAM的虚拟机上托管该服务 - 在大型系统上,您可能希望添加更多资源。我们的实验室机器运行RHEL 7.5,基本安装。让我们开始吧。

安装和配置FreeIPA服务器非常简单 - 问题在于规划。您应该考虑要使用的软件堆栈的哪些部分,以及您希望运行这些服务的环境是什么。由于FreeIPA可以处理DNS,如果您从头开始构建系统,将整个DNS域提供给FreeIPA可能是有用的,其中所有客户端计算机将调用用于DNS的FreeIPA服务器。此域可以是您的基础结构的子域,您甚至可以仅为FreeIPA服务器设置子域 - 但请仔细考虑这一点,因为您以后无法更改域。不要使用现有域,FreeIPA需要认为它是给定域的主人(安装程序将检查域是否可以解析,以及它是否具有其他的SOA记录)。

PKI是另一个问题:如果您的系统中已有CA(证书颁发机构),则可能需要将FreeIPA设置为从属CA. 在Certmonger的帮助下,FreeIPA能够自动更新客户端证书(如Web服务器的SSL证书),这可以派上用场 - 但如果系统没有面向Internet的服务,您可能不需要FreeIPA的PKI服务一点都不 这一切都取决于用例。

在本教程中,规划已经完成。我们希望建立一个新的测试实验室,因此我们将安装和配置FreeIPA的所有功能,包括带有自签名CA证书的DNS和PKI。FreeIPA可以为我们生成这个,无需使用openssl等工具创建。



要求

首先应该设置的是服务器的可靠NTP源(FreeIPA也将充当NTP服务器,但自然需要源),并且服务器/etc/hosts文件中的条目指向自身:

# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.122.147   rhel7.ipa.linuxconfig.org   rhel7

主机文件中提供的主机名必须是机器的FQDN。

# hostname
rhel7.ipa.linuxconfig.org

这是重要的一步,不要错过它。网络文件中需要相同的主机名:

# grep HOSTNAME /etc/sysconfig/network
HOSTNAME=rhel7.ipa.linuxconfig.org

安装包

所需的软件包含在Red Hat Enterprise Linux服务器ISO映像或订阅频道中,无需其他存储库。在此演示中,有一个本地存储库集,其中包含ISO映像的内容。软件堆栈捆绑在一起,因此单个yum命令将执行:

# yum install ipa-server ipa-server-dns

在基本安装上,yum将提供一长串依赖项,包括Apache Tomcat,Apache Httpd,389-ds(LDAP服务器)等。完成yum后,打开防火墙上所需的端口:

# firewall-cmd --add-service=freeipa-ldap
success
# firewall-cmd --add-service=freeipa-ldap --permanent
success


建立

现在让我们设置我们的新FreeIPA服务器。这需要时间,但是当安装程序要求参数时,您只需要第一部分。大多数参数可以作为参数传递给安装程序,但我们不会给出任何参数,这样我们就可以从之前的设置中受益。

#ipa-server-install可以在/var/log/ipaserver-install.log中找到此安装的日志文件
================================================== ============================
该程序将设置IPA服务器。这包括:*配置独立CA(dogtag)以进行证书管理*配置网络时间守护进程(ntpd)*创建和配置Directory Server的实例*创建和配置Kerberos密钥分发中心(KDC)*配置Apache(httpd)*配置KDC以启用PKINIT要接受括号中显示的默认值,请按Enter键。警告:将禁用冲突的时间和日期同步服务'chronyd'
赞成ntpd##我们将使用集成的DNS服务器
要配置集成DNS(BIND)吗?[不]:是的输入计算机的完全限定域名
你正在设置服务器软件。使用表格
<主机名>。<域名>
示例:master.example.com。##按'enter'表示我们接受手镯中的默认值
##这就是我们为主机设置合适的FDQN的原因
服务器主机名[rhel7.ipa.linuxconfig.org]:                       警告:跳过主机rhel7.ipa.linuxconfig.org的DNS解析
域名已根据主机名确定。##现在我们不必输入/粘贴域名
##并且安装程序不需要尝试设置主机的名称
请确认域名[ipa.linuxconfig.org]:                  kerberos协议要求定义领域名称。
这通常是转换为大写的域名。## Kerberos域从域名映射
请提供领域名称[IPA.LINUXCONFIG.ORG]:
某些目录服务器操作需要管理用户。
此用户称为目录管理员,具有完全访问权限
到系统管理任务的目录,并将添加到
为IPA创建的目录服务器实例。
密码长度必须至少为8个字符。## Directory Manager用户用于低级操作,如创建副本
目录管理员密码:
##在生产环境中使用非常强大的密码!
确认密码):                                    IPA服务器需要一个名为“admin”的管理用户。
此用户是用于IPA服务器管理的常规系统帐户。## admin是FreeIPA系统的“根” - 但不是LDAP目录
IPA管理员密码:
确认密码): 检查DNS域名ipa.linuxconfig.org。,请稍候...
##我们可以设置转发器,但也可以稍后设置
您要配置DNS转发器吗?[是]:不
没有配置DNS转发器
您想搜索缺失的反向区域吗?[是]:不IPA主服务器将配置为:
主机名:rhel7.ipa.linuxconfig.org
IP地址:192.168.122.147
域名:ipa.linuxconfig.org
领域名称:IPA.LINUXCONFIG.ORGBIND DNS服务器将配置为服务于IPA域:
货代:没有货运代理
远期政策:仅限
反向区域:无反向区域继续使用这些值配置系统?[不]:是的##此时安装程序将自行运行,
##并在几分钟内完成整个过程。咖啡的最佳时间。
以下操作可能需要几分钟才能完成。
请等待,直到返回提示。                      配置NTP守护程序(ntpd)[1/4]:停止ntpd ...

安装程序的输出相当长,您可以看到所有组件都已配置,重新启动和验证。在输出结束时,需要一些完整功能所需的步骤,但不适用于安装过程本身。

... ipa-client-install命令成功================================================== ============================
设置完成下一步:1.您必须确保这些网络端口已打开:TCP端口:* 80,443:HTTP / HTTPS* 389,636:LDAP / LDAPS* 88,464:kerberos* 53:绑定UDP端口:* 88,464:kerberos* 53:绑定* 123:ntp2.您现在可以使用以下命令获取kerberos票:'kinit admin'此票证允许您使用IPA工具(例如,ipa用户添加)和Web用户界面。请务必备份存储在/root/cacert.p12中的CA证书
创建副本需要这些文件。这些密码
files是目录管理员密码

正如安装程序所指出的那样,请务必备份CA证书,并在防火墙上打开其他所需端口。

现在让我们在登录时启用主目录创建:

#authconfig --enablemkhomedir --update


验证

如果我们有一个工作服务堆栈,我们可以开始测试。让我们测试一下我们是否可以为admin用户获取Kerberos票证(在安装期间给管理员用户提供密码):

#kinit adminadmin@IPA.LINUXCONFIG.ORG的
密码:
#klist
票证缓存:KEYRING:persistent:0:0
默认主体:admin@IPA.LINUXCONFIG.ORG有效的起始过期服务主体
2018-06-24 21.44.30 2018-06-25 21.44.28 krbtgt / IPA.LINUXCONFIG.ORG@IPA.LINUXCONFIG.ORG

主机注册到我们的新域中,默认规则授予对所有已注册主机的上述创建的管理员用户的ssh访问权限。让我们通过打开与localhost的ssh连接来测试这些规则是否按预期工作:

# ssh admin@localhost
Password:
Creating home directory for admin.
Last login: Sun Jun 24 21:41:57 2018 from localhost
$ pwd
/home/admin
$ exit

我们来检查整个软件堆栈的状态:

# ipactl status
Directory Service: RUNNING
krb5kdc Service: RUNNING
kadmin Service: RUNNING
named Service: RUNNING
httpd Service: RUNNING
ipa-custodia Service: RUNNING
ntpd Service: RUNNING
pki-tomcatd Service: RUNNING
ipa-otpd Service: RUNNING
ipa-dnskeysyncd Service: RUNNING
ipa: INFO: The ipactl command was successful

并且 - 使用之前获得的Kerberos票证 - 使用CLI工具询问有关管理员用户的信息:

# ipa user-find admin
--------------
1 user matched
--------------User login: adminLast name: AdministratorHome directory: /home/adminLogin shell: /bin/bashPrincipal alias: admin@IPA.LINUXCONFIG.ORGUID: 630200000GID: 630200000Account disabled: False
----------------------------
Number of entries returned 1
----------------------------


最后,使用admin用户的凭据登录基于Web的管理页面(运行浏览器的计算机必须能够解析FreeIPA服务器的名称)。使用HTTPS,如果使用普通HTTP,服务器将重定向。当我们安装自签名根证书时,浏览器会向我们发出警告。

FreeIPA WUI的登录页面

登录后的默认页面显示我们的用户列表,现在只显示管理员用户。

登录后的默认页面是FreeIPA WUI中的用户列表

有了这个,我们完成了目标,我们有一个正在运行的FreeIPA服务器,随时可以填充用户,主机,证书和各种规则。

参考英文原文:https://linuxconfig.org/how-to-install-and-configure-freeipa-on-red-hat-linux

如何在Red Hat Linux上安装和配置FreeIPA相关推荐

  1. red hat linux mysql,Red Hat Linux上的Mysql与JDBC的连接问题

    我正在实现一个需要连接到MYSQL数据库的类....在Windows系统上,我遇到了一些连接问题,这些连接问题是通过更改"绑定地址"将MYSQL配置文件中的参数设置为localho ...

  2. ubuntu使用fail2ban_如何在Ubuntu 20.04上安装和配置Fail2ban

    暴露给Internet的任何服务都有遭受恶意软件攻击的风险. 例如,如果您在可公开访问的网络上运行服务,则攻击者可以使用暴力手段尝试登录您的帐户. Fail2ban是一种工具,可通过监视服务日志中的恶 ...

  3. 阿里云linux上安装与配置Mysql

    记录下在阿里云linux上安装与配置Mysql 环境:阿里云ECS服务器,系统为centos7.2 用户:root 文章目录 删除原来的数据库: 下载与安装MySQL: 关于登录MySQL: 配置远程 ...

  4. bugzilla dbd-mysql_在Red Hat Linux下安装配置Bugzilla

    1.App 2.CGI 3.Date::Format(对应的包为:TimeDate-1.16.tar.gz) 4.DBI过程较长(要GCC包),在安装DBI-1.45.tar.gz之前,要先装gcc- ...

  5. linux系统管理与服务器配置高志君_如何在 Linux 上安装、配置 NTP 服务器和客户端?...

    你也许听说过这个词很多次或者你可能已经在使用它了.在这篇文章中我将会清晰的告诉你 NTP 服务器和客户端的安装. -- Magesh Maruthamuthu 你也许听说过这个词很多次或者你可能已经在 ...

  6. red hat linux 虚拟机,Red Hat linux 的安装详细流程(包括VM虚拟机的设置)

    Red hat Linux系统安装流程 目录 Red hat Linux系统安装流程 (1) 第一章:虚机的设置 (3) 1.新建虚拟机: (3) 2.安装盘映像文件 (4) 3.linux(L) ( ...

  7. linux debian 安装gcc,如何在Debian 10 Linux上安装GCC编译器

    GNU编译器集合(GCC)是支持C,C ++,Objective-C,Fortran,Ada,Go和D编程语言的编译器和库的开源集合. Linux内核,GNU实用程序和许多其他项目都是使用GCC编译的 ...

  8. Debian10降级安装php,如何在Debian 10 Linux上安装PHP

    PHP是最常用的服务器端编程语言之一. 在本指南中,我们将讨论如何在Debian 10 Buster上安装PHP.我们还将向您展示如何将PHP与Nginx和Apache集成. Debian 10随附P ...

  9. ar.drone2.0_如何在Ubuntu 20.04上安装和配置Drone

    ar.drone2.0 介绍 (Introduction) Drone is an open-source container-native CI/CD platform written in Go. ...

最新文章

  1. Axure 全局辅助线(转)
  2. 利用Use Case为系统行为建模(3)
  3. hadoop大数据平台架构之DKhadoop详解
  4. 区块链BaaS云服务(24)秘猿科技CITA
  5. 一个例子学懂搜索引擎(lucene)
  6. HTML引入第三方类库项目需要授权解决方案
  7. qt linux 添加库文件路径,linux下qt使用第三方库的那些事
  8. 微信小程序云开发用户身份登录_你必须要掌握的微信小程序云开发
  9. 1075 - Incorrect table definition;there can be only one auto column and it must be defined as a key
  10. H5中启动Android app
  11. 经验系列之java拦截器获取POST入参导致@RequestBody参数丢失问题解决
  12. Ceph:pg peering过程分析
  13. office 中墨迹书写工具_在word2019或ppt2019中如何调出墨迹书写工具
  14. 电脑网线水晶头接法图解
  15. php将两张图片合并成一张,加上文字
  16. 中国石油大学计算机评估排名,中国石油大学华东学科评估结果及排名情况怎样...
  17. 什么是顶级域名、根域/二级域名、一级域名/子域名
  18. 解决数据库查询结果过大导致的录制失败问题(loadrunner)
  19. cve-2008-4609一把梭
  20. 浏览器加载页面的过程

热门文章

  1. 优秀的 jQuery 文本输入框自动完成 自动提示插件
  2. 站长如何屏蔽流氓宽带商在你的页面里面强行插入的广告代码
  3. 网络广告中的CPS,CPA,CPL,CPC,CPM,CPR的含义是什么?
  4. ie 调试器,类似firebug
  5. Linux命令基本格式(详解版)
  6. 【AI视野·今日Robot 机器人论文速览 第二十八期】Wed, 1 Dec 2021
  7. 【今日CV 视觉论文速览】29 Nov 2018
  8. Java—重入锁的理解
  9. 登陆窗体相关的控件 1124
  10. 01 掌握运算符的分类 1204