AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/fips.cpython-310.pyc
o

F��c0I�@sBddlZddlZddlmZddlmZmZmZddlm	Z	m
Z
mZmZm
Z
mZddlmZmZddlmZddlmZddlmZdd	lmZmZdd
lmZmZmZe
��Z gd�Z!dd
gZ"e!e"e!e"e!d�Z#gd�Z$gd�Z%gd�Z&e!e"e$e!e"e%e!e&d�Z'Gdd�dej(�Z)Gdd�de)�Z*Gdd�de)�Z+dS)�N)�groupby)�List�Optional�Tuple)�apt�event_logger�
exceptions�messages�system�util)�NoCloudTypeReason�get_cloud_type)�repo)�IncompatibleService)�ApplicationStatus)�ServicesOnceEnabledData�services_once_enabled_file)�MessagingOperations�MessagingOperationsDict�StaticAffordance)�
strongswan�strongswan-hmac�openssh-client�openssh-server�openssh-client-hmac�openssh-server-hmac)�xenial�bionic�focal)�openssl�libssl1.0.0�libssl1.0.0-hmac)r�	libssl1.1�libssl1.1-hmac�libgcrypt20�libgcrypt20-hmacc	s(eZdZdZdZdZdZdZgd�Ze	dd��Z
				d&d
eee
deded
d	f�fdd�
Z	d'de
ded
d	fdd�Zde
de
d
ef�fdd�Ze	d
eedffdd��Ze	d
ee
f�fdd��Zd
eeeejff�fdd�Zd(d d!�Zd'ded
ef�fd"d#�
Zd'ded
d	f�fd$d%�
Z�ZS))�FIPSCommonEntitlementi�zubuntu-advantage-fips.gpgz/proc/sys/crypto/fips_enabledTz/https://ubuntu.com/security/certifications#fips)zfips-initramfsr"r#r r!r r!z
linux-fipsrrrrrrrr$r%zfips-initramfs-genericcCs0t���dd�}t��rt�|g�St�|g�S)a�
        Dictionary of conditional packages to be installed when
        enabling FIPS services. For example, if we are enabling
        FIPS services in a machine that has openssh-client installed,
        we will perform two actions:

        1. Upgrade the package to the FIPS version
        2. Install the corresponding hmac version of that package
           when available.
        �series�)r
�get_platform_info�get�is_container�#FIPS_CONTAINER_CONDITIONAL_PACKAGES�FIPS_CONDITIONAL_PACKAGES)�selfr'�r/�</usr/lib/python3/dist-packages/uaclient/entitlements/fips.py�conditional_packagesssz*FIPSCommonEntitlement.conditional_packagesN�package_list�cleanup_on_failure�verbose�returnc
s�|rt�dj|jd��|j}t�j|dd�g}t��}t	t
|j�dd�d�}|D]\}}	||vr6||	7}q*|D]$}
zt�j|
gddd�Wq9tj
y]t�tjj|j|
d	��Yq9wd
S)a)Install contract recommended packages for the entitlement.

        :param package_list: Optional package list to use instead of
            self.packages.
        :param cleanup_on_failure: Cleanup apt files if apt install fails.
        :param verbose: If true, print messages to stdout
        zInstalling {title} packages��titleF)r2r4cSs|�dd�S)Nz-hmacr()�replace)�pkg_namer/r/r0�<lambda>��z8FIPSCommonEntitlement.install_packages.<locals>.<lambda>)�key)r2r3r4)�service�pkgN)�event�info�formatr7�packages�super�install_packagesr�get_installed_packages_namesr�sortedr1r�UserFacingErrorr	�FIPS_PACKAGE_NOT_AVAILABLE)r.r2r3r4�mandatory_packages�desired_packages�installed_packages�
pkg_groupsr9�pkg_listr>��	__class__r/r0rD�s:
���
�����z&FIPSCommonEntitlement.install_packagesF�	operation�silentcCstt��}t�|�|r6|st�tjj|d��|dkr'|jj	�
dtjj�dS|dkr8|jj	�
dtj
�dSdSdS)z�Check if user should be alerted that a reboot must be performed.

        @param operation: The operation being executed.
        @param silent: Boolean set True to silence print/log of messages
        )rP�installr(zdisable operationN)r
