• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Authenicated NTP

General pfSense Questions
11
78
15.1k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L
    LamaZ @johnpoz
    last edited by Apr 14, 2021, 6:53 PM

    @johnpoz said in Authenicated NTP:

    But run my own stratum 1 ntp server locally.. So yeah I trust it, and don't have any concerns.

    👍 Much respect. Keep it local when you can.

    J 1 Reply Last reply Apr 14, 2021, 7:07 PM Reply Quote 0
    • J
      johnpoz LAYER 8 Global Moderator @LamaZ
      last edited by Apr 14, 2021, 7:07 PM

      Maybe if I get board at some point - I will send the snail mail to get access to that ntp ;)

      How long did it take you to get info back? Curious.

      An intelligent man is sometimes forced to be drunk to spend time with his fools
      If you get confused: Listen to the Music Play
      Please don't Chat/PM me for help, unless mod related
      SG-4860 24.11 | Lab VMs 2.7.2, 24.11

      L J 2 Replies Last reply Apr 15, 2021, 9:46 AM Reply Quote 0
      • L
        LamaZ @johnpoz
        last edited by Apr 15, 2021, 9:46 AM

        @johnpoz I want to say it was like 2-3 weeks. I wasn't keeping an accurate timeline. I can tell you that you must send the initial request via snail mail. I tried faxing my initial request and never seemed to get anywhere.

        Your answer will come via an email from NIST that will have you log into an HTTPS site (an Accellion appliance) to download your keys.

        1 Reply Last reply Reply Quote 0
        • L
          LamaZ
          last edited by Jun 5, 2021, 9:56 AM

          Status update. Just upgraded to 21.05. This still works pretty much as is. After upgrade I did:

          cd /etc
          patch -u -b inc/system.inc -i /root/system.inc.ntp-auth.patch
          

          The -b will create a backup file (system.inc.original) in case anything goes wrong. Then modify the value $ntpkey in your /etc/inc/system.inc, and restart the ntp service.

          Done.

          1 Reply Last reply Reply Quote 0
          • L
            LamaZ
            last edited by Feb 20, 2022, 3:24 PM

            Just upgraded to 22.01/2.6.0 and happy to say that this patch still works.

            At first I got excited when I read on the release notes that maybe this would get added:

            https://docs.netgate.com/pfsense/en/latest/releases/22-01_2-6-0.html
            “ Added: Support SHA-256 hash NTP authentication #12213”

            1 Reply Last reply Reply Quote 0
            • J
              JonathanLee @johnpoz
              last edited by Dec 22, 2022, 6:13 AM

              @johnpoz Thanks for the information on this

              Make sure to upvote

              1 Reply Last reply Reply Quote 0
              • L
                LamaZ
                last edited by LamaZ Feb 21, 2023, 1:17 AM Feb 20, 2023, 4:43 PM

                Just upgraded to 23.01-RELEASE. The patch above doesn't work at the moment.

                After restarting the NTP daemon, something has changed and now /etc/inc/system.inc is overwritten every time NTP is (re)started. I haven't figured out what changed and where I can write permanent updates to function system_ntp_configure().

                I figured out the issue. Version 23.01 changed the syntax for calling GUI fields. Here is a patch for 23.01. Don't forget to change the ntp_key value from 12345 to your NIST provided key.

                system.inc.ntp-auth.23.01.patch

                --- /etc/inc/system.inc.orig.23.01	2023-02-20 11:07:17.000586000 -0500
                +++ /etc/inc/system.inc	2023-02-20 20:05:49.538823000 -0500
                @@ -1828,6 +1828,7 @@
                 	$driftfile = "/var/db/ntpd.drift";
                 	$statsdir = "/var/log/ntp";
                 	$gps_device = '/dev/gps0';
                +	$ntp_key = "1";
                 
                 	safe_mkdir($statsdir);
                 
                @@ -1857,7 +1858,8 @@
                 
                 	/* set NTP server authentication key */
                 	if (config_get_path('ntpd/serverauth') == 'yes') {
                -		$ntpkeyscfg = "1 " . strtoupper(config_get_path('ntpd/serverauthalgo')) . " " . base64_decode(config_get_path('ntpd/serverauthkey')) . "\n";
                +		$ntp_key = "12345";
                +		$ntpkeyscfg = $ntp_key . " " . strtoupper(config_get_path('ntpd/serverauthalgo')) . " " . base64_decode(config_get_path('ntpd/serverauthkey')) . "\n";
                 		if (!@file_put_contents("{$g['varetc_path']}/ntp.keys", $ntpkeyscfg)) {
                 			log_error(sprintf(gettext("Could not open %s/ntp.keys for writing"), g_get('varetc_path')));
                 			return;
                @@ -1874,9 +1876,9 @@
                 	if (config_get_path('ntpd/serverauth') == 'yes') {
                 		$ntpcfg .= "# Authentication settings \n";
                 		$ntpcfg .= "keys /var/etc/ntp.keys \n";
                -		$ntpcfg .= "trustedkey 1 \n";
                -		$ntpcfg .= "requestkey 1 \n";
                -		$ntpcfg .= "controlkey 1 \n";
                +		$ntpcfg .= "trustedkey " . $ntp_key . " \n";
                +		$ntpcfg .= "requestkey " . $ntp_key . " \n";
                +		$ntpcfg .= "controlkey " . $ntp_key . " \n";
                 		$ntpcfg .= "\n";
                 	}
                 
                @@ -2049,6 +2051,9 @@
                 		}
                 		if (substr_count(config_get_path('ntpd/noselect'), $ts)) {
                 			$ntpcfg .= ' noselect';
                +		}
                +		if (config_get_path('ntpd/serverauth') == 'yes') {
                +			$ntpcfg .= " key " . $ntp_key . " ";
                 		}
                 		$ntpcfg .= "\n";
                 	}
                

                And the results showing valid auth

                [23.01-RELEASE][admin@your-sweet-pfsense-server-name]/root: ntpq -pc as
                     remote           refid      st t when poll reach   delay   offset  jitter
                ==============================================================================
                *ntp-g.nist.gov  .NIST.           1 u   68   64  377    5.806   -1.114   1.331
                
                ind assid status  conf reach auth condition  last_event cnt
                ===========================================================
                  1 39518  f61a   yes   yes   ok   sys.peer    sys_peer  1
                

                -LamaZ

                J 1 Reply Last reply Feb 21, 2023, 5:19 AM Reply Quote 1
                • J
                  JonathanLee @johnpoz
                  last edited by Feb 21, 2023, 3:02 AM

                  @johnpoz you can fax them also I just did, I want to test this, I have seen time jumps during cyber security classes in the past. 10-15 min jumps. Maybe this will fix it again with the use of my firewall I have not seen that in a while. Still I want to check it out. "Users who wish to use this service should send a letter to NIST using the US mail or FAX machine (e-mail is not acceptable)."

                  Make sure to upvote

                  T 1 Reply Last reply Mar 4, 2023, 7:31 PM Reply Quote 0
                  • J
                    JonathanLee @LamaZ
                    last edited by Feb 21, 2023, 5:19 AM

                    @lamaz were you ever in the past having issues that's with time jumps 10-15 mins around noonish?

                    Make sure to upvote

                    D L 2 Replies Last reply Feb 21, 2023, 6:20 AM Reply Quote 0
                    • D
                      Dobby_ @JonathanLee
                      last edited by Feb 21, 2023, 6:20 AM

                      @jonathanlee

                      For one device in the network it will be perhaps acceptable, but if you one and only device is the time server for the entire network and "something" occurs, you have to do the hardcore "aftermath" job to count all different time stamps
                      for finding something out! If you now have one good time source and offer it to the entire network, they (all devices)
                      have the same time stamp and let us name it "problems"
                      can be faster and more easy able to find out. A good time
                      sync server may be good for any kind of scenario or problems have to be find out.

                      #~. @Dobby

                      Turris Omnia - 4 Ports - 2 GB RAM / TurrisOS 7 Release (Btrfs)
                      PC Engines APU4D4 - 4 Ports - 4 GB RAM / pfSense CE 2.7.2 Release (ZFS)
                      PC Engines APU6B4 - 4 Ports - 4 GB RAM / pfSense+ (Plus) 24.03_1 Release (ZFS)

                      J 2 Replies Last reply Feb 21, 2023, 6:51 AM Reply Quote 1
                      • J
                        JonathanLee @Dobby_
                        last edited by JonathanLee Feb 21, 2023, 7:12 AM Feb 21, 2023, 6:51 AM

                        @dobby_ I have the firewall serving all time now, I am going to attempt the authenticated stratum NTP servers, the only problem is I might not have the pool of 4-5 servers to do the offsets time math equations automatically anymore as the authenticated server comes with only key for access. Prior to the pool I noticed slight time jumps in the past during my breaks or quizes. Yes NTP is an older protocol and does have some bugs I have noticed. I only ever spotted the jumps with a manual clock, and yes it's not all of them. Again during a test, or quiz a jump of 15 mins is a huge amount of time, and something was causing this deleting time to rush the tests, only reason was to cause a stressful environment. Again, these are problems that the multi pool solved. Will authenticated servers come with a pool? That I hope to find out soon. My current pool and time is set up with the slowed earth leap second offsets that the scientific community has listed for use. I also hope that still works. I have very precise time. I flat don't like it messed with anymore. Precision is what makes the difference. Logs is what tracks unethical behavior so it can be reported. It's unethical to move time like that during someone's break and or during a quiz. I am waiting for my letter in the mail so I can learn about authenticated NTP it, I hope it comes with a pool also.

                        Make sure to upvote

                        1 Reply Last reply Reply Quote 0
                        • J
                          JonathanLee @Dobby_
                          last edited by JonathanLee Feb 21, 2023, 7:29 AM Feb 21, 2023, 6:54 AM

                          @dobby_ the pools work very well as "NTP will only sync if a majority of the servers agree on the time. For best results you should configure between 3 and 5 servers (NTP support pages recommend at least 4 or 5), or a pool. If only one server is configured, it will be believed, and if 2 servers are configured and they disagree, neither will be believed." if 4 are used if one moves a large amount the other 3 have to agree if they don't, the time that is served never changes, if they are still off by a couple seconds between servers it balances them with an equation. It's a really good solution, as abuse is pointed to only one server so it doesn't effect the pool. You have to NAT NTP to the firewall for everything that wants time. I have it inverted anything that doesn't request my firewall for NTP gets NAT(ed) to it without knowing, that's when the abuse stopped forever. They now required 3 out of the 4 time servers to agree to on what is served. PfSense is amazing software when you get into it. NIST servers fixed everything for me with the jumps. I can't wait to test out authenticated services.

                          login-to-view
                          (I need my key to make it more secure)

                          login-to-view
                          (Pool Running and moving to stratum 1)

                          login-to-view
                          (Leap seconds running successfully)

                          login-to-view
                          (Netgate runs my clocks down to the nano second now)

                          Make sure to upvote

                          D 1 Reply Last reply Feb 21, 2023, 7:31 AM Reply Quote 1
                          • D
                            Dobby_ @JonathanLee
                            last edited by Feb 21, 2023, 7:31 AM

                            @jonathanlee

                            Auth. NTP servers give you a bit more safe feeling, because they are knowing how many users are using that servers!
                            Its not like "tomorrow 15 million users" begin using that server and it is going down or responding slower, the delay is growing or the server is not any more responding.

                            I use a mix of more then one NTP and also want to let it grow. At first I use NTP servers pool over WAN they are
                            connected to or based on an atomic clock. Might be the
                            best in my eyes. I have a fallback line over LTE for a
                            second chance to get the time over the internet.
                            The LTE modem has also a GPS antenna connected
                            so I got one more time source.

                            The next way to set up was a miniCPIe GPS (only) card
                            inside of the pfSense and all is fine now.

                            • wired internet
                            • wireless internet
                            • gps only

                            May be that auth. NTP server will be an option on top of all, because they know then the amount of users exactly
                            and can set up another one if the responds time goes down or will be lower and not anymore so fast.

                            #~. @Dobby

                            Turris Omnia - 4 Ports - 2 GB RAM / TurrisOS 7 Release (Btrfs)
                            PC Engines APU4D4 - 4 Ports - 4 GB RAM / pfSense CE 2.7.2 Release (ZFS)
                            PC Engines APU6B4 - 4 Ports - 4 GB RAM / pfSense+ (Plus) 24.03_1 Release (ZFS)

                            J 1 Reply Last reply Feb 21, 2023, 7:36 AM Reply Quote 0
                            • J
                              JonathanLee @Dobby_
                              last edited by JonathanLee Feb 21, 2023, 7:38 AM Feb 21, 2023, 7:36 AM

                              @dobby_ in the early 2000s we use to have to set the DTE and DCE clock rates for the network routers to work correctly, if they had no clock rates set they would not function. Imagine something like a Ciena or Juniper backbone system today, how perfectly in time they have to be to support supernet city to city communications. Time is amazing stuff as it is time of use specific.

                              Make sure to upvote

                              1 Reply Last reply Reply Quote 0
                              • L
                                LamaZ @JonathanLee
                                last edited by LamaZ Feb 22, 2023, 8:37 AM Feb 21, 2023, 9:21 PM

                                @jonathanlee said in Authenicated NTP:

                                @lamaz were you ever in the past having issues that's with time jumps 10-15 mins around noonish?

                                Thankfully I've never seen this behavior. It would have driven me mad as well when taking the OSCP exam and I was down to the wire.

                                I haven't been using multiple servers. Maybe I should I'll grow my list. There are only 4 servers that support authenticated NTP according to https://tf.nist.gov/tf-cgi/servers.cgi.

                                Nice touch ensuring that no local hosts are trying to skirt around your NTP. I do the same thing with both NTP and DNS. Local DNS requests get re-mapped to my pfSense DNS which then does it over TLS. I watch my WAN and ensure no traffic is going out on UDP port 53 :).

                                EDIT: I did it. Thanks @JonathanLee for the informative posts on NTP. I learned something new today.

                                [23.01-RELEASE][admin@your-sweet-pfsense-server-name]/root: ntpq -pc as
                                     remote           refid      st t when poll reach   delay   offset  jitter
                                ==============================================================================
                                *ntp-g.nist.gov  .NIST.           1 u   62   64    3    5.755   +0.244   1.500
                                +ntp-c.colorado. .NIST.           1 u   65   64    3   44.843   +0.668   1.292
                                +ntp-wwv.nist.go .NIST.           1 u   64   64    3   45.135   -1.426   1.312
                                +ntp-b.nist.gov  .NIST.           1 u   66   64    3   42.373   -1.416   1.486
                                
                                ind assid status  conf reach auth condition  last_event cnt
                                ===========================================================
                                  1 30934  f61a   yes   yes   ok   sys.peer    sys_peer  1
                                  2 30935  f414   yes   yes   ok  candidate   reachable  1
                                  3 30936  f414   yes   yes   ok  candidate   reachable  1
                                  4 30937  f41a   yes   yes   ok  candidate    sys_peer  1
                                

                                Full tinfoil hat.

                                -LamaZ

                                J 1 Reply Last reply Mar 2, 2023, 5:33 PM Reply Quote 1
                                • L
                                  LamaZ
                                  last edited by Feb 25, 2023, 12:57 PM

                                  Folks,

                                  In an effort to facilitate checking the status of authenticated NTP, I've added some columns to the NTP Status page to parse the output of ntpq -c associations as defined in the ntpq Command spec. Let me know what you folks think.

                                  The last 3 columns have been added (AssocID, Status Word, Auth). I only added those 3 to the GUI, but I added the plumbing for the most of the fields in case someone wanted to display them as well.
                                  login-to-view

                                  Patch file provided if you want to try it out. It worked for me :)
                                  status_ntpd.php.auth.patch

                                  PS - I'm trying to unlock my Redline account to add this as full fledged feature request. Somehow I'm not getting the password reset email at the moment.

                                  -LamaZ

                                  J 3 Replies Last reply Mar 2, 2023, 5:29 PM Reply Quote 2
                                  • J
                                    JonathanLee @LamaZ
                                    last edited by Mar 2, 2023, 5:29 PM

                                    @lamaz I just got my official secure email from NIST and was given a key and a value, do I only use the value inside of pfsense, it seems to work correctly with that again I will need your patch to see if it authenticated correctly. COOL encrypted secure time!!

                                    Make sure to upvote

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      JonathanLee @LamaZ
                                      last edited by JonathanLee Mar 2, 2023, 6:21 PM Mar 2, 2023, 5:33 PM

                                      @lamaz

                                      login-to-view

                                      I added my key however it is not using auth

                                      login-to-view
                                      With your patch so I can add my key number to use with key value now it works !!! Thanks

                                      Make sure to upvote

                                      1 Reply Last reply Reply Quote 1
                                      • J
                                        JonathanLee @LamaZ
                                        last edited by Mar 2, 2023, 6:22 PM

                                        @lamaz I am going to open a redmine ticket for you as this is missing the key value and redirect the ticket to this page so others can see this.

                                        Make sure to upvote

                                        L 1 Reply Last reply Mar 3, 2023, 10:37 AM Reply Quote 0
                                        • J
                                          JonathanLee @LamaZ
                                          last edited by Mar 2, 2023, 9:03 PM

                                          @lamaz

                                          Yeah!!!

                                          login-to-view

                                          Make sure to upvote

                                          D 1 Reply Last reply Mar 4, 2023, 5:02 PM Reply Quote 1
                                          • First post
                                            Last post
                                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.