Professional Web Applications Themes

probabilistic cron implementation - Linux / Unix Administration

Common cron implementations have one simple security hole: they make it easy to exploit the cron jobs because they are predictable. Here is the solution: a cron version that starts the jobs _on average_ hourly, daily, weekly or monthly, but keeps the actual run times unpredictable. Additionally, this version of cron creates less load peaks than traditional implementation, both on the box running it and on update servers when using cron-scheduled update scripts. Sound interesting? Check it out on alt.sources: <privacy.net> Feel free to post some comments....

  1. #1

    Default probabilistic cron implementation

    Common cron implementations have one simple security hole: they make it easy
    to exploit the cron jobs because they are predictable. Here is the solution:
    a cron version that starts the jobs _on average_ hourly, daily, weekly or
    monthly, but keeps the actual run times unpredictable.

    Additionally, this version of cron creates less load peaks than traditional
    implementation, both on the box running it and on update servers when using
    cron-scheduled update scripts.

    Sound interesting? Check it out on alt.sources: <privacy.net>

    Feel free to post some comments.
    unix-maniac@nospam.org Guest

  2. #2

    Default Re: probabilistic cron implementation

    org wrote: 

    You can do this with standard cron by doing something along these lines:

    0,30 * * * * perl -e 'sleep rand 60' ; mycommand

    That might be a little messy, but in many cases it's cleaner than
    creating a requirement for a special version of cron.

    - Logan
    Logan Guest

  3. #3

    Default Re: probabilistic cron implementation

    ["Followup-To:" header set to comp.unix.programmer.]
    On 2006-04-04, Logan Shaw <rr.com> wrote: 
    >
    > You can do this with standard cron by doing something along these lines:
    >
    > 0,30 * * * * perl -e 'sleep rand 60' ; mycommand
    >
    > That might be a little messy, but in many cases it's cleaner than
    > creating a requirement for a special version of cron.[/ref]

    Ironically, I used a solution like this before, and decided to write
    the probabilistic cron because I wanted a cleaner solution. To have a
    comparable level of unpredictability, I had to have a significant
    amount of sleep processes running all the time. Now I don't even need
    cron daemon in memory because atd can do it all. Maybe there is some
    variation in what is considered "clean".
    unix-maniac@nospam.org Guest

  4. #4

    Default Re: probabilistic cron implementation

    org wrote in article
    <privacy.net>: 

    That doesn't eliminate race conditions, it only changes the
    probabilties. So, although it might improve security, it
    won't fix broken security.

    [To: groups tweaked, Followup-to: added]

    Michael Guest

  5. #5

    Default Re: probabilistic cron implementation

    org wrote: 

    Another solution in search of a problem.

    com
    --
    NewsGuy.Com 30Gb $9.95 Carry Forward and On Demand Bandwidth
    Andrew Guest

Similar Threads

  1. web cam implementation
    By wschwisow in forum Macromedia Exchange Dreamweaver Extensions
    Replies: 4
    Last Post: March 25th, 12:37 PM
  2. SUS Implementation
    By AJD in forum Windows Server
    Replies: 3
    Last Post: July 22nd, 09:20 PM
  3. Cron Tab Implementation
    By Nandkishore.Sagi in forum PERL Beginners
    Replies: 8
    Last Post: July 8th, 04:53 PM
  4. MD5 implementation
    By Casper Hornstrup in forum ASP.NET Security
    Replies: 3
    Last Post: February 4th, 01:53 PM
  5. NAT implementation on AIX 5.x
    By Bala in forum AIX
    Replies: 0
    Last Post: October 2nd, 02:44 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139