�
should_rebootr?�needs_rebootr@r	�ENABLE_REBOOT_REQUIRED_TMPLrA�cfg�notice_file�add�FIPS_SYSTEM_REBOOT_REQUIRED�msg�FIPS_DISABLE_REBOOT_REQUIRED)r.rPrQ�reboot_requiredr/r/r0�_check_for_reboot_msg�s&
�����z+FIPSCommonEntitlement._check_for_reboot_msgr'�cloud_idcs>|dkrtj|jjdd�rdS|dvrdStdt�jv�SdS)aVReturn False when FIPS is allowed on this cloud and series.

        On Xenial GCP there will be no cloud-optimized kernel so
        block default ubuntu-fips enable. This can be overridden in
        config with features.allow_xenial_fips_on_cloud.

        GCP doesn't yet have a cloud-optimized kernel or metapackage so
        block enable of fips if the contract does not specify ubuntu-gcp-fips.
        This also can be overridden in config with
        features.allow_default_fips_metapackage_on_gcp.

        :return: False when this cloud, series or config override allows FIPS.
        �gcez.features.allow_default_fips_metapackage_on_gcp)�config�
path_to_valueT)rrzubuntu-gcp-fips)r�is_config_value_truerV�boolrCrB)r.r'r^rNr/r0�_allow_fips_on_cloud_instance�s�z3FIPSCommonEntitlement._allow_fips_on_cloud_instance.csddddd�}t�\�}�durd�t���dd��tjj���|���d�}|���fdd	�d
ffS)Nzan AWSzan Azureza GCP)�aws�azurer_r(r')r'�cloudcs�����S�N)rdr/�r^r.r'r/r0r:�r;z:FIPSCommonEntitlement.static_affordances.<locals>.<lambda>T)r
r
r)r*r	�FIPS_BLOCK_ON_CLOUDrAr7)r.�cloud_titles�_�blocked_messager/rir0�static_affordances�s
���z(FIPSCommonEntitlement.static_affordancescst��rgSt�jSrh)r
r+rCrB)r.rNr/r0rBszFIPSCommonEntitlement.packagescst���\}}t��rt��s|jj�dtj	j
�||fStj�
|j�rst�t|j��s6|jj�dtj	j
�|jj�dtj�t�|j���dkrV|jj�dtj�||fS|jj�dtj�|jj�dtj�tjtjj|jd�fS|jj�dtj�|tjkr�||fStjtjfS)Nr(�1)�	file_name)rC�application_statusr
r+rSrVrW�
try_remover	rYrZ�os�path�exists�FIPS_PROC_FILE�setrB�FIPS_REBOOT_REQUIRED_MSG�	load_file�strip�NOTICE_FIPS_MANUAL_DISABLE_URLr[�try_addr�DISABLED�FIPS_PROC_FILE_ERRORrA�ENABLED�FIPS_REBOOT_REQUIRED)r.�super_status�	super_msgrNr/r0rq	sL���������
�z(FIPSCommonEntitlement.application_statuscCsttt���}t|j��t|j��}|�|�}|r8ddi}ddg}tjgd�|t|�t	j
j|jd�|d�dSdS)	z�Remove fips meta package to disable the service.

        FIPS meta-package will unset grub config options which will deactivate
        FIPS on any related packages.
        �DEBIAN_FRONTEND�noninteractivez$-o Dpkg::Options::="--force-confdef"z$-o Dpkg::Options::="--force-confold")zapt-get�removez--assume-yesr6)�envN)
rwrrErB�
differencer1�intersection�run_apt_command�listr	�DISABLE_FAILED_TMPLrAr7)r.rK�fips_metapackage�remove_packagesr��apt_optionsr/r/r0r�>s(
�
���
��z%FIPSCommonEntitlement.remove_packagescs:t�j|d�r|jj�dtj�|jj�dtj�dSdS)N�rQr(TF)rC�_perform_enablerVrWrrr	�&NOTICE_WRONG_FIPS_METAPACKAGE_ON_CLOUDrx�r.rQrNr/r0r�Ws��z%FIPSCommonEntitlement._perform_enablecs|ddg}t�|d�|�d�}g}|��D]}||jvr!|�|�q|r5ddg|}t�|d�|�d�}t�j|d�dS)z�Setup apt config based on the resourceToken and directives.

        FIPS-specifically handle apt-mark unhold

        :raise UserFacingError: on failure to setup any aspect of this apt
           configuration
        zapt-mark�	showholds� z failed.�unholdr�N)rr��join�
splitlines�fips_pro_package_holds�appendrC�setup_apt_config)r.rQ�cmd�holds�unholds�hold�
unhold_cmdrNr/r0r�cs

