SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
FreeBSD System Administration Using SysAdm
Dru Lavigne
dru@freebsd.org
Abstract
System administrators rely on a variety of built-in and third-party utilities to manage their FreeBSD
systems. Management becomes more complex as the number of systems to administer increases,
requiring the administrator to manage multiple connections and authorization keys. Third-party
management utilities may rely on a configuration database which does not integrate manual edits to
existing configuration files. Most third-party utilities require learning a new scripting language and
do not provide hooks for ZFS management or FreeBSD-specific utilities such as jails. Further, the
FreeBSD Project does not provide a REST API for management of remote systems.
SysAdm is a framework for administering a local or any number of remote FreeBSD or TrueOS
systems. It is designed to complement FreeBSD's built-in configuration files, provides graphical
and scriptable methods for performing routine system administration tasks, and includes a
notification system to alert the administrator of events that require attention.
The SysAdm framework is built into TrueOS and is available as a FreeBSD package. In addition,
the graphical component is cross-platform and also available for the Windows and Mac OS X
operating systems.
Introduction
The SysAdm framework is comprised of three components:
1. Server: a daemon that listens for local or remote connection requests. The server can listen
for both single-request and established connections and uses a well-defined and documented
API of classes to manage authentication, event notifications, and common system
administration tasks.
2. Client: a graphical front-end for connecting to and interacting with the server.
3. Bridge: a relay for managing connections to servers with dynamic IP addresses or through a
firewall. This component is still experimental and under testing.
This paper provides an overview of each component's features and usage. It then provides pointers
to additional resources.
SysAdm Server
The SysAdm Server provides the middleware to facilitate interactions between the user and the
managed system. The Server must be installed and running on the system to be managed. The
Server supports the JSON text format over two connection types:
• REST: single-request connection that requires user and password authentication with every
request.
• WebSockets: long-lived connection that provides pure JSON input and output. It uses one-
time authentication with a configurable timeout or disconnect for inactivity. This type of
connection can also be used to define events that result in system notifications or status
updates.
Both types of connections can run simultaneously, on different sockets, to allow for multiple access
methods. The Server requires TLS encryption over HTTPS or WSS. It also requires authentication,
which can be either a username and password or an SSL public/private key pair. The administrator
has the option to disable password authentication and to require key authentication. The server
enforces configurable connection timeouts and blacklisting and provides privilege separation
through the wheel and operator groups. Instead of relying on a configuration database, all system
information and configuration changes are performed directly to the built-in configuration files
using either the SysAdm Client or a SysAdm API request.
The SysAdm API provides a set of classes for managing various aspects of the system. Table 1 lists
the available classes and provides a short description for each.
Table 1: SysAdm API Classes
Class Used to View and Manage
beadm ZFS boot environments
dispatcher External processes such as scripts
firewall IPFW
fs Files and directories
iocage Jails
iohyve Bhyve
lifepreserver ZFS snapshots and replication
logs System logs
pkg Packages
services Services
systemmanager Memory, CPU, processes, battery information, mounts, sysctls, system
shutdown
update System updates
zfs ZFS pools and datasets
Each API class provides a list of actions which can be used to either view or change the current
state of a configurable element. When using the API directly, the administrator can choose to send a
request using a one-time (REST) or a long-lived (WebSockets) connection. Example 1 demonstrates
the requests and response for listing ZFS boot environments using the beadm class and the listbes
action. Example 2 demonstrates how to use the beadm class and the createbe action to create the
specified boot environment.
Example 1: Listing Boot Environments
REST Request
PUT /sysadm/beadm
{
"action" : "listbes"
}
WebSockets Request
{
"name" : "beadm",
"namespace" : "sysadm",
"id" : "fooid",
"args" : {
"action" : "listbes"
}
}
Server Response
{
"args": {
"listbes": {
"11.0-CURRENTJAN2016-up-20160128_150853": {
"active": "NR",
"date": "2016-01-28",
"mount": "/",
"nick": "14:57",
"space": "10.2G"
},
"initial": {
"active": "-",
"date": "2016-01-28",
"mount": "-",
"nick": "07:00",
"space": "1.2G"
}
}
},
"id": "fooid",
"name": "response",
"namespace": "sysadm"
}
Example 2: Creating a New Boot Environment
REST Request
PUT /sysadm/beadm
{
"action" : "createbe",
"newbe" : "red",
"clonefrom" : "green"
}
WebSockets Request
{
"id" : "fooid",
"args" : {
"newbe" : "red",
"clonefrom" : "green",
"action" : "createbe"
},
"namespace" : "sysadm",
"name" : "beadm"
}
Server Response
{
"args": {
"createbe": {
"clonefrom": "green",
"newbe": "red"
}
},
"id": "fooid",
"name": "response",
"namespace": "sysadm"
}
The SysAdm API Reference Guide1
describes the actions for each available class and provides
usage examples for each action.
SysAdm Client
The SysAdm Client is a suite of graphical utilities which provide a front-end to the SysAdm API's
classes and actions. The utilities are written with Qt5 in order to maximize cross-platform support.
At this time, the TrueOS Project has automated builds for the FreeBSD, Windows, and OS X
versions of the SysAdm Client.
1 http://api.sysadm.us/
The SysAdm Client can be used to manage the local or multiple remote systems. For security
reasons, access to remote systems is disabled by default so that the administrator can configure
secure connections to those systems. The SysAdm Client integrates into the system tray in order to
provide notifications of events. Example notifications include available security or software updates
and notification of a completed ZFS replication task.
Connections to remote systems occur over a secure Websockets connection. A valid username and
password is required for the first connection at which time a unique SSL key pair is created,
registered, and required for subsequent connections. Registered certificates and keys are stored on
the client system within an encrypted file that is protected by a user-defined password. Encrypted
client settings can be imported and exported, allowing the administrator to manage remote systems
from multiple client devices. A graphical Connection Manager utility is provided for generating
keys and managing connections.
The Client utilities are listed in a graphical Control Panel. The list of available utilities may vary,
depending upon what is installed on the client system. For example, the iohyve utility will not
appear in the Control Panel if iohyve is not installed on the system. An example of a Control Panel
listing on a TrueOS system can be seen in Figure 1.
Figure 1: Example Control Panel
Figure 2 shows an example of the AppCafe utility, a graphical front-end to pkg.
Figure 2: AppCafe Utility
Figure 3 shows an example of the Task manager utility, a graphical front-end to top.
Figure 3: Task Manager Utility
Table 2 summarizes the utilities that are available at this time. More utilities will be added as
additional API classes are created.
Table 2: SysAdm Client Utilities
Utility Used to Manage
AppCafe Packages
Update Manager System and package updates
Connection Manager SSL certificates and SysAdm connections
Boot Environment Manager ZFS boot environments
Firewall Manager IPFW firewall
Service Manager System services
Task Manager View memory and CPU usage and kill running
processes
User Manager Local users and groups
Life Preserver ZFS replication tasks and snapshots
iohyve VM Manager bhyve instances
System Manager System information
SysAdm Bridge
The SysAdm Bridge is an optional component that can be configured to manage connections to
systems with dynamic addresses or which reside behind a firewall. The bridge itself requires a
static, public IP address but can be hosted elsewhere, such as on a cloud-based virtual machine. By
design, the bridge is considered to be a completely untrusted relay. This means that servers and
clients use a separate SSL certificate when talking to the bridge to ensure that their real certificate is
never used to connect to an unknown system.
Once connected to the bridge, the server or client sends the MD5 of their real SSL certificate. The
bridge responds with the ID and location of any systems which list that MD5 in their configured
certificate list.
Summary
SysAdm is specifically designed for the secure administration of FreeBSD systems. By providing a
suite of graphical utilities as well a scriptable API, SysAdm gives system administrators another set
of tools for managing their local and remote FreeBSD systems.
Additional Resources
Server Repository: https://github.com/trueos/sysadm/
Client Repository: https://github.com/trueos/sysadm-ui-qt
Documentation Repository: https://github.com/trueos/sysadm-docs
SysAdm API Reference Guide: http://api.sysadm.us/
SysAdm Client Guide: http://sysadm.us/handbook/client/
SysAdm Server Guide: http://sysadm.us/handbook/server/

