comparison thesis/tex/5-Improvements.tex @ 341:a5f167ca2a01

some work on permissions
author meillo@marmaro.de
date Mon, 26 Jan 2009 16:00:51 +0100
parents a13392b4fee8
children f44603443e2d
comparison
equal deleted inserted replaced
340:a13392b4fee8 341:a5f167ca2a01
428 428
429 429
430 430
431 \subsubsection*{Rights and permission} 431 \subsubsection*{Rights and permission}
432 432
433 The set of system users that is required for \qmail\ seems to be too complex. One system user, like \postfix\ uses, is more appropriate. \name{root} privilege and \name{setuid} permission needs to be avoided as feasible. 433 The set of system users that is required for \qmail\ seems to be too complex for \masqmail. One system user, like \postfix\ uses, is more appropriate. \name{root} privilege and \name{setuid} permission should to be avoided as feasible.
434 434
435 Table \ref{tab:new-masqmail-permissions} shows the suggested ownership and permissions of the modules. 435 The \name{queue-in} module is the part of the system that is most critical about permission. It either needs to run as deamon (as a specific user) or be \name{setuid} or \name{setgid} in order to avoid a world-writable queue. \person{Ian~R.\ Justman} recommends to use \name{setgid} in this situation:
436 436
437 \begin{table} 437 \begin{quote}
438 \begin{center} 438 But if all you need to do is post a file into an area which does not have world writability but does have group writability, and you want accountability, the best, and probably easiest, way to accomplish this without the need for excess code for uid switching (which is tricky to deal with especially with setuid-to-root programs) is the setgid bit and a group-writable directory.
439 \input{tbl/new-masqmail-permissions.tbl} 439 \hfill\cite{justman:bugtraq}
440 \end{center} 440 \end{quote}
441 \caption{Ownership and permissions of the modules} 441
442 \label{tab:new-masqmail-permission} 442 \person{Bernstein} chose \name{setuid} for the \name{qmail-queue} module, \person{Venema} uses \name{setgid} in \postfix, the differences are small. But each of them is better than running the module as a deamon. A deamon needs more resources and therefore become inefficient on systems with low mail amount like the ones \masqmail\ will probably run on. Short running processes are additionally higher obstacles for intruders because if an intruder managed to take one over it will die soon.
443 \end{table} 443
444 444
445 These are the permissions and ownership used for the queue: 445 \subsubsection*{Daemon processes}
446 \codeinput{input/new-masqmail-queue.txt} 446
447 447 The modules \name{scanning} and \name{queue-out} are candidates for all-time running processes. But they could also get periodically started by \name{cron}.
448 448
449 449 how is which process invoked?
450 450
451 451
452 setuid/setgid or not? 452
453 master process? needed, or wanted?
454
455
456
457 where to drop privilege? needed?
458
453 459
454 what can crash if an attacker succeeds? 460 what can crash if an attacker succeeds?
455 461
456 where to drop privilege? 462
457 463
458 how is which process invoked? 464
459 465
460 master process? needed, or wanted? 466 %Table \ref{tab:new-masqmail-permissions} shows the suggested ownership and permissions of the modules.
461 467 %
462 which are the daemon processes? 468 %\begin{table}
463 469 % \begin{center}
464 470 % \input{tbl/new-masqmail-permissions.tbl}
465 471 % \end{center}
466 472 % \caption{Ownership and permissions of the modules}
467 473 % \label{tab:new-masqmail-permission}
468 474 %\end{table}
469 475 %
470 http://fanf.livejournal.com/50917.html %how not to design an mta - the sendmail command 476 %These are the permissions and ownership used for the queue:
471 http://fanf.livejournal.com/51349.html %how not to design an mta - partitioning for security 477 %\codeinput{input/new-masqmail-queue.txt}
472 http://fanf.livejournal.com/61132.html %how not to design an mta - local delivery 478
473 http://fanf.livejournal.com/64941.html %how not to design an mta - spool file format 479
474 http://fanf.livejournal.com/65203.html %how not to design an mta - spool file logistics
475 http://fanf.livejournal.com/65911.html %how not to design an mta - more about log-structured MTA queues
476 http://fanf.livejournal.com/67297.html %how not to design an mta - more log-structured MTA queues
477 http://fanf.livejournal.com/70432.html %how not to design an mta - address verification
478 http://fanf.livejournal.com/72258.html %how not to design an mta - content scanning
479
480
481