��z&FIPSCommonEntitlement.setup_apt_config)NTT�F)r5N)�__name__�
__module__�__qualname__�repo_pin_priority�
repo_key_filerv�apt_noninteractive�help_doc_urlr��propertyr1rr�strrcrDr]rdrrrnrBrr	�NamedMessagerqr�r�r��
__classcell__r/r/rNr0r&Qs\
�
����2���
�����
5 r&cs�eZdZdZdZdZdZedee	dffdd��Z
edeedff�fd	d
��Zede
fdd��Zddedef�fdd�
Z�ZS)�FIPSEntitlement�fips�FIPSzNIST-certified core packages�
UbuntuFIPSr5.cCs:ddlm}ddlm}t|tj�tttj�t|tj	�fS)Nr)�LivepatchEntitlement��RealtimeKernelEntitlement)
�uaclient.entitlements.livepatchr��uaclient.entitlements.realtimer�rr	�LIVEPATCH_INVALIDATES_FIPS�FIPSUpdatesEntitlement�FIPS_UPDATES_INVALIDATES_FIPS�REALTIME_FIPS_INCOMPATIBLE)r.r�r�r/r/r0�incompatible_services�s����z%FIPSEntitlement.incompatible_servicescs�t�j}t|j�}tj}t|��d|k��t�	�}|r|j
nd�|tjj
|j|jd��fdd�dftjj
|j|jd��fdd�dffS)NrF)r��fips_updatesc��Srhr/r/)�is_fips_updates_enabledr/r0r:��z4FIPSEntitlement.static_affordances.<locals>.<lambda>cr�rhr/r/)�fips_updates_once_enabledr/r0r:�r�)rCrnr�rVrrrcrqr�readr�r	�$FIPS_ERROR_WHEN_FIPS_UPDATES_ENABLEDrAr7�)FIPS_ERROR_WHEN_FIPS_UPDATES_ONCE_ENABLED)r.rnr��enabled_status�services_once_enabled_objrN)r�r�r0rn�s2
����
��
��z"FIPSEntitlement.static_affordancescC�Zd}t��rtjj|jd�}tjg}ntj}tj	||j
d�fg|tj	tj|j
d�fgd�S�Nr6)rZ�
assume_yes)�
pre_enable�post_enable�pre_disable)r
r+r	� PROMPT_FIPS_CONTAINER_PRE_ENABLErAr7�FIPS_RUN_APT_UPGRADE�PROMPT_FIPS_PRE_ENABLEr�prompt_for_confirmationr��PROMPT_FIPS_PRE_DISABLE�r.r��pre_enable_promptr/r/r0�	messaging��(��

������zFIPSEntitlement.messagingFrQcsNt�\}}|dur|tjkrt�d�t�j|d�r%|jj�	dt
j�dSdS)Nz>Could not determine cloud, defaulting to generic FIPS package.r�r(TF)r
r�CLOUD_ID_ERROR�logging�warningrCr�rVrWrrr	�FIPS_INSTALL_OUT_OF_DATE)r.rQ�
cloud_type�errorrNr/r0r��s
��zFIPSEntitlement._perform_enabler�)r�r�r��namer7�description�originr�rrr�rrnrr�rcr�r�r/r/rNr0r�ys! r�csdeZdZdZdZdZdZedee	dffdd��Z
edefd	d
��Zdde
de
f�fd
d�
Z�ZS)r�zfips-updateszFIPS Updates�UbuntuFIPSUpdatesz;NIST-certified core packages with priority security updatesr5.cCs$ddlm}tttj�t|tj�fS)Nrr�)r�r�rr�r	�FIPS_INVALIDATES_FIPS_UPDATES�"REALTIME_FIPS_UPDATES_INCOMPATIBLE)r.r�r/r/r0r��s���z,FIPSUpdatesEntitlement.incompatible_servicescCr�r�)r
r+r	r�rAr7r��PROMPT_FIPS_UPDATES_PRE_ENABLErr�r�r�r�r/r/r0r��r�z FIPSUpdatesEntitlement.messagingFrQcs8t�j|d�r|jj�dtj�t�t	dd��dSdS)Nr�r(T)r�F)
rCr�rVrWrrr	r[r�writerr�rNr/r0r�s��z&FIPSUpdatesEntitlement._perform_enabler�)r�r�r�r�r7r�r�r�rrr�rr�rcr�r�r/r/rNr0r��s
 r�),r�rs�	itertoolsr�typingrrr�uaclientrrrr	r
r�uaclient.clouds.identityrr
�uaclient.entitlementsr�uaclient.entitlements.baser�(uaclient.entitlements.entitlement_statusr�uaclient.files.state_filesrr�uaclient.typesrrr�get_event_loggerr?�CONDITIONAL_PACKAGES_EVERYWHERE�!CONDITIONAL_PACKAGES_OPENSSH_HMACr-�&UBUNTU_FIPS_METAPACKAGE_DEPENDS_XENIAL�&UBUNTU_FIPS_METAPACKAGE_DEPENDS_BIONIC�%UBUNTU_FIPS_METAPACKAGE_DEPENDS_FOCALr,�RepoEntitlementr&r�r�r/r/r/r0�<module>s\ ����������*j

Anon7 - 2022
AnonSec Team