Mais conteúdo relacionado

Mais procurados

Confining the Apache Web Server with Security-Enhanced Linux
Confining the Apache Web Server with Security-Enhanced LinuxConfining the Apache Web Server with Security-Enhanced Linux
Confining the Apache Web Server with Security-Enhanced Linuxwebhostingguy
 
AD FS Workshop | Part 1 | Quick Overview
AD FS Workshop | Part 1 | Quick OverviewAD FS Workshop | Part 1 | Quick Overview
AD FS Workshop | Part 1 | Quick OverviewGranikos GmbH & Co. KG
 
Rht v sphere-security
Rht v sphere-securityRht v sphere-security
Rht v sphere-securitymikeponderosa
 
DataPower Restful API Security
DataPower Restful API SecurityDataPower Restful API Security
DataPower Restful API SecurityJagadish Vemugunta
 
Web services security
Web services securityWeb services security
Web services securitynurmeen1
 
Windows Server 2008 Management
Windows Server 2008 ManagementWindows Server 2008 Management
Windows Server 2008 ManagementHi-Techpoint
 
InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?
InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?
InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?Tobias Koprowski
 
Veritas certification in chennai
Veritas certification in chennaiVeritas certification in chennai
Veritas certification in chennaiTHINK IT Training
 
Wso2 Enterprise Capabilities Webinar
Wso2 Enterprise Capabilities WebinarWso2 Enterprise Capabilities Webinar
Wso2 Enterprise Capabilities WebinarWSO2
 
