Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nD790-0003jn-FH for pgsql-admin@arkaria.postgresql.org; Thu, 27 Jan 2022 15:57:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nD78T-0004q1-7s for pgsql-admin@arkaria.postgresql.org; Thu, 27 Jan 2022 15:56:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nD78S-0004pr-UG for pgsql-admin@lists.postgresql.org; Thu, 27 Jan 2022 15:56:32 +0000 Received: from mail-qk1-x729.google.com ([2607:f8b0:4864:20::729]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nD78L-0006Em-F0 for pgsql-admin@lists.postgresql.org; Thu, 27 Jan 2022 15:56:32 +0000 Received: by mail-qk1-x729.google.com with SMTP id m25so2020478qka.9 for ; Thu, 27 Jan 2022 07:56:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; h=to:cc:references:from:subject:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=ijwnwnnPpSRIQnyyemwDFBIp6DNwbSteo9pZ0ILhe7o=; b=ZBBNjsHpLdeOELaNs1FyOtdYmctqXjU0pU7fWnovqk2JSM1zKske2NTn163b+aivNm bi3PZh6U4ULBdRG6QUc9+BeNt21FtJINkExx3LTd+FKU2glsAoDIU1ZJ8hWpDKORko/Q 42zj6Z9hhLXLxy7NB/uciXnqIkN2nYtFXhMyLyvu0TTknq1dr8PvezfVMNR4U2Riw7eQ L3Tt3IsDzPTRuMr73gflBSB7NlqJrnUr3gIQ+l18dKwGRnV/SC1YEkZOg8aGOCpOpmp4 S7c4DoCUiN3yh2wgJB7IUH7kH5qHQScEki06nzyI2QwfiQ4SsKuGcIIF60R6TiNedrG3 sFTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:to:cc:references:from:subject:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ijwnwnnPpSRIQnyyemwDFBIp6DNwbSteo9pZ0ILhe7o=; b=GXr230GOvzY0zNCbrm6a1DGAYlGsywm09pkdr6xz3HDQPDHHmAfHZc4H+y9ktAtMOX pGF2/KWoP+7CigE1itxT3d/dCtVeDVgcDUsFl/MSFvLnnXcY/ylGfPeadlVWrsYIzC5L RKTNfQAaOHN+Q78f7LlRXh1JmzoutopmjeRxBwHzrrVpAF3uOf9u+4DuGFF7K4d62XLd WAwtN32SP8B5cLHf0pcfxhQGUeasry1IhnIBwerY9y+UuEe/5JhYTq2RQno9l/FV1wSZ EbeCGdW6p1sZcD6UzRgvuJWIH4rVkojGarF4QYbmmG3RKEAoYDS6Kp2j/Iz1EI6MuQ7e o/uA== X-Gm-Message-State: AOAM530QOHuQa/b+HEhLeDmhPpP7MSeD74EP9hz7L4VmuknuFkkUQwx8 /ySjp2mn1dnW68Fd+d9RMk/kTa9hRQdtUHDh1/OCL6H9ZwnaNntc0aWFLWF0dXgee8O+PAQZ+7G zvyHAGZRUllBVjws1NdO1BemQcV7S1m8V57faEZ2hoVMaWBZiIJEXQK4iNYUL0lWCFSzPVZLofC CxnBe73A== X-Google-Smtp-Source: ABdhPJwCMTTIXJKD5fiR7RNQl0qTSwfQGz6T5Dkub0emgCGcF7L8A5jveQA9kKJeSRD1U9mK1nVZww== X-Received: by 2002:a37:9443:: with SMTP id w64mr2982802qkd.545.1643298983280; Thu, 27 Jan 2022 07:56:23 -0800 (PST) Received: from [192.168.4.41] (072-017-018-098.res.spectrum.com. [72.17.18.98]) by smtp.gmail.com with ESMTPSA id q197sm1501105qke.11.2022.01.27.07.56.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 27 Jan 2022 07:56:22 -0800 (PST) To: Tom Lane , pramod kg Cc: pgsql-admin@lists.postgresql.org References: <2536077.1643261557@sss.pgh.pa.us> <2539668.1643264128@sss.pgh.pa.us> From: Joe Conway Subject: Re: Is PG CE is FIPS Aware? Message-ID: Date: Thu, 27 Jan 2022 10:56:22 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <2539668.1643264128@sss.pgh.pa.us> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 1/27/22 12:23 AM, pramod kg wrote: > How to determine whether PG installed in a server is FIPS aware or > not(FIPS 140-2 compliant)? We are doing RPM based installation. On 1/27/22 1:15 AM, Tom Lane wrote: > pramod kg writes: >> I executed query. Got output. > >> postgres=# SELECT md5('foo'); >> md5 >> ---------------------------------- >> acbd18db4cc2f85cedef654fccc4a4d8 >> (1 row) > > Oh, my mistake --- that only applies in v14 and later, before > that md5() always uses a built-in implementation. > > See the STIG that Imram mentioned. Ensuring you are actually "FIPS 140-2 compliant" is much more complex than most people imagine. See: https://blog.crunchydata.com/blog/postgres-and-crypto-supply-chain-of-integrity Also, see the tip of the master branch of pgnodemx: https://github.com/CrunchyData/pgnodemx 8<----------------------- -- this will be in next release -- i.e. pgnodemx v1.0.6 select openssl_version(); openssl_version ---------------------------------- OpenSSL 1.1.1k FIPS 25 Mar 2021 (1 row) -- these are already in pgnodemx v1.0.5 select openssl_version(); openssl_version ---------------------------------- OpenSSL 1.1.1k FIPS 25 Mar 2021 (1 row) select symbol_filename('FIPS_mode'); symbol_filename -------------------------------- /usr/lib64/libcrypto.so.1.1.1k (1 row) nmx=# select fips_mode(); fips_mode ----------- f (1 row) 8<----------------------- I expect pgnodemx v1.0.6 will be release very soon. HTH, Joe -- Crunchy Data - http://crunchydata.com PostgreSQL Support for Secure Enterprises Consulting, Training, & Open Source Development