Windows System Administrator Updated
Windows System Administrator Updated  Windows System Administrator Updated
Windows System Administrator Updated Tino Varghese
 

Mais procurados (19)

Confining the Apache Web Server with Security-Enhanced Linux
Confining the Apache Web Server with Security-Enhanced LinuxConfining the Apache Web Server with Security-Enhanced Linux
Confining the Apache Web Server with Security-Enhanced Linux
 
Israrul
IsrarulIsrarul
Israrul
 
Pamsession
PamsessionPamsession
Pamsession
 
AD FS Workshop | Part 1 | Quick Overview
AD FS Workshop | Part 1 | Quick OverviewAD FS Workshop | Part 1 | Quick Overview
AD FS Workshop | Part 1 | Quick Overview
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
Hafnium attack
Hafnium attackHafnium attack
Hafnium attack
 
Rht v sphere-security
Rht v sphere-securityRht v sphere-security
Rht v sphere-security
 
DataPower Restful API Security
DataPower Restful API SecurityDataPower Restful API Security
DataPower Restful API Security
 
Web services security
Web services securityWeb services security
Web services security
 
Windows Server 2008 Management
Windows Server 2008 ManagementWindows Server 2008 Management
Windows Server 2008 Management
 
InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?
InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?
InfoTRAMS - Czy platforma Microsoft Azure jest biznoseow bezpieczna?
 
Intorduction to Datapower
Intorduction to DatapowerIntorduction to Datapower
Intorduction to Datapower
 
aviResume
aviResumeaviResume
aviResume
 
Hardening Database Server
Hardening Database ServerHardening Database Server
Hardening Database Server
 
Veritas certification in chennai
Veritas certification in chennaiVeritas certification in chennai
Veritas certification in chennai
 
Wso2 Enterprise Capabilities Webinar
Wso2 Enterprise Capabilities WebinarWso2 Enterprise Capabilities Webinar
Wso2 Enterprise Capabilities Webinar
 
Web Services Security - Presentation
Web Services Security - PresentationWeb Services Security - Presentation
Web Services Security - Presentation
 
Windows server hardening 1
Windows server hardening 1Windows server hardening 1
Windows server hardening 1
 
Windows System Administrator Updated
Windows System Administrator Updated  Windows System Administrator Updated
Windows System Administrator Updated
 

Destaque

OpenZFS at AsiaBSDcon FreeBSD Developer Summit
OpenZFS at AsiaBSDcon FreeBSD Developer SummitOpenZFS at AsiaBSDcon FreeBSD Developer Summit
OpenZFS at AsiaBSDcon FreeBSD Developer SummitMatthew Ahrens
 
Toan zim ielts writing task 2 - simons essays analyse
Toan zim   ielts writing task 2 - simons essays analyseToan zim   ielts writing task 2 - simons essays analyse
Toan zim ielts writing task 2 - simons essays analyseTung Nguyen
 
Credit Corp (CCP) - leading indicators in consumer debt recovery sector
Credit Corp (CCP) - leading indicators in consumer debt recovery sector Credit Corp (CCP) - leading indicators in consumer debt recovery sector
Credit Corp (CCP) - leading indicators in consumer debt recovery sector George Gabriel
 
Credit Corp (CCP) - corporate turnaround road map
Credit Corp (CCP) - corporate turnaround road mapCredit Corp (CCP) - corporate turnaround road map
Credit Corp (CCP) - corporate turnaround road mapGeorge Gabriel
 

Destaque (9)

OpenZFS at AsiaBSDcon FreeBSD Developer Summit
OpenZFS at AsiaBSDcon FreeBSD Developer SummitOpenZFS at AsiaBSDcon FreeBSD Developer Summit
OpenZFS at AsiaBSDcon FreeBSD Developer Summit
 
Ilf2011
Ilf2011Ilf2011
Ilf2011
 
SJRA and the Catahoula Aquifer paper
SJRA and the Catahoula Aquifer paperSJRA and the Catahoula Aquifer paper
SJRA and the Catahoula Aquifer paper
 
Toan zim ielts writing task 2 - simons essays analyse
Toan zim   ielts writing task 2 - simons essays analyseToan zim   ielts writing task 2 - simons essays analyse
Toan zim ielts writing task 2 - simons essays analyse
 
урок английского языка еда исаченко
урок английского языка еда исаченкоурок английского языка еда исаченко
урок английского языка еда исаченко
 
разработка урока по познанию мира разнообразие растений
разработка урока по познанию мира разнообразие растенийразработка урока по познанию мира разнообразие растений
разработка урока по познанию мира разнообразие растений
 
Credit Corp (CCP) - leading indicators in consumer debt recovery sector
Credit Corp (CCP) - leading indicators in consumer debt recovery sector Credit Corp (CCP) - leading indicators in consumer debt recovery sector
Credit Corp (CCP) - leading indicators in consumer debt recovery sector
 
Credit Corp (CCP) - corporate turnaround road map
Credit Corp (CCP) - corporate turnaround road mapCredit Corp (CCP) - corporate turnaround road map
Credit Corp (CCP) - corporate turnaround road map
 
Pillars of quality
Pillars of qualityPillars of quality
Pillars of quality
 

Semelhante a FreeBSD System Administration Using SysAdm

Application server
Application serverApplication server
Application servernava rathna
 
Authentication and Single Sing on
Authentication and Single Sing onAuthentication and Single Sing on
Authentication and Single Sing onguest648519
 
Becoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure InfrastructureBecoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure InfrastructureSyed Irtaza Ali
 
Operations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your CompanyOperations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your CompanyAmazon Web Services
 
Usda ocio-its itsm7-integration_architecturediagram_v1_100109
Usda ocio-its itsm7-integration_architecturediagram_v1_100109Usda ocio-its itsm7-integration_architecturediagram_v1_100109
Usda ocio-its itsm7-integration_architecturediagram_v1_100109Accenture
 
Single Sign On using ADFS.pptx
Single Sign On using ADFS.pptxSingle Sign On using ADFS.pptx
Single Sign On using ADFS.pptxAlireza Vafi
 
0828 Windows Server 2008 新安全功能探討
0828 Windows Server 2008 新安全功能探討0828 Windows Server 2008 新安全功能探討
0828 Windows Server 2008 新安全功能探討Timothy Chen
 
Start Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best PraticesStart Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best PraticesAmazon Web Services
 
Study notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security PractitionerStudy notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security PractitionerDavid Sweigert
 
CHAPTER 26 WINDOWS SECURITY 26.1 FUNDAMENTAL
CHAPTER 26  WINDOWS SECURITY  26.1  FUNDAMENTAL CHAPTER 26  WINDOWS SECURITY  26.1  FUNDAMENTAL
CHAPTER 26 WINDOWS SECURITY 26.1 FUNDAMENTAL EstelaJeffery653
 
Ch08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System VulnerabilitiesCh08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System Vulnerabilitiesphanleson
 
Microsoft Operating System Vulnerabilities
Microsoft Operating System VulnerabilitiesMicrosoft Operating System Vulnerabilities
Microsoft Operating System VulnerabilitiesInformation Technology
 
Microsoft OS Vulnerabilities
Microsoft OS VulnerabilitiesMicrosoft OS Vulnerabilities
Microsoft OS VulnerabilitiesSecurityTube.Net
 
Asecurity-guidelines_and_best_practices_for_retail_online_and_business_online
Asecurity-guidelines_and_best_practices_for_retail_online_and_business_onlineAsecurity-guidelines_and_best_practices_for_retail_online_and_business_online
Asecurity-guidelines_and_best_practices_for_retail_online_and_business_onlinewardell henley
 
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft CloudEuropean Collaboration Summit
 
Dell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access ControlDell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access ControlAidy Tificate
 
Windows Server 2008 - Active Directory Components
Windows Server 2008 - Active Directory ComponentsWindows Server 2008 - Active Directory Components
Windows Server 2008 - Active Directory ComponentsAndré Braga
 

Semelhante a FreeBSD System Administration Using SysAdm (20)

Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101Introduction to Microsoft Azure 101
Introduction to Microsoft Azure 101
 
Application server
Application serverApplication server
Application server
 
Authentication and Single Sing on
Authentication and Single Sing onAuthentication and Single Sing on
Authentication and Single Sing on
 
Becoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure InfrastructureBecoming a Microsoft Specialist in Microsoft Azure Infrastructure
Becoming a Microsoft Specialist in Microsoft Azure Infrastructure
 
How to configure esx to pass an audit
How to configure esx to pass an auditHow to configure esx to pass an audit
How to configure esx to pass an audit
 
Operations: Security
Operations: SecurityOperations: Security
Operations: Security
 
Operations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your CompanyOperations: Security Crash Course — Best Practices for Securing your Company
Operations: Security Crash Course — Best Practices for Securing your Company
 
Usda ocio-its itsm7-integration_architecturediagram_v1_100109
Usda ocio-its itsm7-integration_architecturediagram_v1_100109Usda ocio-its itsm7-integration_architecturediagram_v1_100109
Usda ocio-its itsm7-integration_architecturediagram_v1_100109
 
Single Sign On using ADFS.pptx
Single Sign On using ADFS.pptxSingle Sign On using ADFS.pptx
Single Sign On using ADFS.pptx
 
0828 Windows Server 2008 新安全功能探討
0828 Windows Server 2008 新安全功能探討0828 Windows Server 2008 新安全功能探討
0828 Windows Server 2008 新安全功能探討
 
Start Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best PraticesStart Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best Pratices
 
Study notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security PractitionerStudy notes for CompTIA Certified Advanced Security Practitioner
Study notes for CompTIA Certified Advanced Security Practitioner
 
CHAPTER 26 WINDOWS SECURITY 26.1 FUNDAMENTAL
CHAPTER 26  WINDOWS SECURITY  26.1  FUNDAMENTAL CHAPTER 26  WINDOWS SECURITY  26.1  FUNDAMENTAL
CHAPTER 26 WINDOWS SECURITY 26.1 FUNDAMENTAL
 
Ch08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System VulnerabilitiesCh08 Microsoft Operating System Vulnerabilities
Ch08 Microsoft Operating System Vulnerabilities
 
Microsoft Operating System Vulnerabilities
Microsoft Operating System VulnerabilitiesMicrosoft Operating System Vulnerabilities
Microsoft Operating System Vulnerabilities
 
Microsoft OS Vulnerabilities
Microsoft OS VulnerabilitiesMicrosoft OS Vulnerabilities
Microsoft OS Vulnerabilities
 
Asecurity-guidelines_and_best_practices_for_retail_online_and_business_online
Asecurity-guidelines_and_best_practices_for_retail_online_and_business_onlineAsecurity-guidelines_and_best_practices_for_retail_online_and_business_online
Asecurity-guidelines_and_best_practices_for_retail_online_and_business_online
 
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
[Toroman/Kranjac] Red Team vs. Blue Team in Microsoft Cloud
 
Dell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access ControlDell Quest TPAM Privileged Access Control
Dell Quest TPAM Privileged Access Control
 
Windows Server 2008 - Active Directory Components
Windows Server 2008 - Active Directory ComponentsWindows Server 2008 - Active Directory Components
Windows Server 2008 - Active Directory Components
 

Mais de Dru Lavigne (20)

Olf2018
Olf2018Olf2018
Olf2018
 
Olf2017
Olf2017Olf2017
Olf2017
 
Olf2016
Olf2016Olf2016
Olf2016
 
Tlf2016
Tlf2016Tlf2016
Tlf2016
 
Knoxbug2016
Knoxbug2016Knoxbug2016
Knoxbug2016
 
Lfnw2016
Lfnw2016Lfnw2016
Lfnw2016
 
Flourish16
Flourish16Flourish16
Flourish16
 
Scale2016
Scale2016Scale2016
Scale2016
 
Fossetcon15
Fossetcon15Fossetcon15
Fossetcon15
 
Asiabsdcon15
Asiabsdcon15Asiabsdcon15
Asiabsdcon15
 
Olf2014
Olf2014Olf2014
Olf2014
 
Ghc14
Ghc14Ghc14
Ghc14
 
Fossetcon14
Fossetcon14Fossetcon14
Fossetcon14
 
Tlf2014
Tlf2014Tlf2014
Tlf2014
 
Asiabsdcon14 lavigne
Asiabsdcon14 lavigneAsiabsdcon14 lavigne
Asiabsdcon14 lavigne
 
Asiabsdcon14
Asiabsdcon14Asiabsdcon14
Asiabsdcon14
 
Scale2014
Scale2014Scale2014
Scale2014
 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
 
Dru lavigne oss-sysadmin
Dru lavigne oss-sysadminDru lavigne oss-sysadmin
Dru lavigne oss-sysadmin
 
Dru lavigne oss-desktop_apps
Dru lavigne oss-desktop_appsDru lavigne oss-desktop_apps
Dru lavigne oss-desktop_apps
 

Último

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Último (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

FreeBSD System Administration Using SysAdm

  • 1. FreeBSD System Administration Using SysAdm Dru Lavigne dru@freebsd.org Abstract System administrators rely on a variety of built-in and third-party utilities to manage their FreeBSD systems. Management becomes more complex as the number of systems to administer increases, requiring the administrator to manage multiple connections and authorization keys. Third-party management utilities may rely on a configuration database which does not integrate manual edits to existing configuration files. Most third-party utilities require learning a new scripting language and do not provide hooks for ZFS management or FreeBSD-specific utilities such as jails. Further, the FreeBSD Project does not provide a REST API for management of remote systems. SysAdm is a framework for administering a local or any number of remote FreeBSD or TrueOS systems. It is designed to complement FreeBSD's built-in configuration files, provides graphical and scriptable methods for performing routine system administration tasks, and includes a notification system to alert the administrator of events that require attention. The SysAdm framework is built into TrueOS and is available as a FreeBSD package. In addition, the graphical component is cross-platform and also available for the Windows and Mac OS X operating systems. Introduction The SysAdm framework is comprised of three components: 1. Server: a daemon that listens for local or remote connection requests. The server can listen for both single-request and established connections and uses a well-defined and documented API of classes to manage authentication, event notifications, and common system administration tasks. 2. Client: a graphical front-end for connecting to and interacting with the server. 3. Bridge: a relay for managing connections to servers with dynamic IP addresses or through a firewall. This component is still experimental and under testing. This paper provides an overview of each component's features and usage. It then provides pointers to additional resources.
  • 2. SysAdm Server The SysAdm Server provides the middleware to facilitate interactions between the user and the managed system. The Server must be installed and running on the system to be managed. The Server supports the JSON text format over two connection types: • REST: single-request connection that requires user and password authentication with every request. • WebSockets: long-lived connection that provides pure JSON input and output. It uses one- time authentication with a configurable timeout or disconnect for inactivity. This type of connection can also be used to define events that result in system notifications or status updates. Both types of connections can run simultaneously, on different sockets, to allow for multiple access methods. The Server requires TLS encryption over HTTPS or WSS. It also requires authentication, which can be either a username and password or an SSL public/private key pair. The administrator has the option to disable password authentication and to require key authentication. The server enforces configurable connection timeouts and blacklisting and provides privilege separation through the wheel and operator groups. Instead of relying on a configuration database, all system information and configuration changes are performed directly to the built-in configuration files using either the SysAdm Client or a SysAdm API request. The SysAdm API provides a set of classes for managing various aspects of the system. Table 1 lists the available classes and provides a short description for each. Table 1: SysAdm API Classes Class Used to View and Manage beadm ZFS boot environments dispatcher External processes such as scripts firewall IPFW fs Files and directories iocage Jails iohyve Bhyve lifepreserver ZFS snapshots and replication logs System logs pkg Packages services Services systemmanager Memory, CPU, processes, battery information, mounts, sysctls, system shutdown update System updates zfs ZFS pools and datasets
  • 3. Each API class provides a list of actions which can be used to either view or change the current state of a configurable element. When using the API directly, the administrator can choose to send a request using a one-time (REST) or a long-lived (WebSockets) connection. Example 1 demonstrates the requests and response for listing ZFS boot environments using the beadm class and the listbes action. Example 2 demonstrates how to use the beadm class and the createbe action to create the specified boot environment. Example 1: Listing Boot Environments REST Request PUT /sysadm/beadm { "action" : "listbes" } WebSockets Request { "name" : "beadm", "namespace" : "sysadm", "id" : "fooid", "args" : { "action" : "listbes" } } Server Response { "args": { "listbes": { "11.0-CURRENTJAN2016-up-20160128_150853": { "active": "NR", "date": "2016-01-28", "mount": "/", "nick": "14:57", "space": "10.2G" }, "initial": { "active": "-", "date": "2016-01-28", "mount": "-", "nick": "07:00", "space": "1.2G" } } }, "id": "fooid", "name": "response", "namespace": "sysadm" }
  • 4. Example 2: Creating a New Boot Environment REST Request PUT /sysadm/beadm { "action" : "createbe", "newbe" : "red", "clonefrom" : "green" } WebSockets Request { "id" : "fooid", "args" : { "newbe" : "red", "clonefrom" : "green", "action" : "createbe" }, "namespace" : "sysadm", "name" : "beadm" } Server Response { "args": { "createbe": { "clonefrom": "green", "newbe": "red" } }, "id": "fooid", "name": "response", "namespace": "sysadm" } The SysAdm API Reference Guide1 describes the actions for each available class and provides usage examples for each action. SysAdm Client The SysAdm Client is a suite of graphical utilities which provide a front-end to the SysAdm API's classes and actions. The utilities are written with Qt5 in order to maximize cross-platform support. At this time, the TrueOS Project has automated builds for the FreeBSD, Windows, and OS X versions of the SysAdm Client. 1 http://api.sysadm.us/
  • 5. The SysAdm Client can be used to manage the local or multiple remote systems. For security reasons, access to remote systems is disabled by default so that the administrator can configure secure connections to those systems. The SysAdm Client integrates into the system tray in order to provide notifications of events. Example notifications include available security or software updates and notification of a completed ZFS replication task. Connections to remote systems occur over a secure Websockets connection. A valid username and password is required for the first connection at which time a unique SSL key pair is created, registered, and required for subsequent connections. Registered certificates and keys are stored on the client system within an encrypted file that is protected by a user-defined password. Encrypted client settings can be imported and exported, allowing the administrator to manage remote systems from multiple client devices. A graphical Connection Manager utility is provided for generating keys and managing connections. The Client utilities are listed in a graphical Control Panel. The list of available utilities may vary, depending upon what is installed on the client system. For example, the iohyve utility will not appear in the Control Panel if iohyve is not installed on the system. An example of a Control Panel listing on a TrueOS system can be seen in Figure 1. Figure 1: Example Control Panel
  • 6. Figure 2 shows an example of the AppCafe utility, a graphical front-end to pkg. Figure 2: AppCafe Utility Figure 3 shows an example of the Task manager utility, a graphical front-end to top. Figure 3: Task Manager Utility
  • 7. Table 2 summarizes the utilities that are available at this time. More utilities will be added as additional API classes are created. Table 2: SysAdm Client Utilities Utility Used to Manage AppCafe Packages Update Manager System and package updates Connection Manager SSL certificates and SysAdm connections Boot Environment Manager ZFS boot environments Firewall Manager IPFW firewall Service Manager System services Task Manager View memory and CPU usage and kill running processes User Manager Local users and groups Life Preserver ZFS replication tasks and snapshots iohyve VM Manager bhyve instances System Manager System information SysAdm Bridge The SysAdm Bridge is an optional component that can be configured to manage connections to systems with dynamic addresses or which reside behind a firewall. The bridge itself requires a static, public IP address but can be hosted elsewhere, such as on a cloud-based virtual machine. By design, the bridge is considered to be a completely untrusted relay. This means that servers and clients use a separate SSL certificate when talking to the bridge to ensure that their real certificate is never used to connect to an unknown system. Once connected to the bridge, the server or client sends the MD5 of their real SSL certificate. The bridge responds with the ID and location of any systems which list that MD5 in their configured certificate list.
  • 8. Summary SysAdm is specifically designed for the secure administration of FreeBSD systems. By providing a suite of graphical utilities as well a scriptable API, SysAdm gives system administrators another set of tools for managing their local and remote FreeBSD systems. Additional Resources Server Repository: https://github.com/trueos/sysadm/ Client Repository: https://github.com/trueos/sysadm-ui-qt Documentation Repository: https://github.com/trueos/sysadm-docs SysAdm API Reference Guide: http://api.sysadm.us/ SysAdm Client Guide: http://sysadm.us/handbook/client/ SysAdm Server Guide: http://sysadm.us/handbook/server/