home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / security / misc / 2284 < prev    next >
Encoding:
Internet Message Format  |  1992-12-15  |  36.0 KB

  1. Path: sparky!uunet!digex.com!breinhar
  2. From: breinhar@access.digex.com (Robert B. Reinhardt)
  3. Newsgroups: comp.security.misc
  4. Subject: (Version 3): SUMMARY PAPER:  An Arch. Overview of UNIX Net. Security
  5. Date: 16 Dec 1992 01:29:10 GMT
  6. Organization: Express Access Online Communications, Greenbelt, Maryland USA
  7. Lines: 699
  8. Distribution: world
  9. Message-ID: <1gm0p6INNabu@mirror.digex.com>
  10. NNTP-Posting-Host: access.digex.com
  11.  
  12. This is VERSION 3 of my occassional paper on the architecture
  13. of UNIX network security and related methods...
  14.  
  15. It is not very different from previous versions, but does
  16. contain some additions and corrections at the request of
  17. some of the folks who contribute these tools to the community.
  18.  
  19. I hope to complete a more complete and polished paper on this
  20. subject in the coming months.  My thanks in advance for those
  21. who have contributed changes.
  22.  
  23. ---Bob Reinhardt (breinhar@access.digex.com)
  24.  
  25. =======================cut here================================
  26. SUMMARY PAPER:  An Architectural Overview of UNIX Network Security
  27.       (Specifically oriented toward Internet connectivity)
  28.  
  29.                             Version 3
  30.  
  31.             By Robert B. Reinhardt, November 11, 1992
  32.                (breinhar%srg@uunet.uu.net) - work
  33.                (breinhar@access.digex.com) - home
  34.  
  35.      Nothing in this paper should be construed as a product
  36. endorsement.  The contents herein are the a result of light
  37. research and some prototype implementation that I've done over the
  38. past nine months.  I don't know if this will help you or not.  This
  39. is basically just a digest of information that a lot of people
  40. already know.  This is for those of you who don't already know.
  41.  
  42.      For each of the FIREWALL layers (sections) below, there is a
  43. subsection that follows that gives a brief description of some of
  44. the most widely used tools and techniques for implementing security
  45. controls and their availability.
  46.  
  47. =================================================================
  48.                       |                                     |    |
  49.      PUBLIC (or) NON-PRIVATE NETWORK ACCESS                 Y    |
  50.                       |                                     O    |
  51. ========================================================    U    |
  52.                       |                                |    R    Y
  53. SECTION A      ---------------                         |         O
  54.                | Router      |                         F    N    U
  55.                |             |                         I    E    R
  56.                ---------------                         R    T    
  57.                       |                                E    W    P
  58. ====================================================== W    O    O
  59.                       |                                A    R    L
  60. SECTION B      ---------------                         L    K    I
  61.                | Dual-homed  |                         L         C
  62.                | UNIX Gateway|                         |    A    Y
  63.                ---------------                         |    N    
  64.                       |                                |    D    A
  65. ========================================================         N
  66.                       |                                     E    D
  67. SECTION C      ---------------                              Q
  68.                | Hosts on    |                              U    P
  69.                | Local Net   |                              I    E
  70.                ---------------                              P    R
  71. =========================================================== M    S
  72.                                                             E    O
  73. SECTION D      Additional Measures to Enhance Security      N    N
  74.                                                             T    N
  75. =============================================================    E
  76.                                                                  L
  77. SECTION E      Functional Requirements and Security Policy       |
  78.                                                                  |
  79. ================================================================= Before starting into a description of the various elements of
  80. each of the above layers I feel I should reiterate the need for
  81. first developing a local security policy.  Each organization or
  82. site needs to have an effective security policy.  There are many
  83. tools and techniques available to implement security controls, but
  84. you should first conduct a thorough analysis of what your needs
  85. are, in order to design and implement an efficient operational
  86. environment.  You need to determine what your requirements for
  87. network services and features are, what level of security you
  88. require, and what risks you are willing to accept.  Sometimes the
  89. benefit outweighs the risk, sometimes not.  But, those decisions
  90. differ for each organization.  The "firewall" concept for creating
  91. a security demarkation point between your local net and the
  92. outside, as well as the various methods for enhancing security may
  93. not be appropriate for everyone, and in some cases may not go far
  94. enough.  But I believe this a good starting point for almost anyone
  95. with a general concern for UNIX network security.
  96.  
  97.      Let me apologize right now to the authors of these tools and
  98. designs.  Since I am just giving a brief overview, I cannot do
  99. justice to a complete description of them.  To the reader let me
  100. say that you should check the availability section and whenever
  101. possible obtain a README or other information before making your
  102. decisions.  In many cases there is at least one paper (in most
  103. cases probably several) that have been published that describe
  104. these things in better detail.  I'll try to list at least one
  105. source for each.
  106.  
  107.      Papers describing most if not all of these packages and
  108. techniques can be found in the SYMPOSIUM PROCEEDINGS of the USENIX
  109. Third UNIX Security Symposium (c) 1992 by the USENIX Association.
  110.  
  111.      Some of the functionality of these tools overlap.  Since you
  112. have the source to these tools, you can modify them or customize
  113. them to add new features.
  114.  
  115. SECTION A - Physical Access to your Network
  116.  
  117. A1.  Packet filtering.  Several internet protocol routers provide
  118.      the capability to filter packets.  Packet filtering allows you
  119.      to program the router to make a decision whether or not
  120.      traffic can pass to or from your network based on several
  121.      criteria such as:  source ip address, destination ip address,
  122.      protocol, tcp or udp port, etc.
  123.  
  124.      Availability:  I only have experience with CISCO routers,
  125.      however I've been told that Wellfleet and Proteon routers also
  126.      have this feature.  There may be other vendors as well, but
  127.      they probably all implement it a little differently.  Read: 
  128.      Smoot Carl-Mitchell and John S. Quarterman, "Building Internet
  129.      Firewalls"; UnixWorld; February, 1992; pp 93-102.
  130.  
  131. NOTE:     This layer of your security firewall also includes other
  132.           methods of access between networks such as CALL-BACK
  133.           MODEMS.
  134.  
  135. SECTION B - Logical Access to your Network
  136.  
  137. B1.  TCP_WRAPPER.  The "TCP_WRAPPER" tool provides monitoring and
  138.      control of network services.  Essentially, what happens is
  139.      that you configure inetd on your dual-homed gateway to run the
  140.      TCP WRAPPER software whenever certain services (ports) are
  141.      connected to.  Depending on how you configure TCP WRAPPER, it
  142.      will then LOG information about the connection and then
  143.      actually start the intended SERVER program that the connection
  144.      was intended for.  Since you have the source to the tool, you
  145.      can modify it to do more depending on what your needs are. 
  146.      For example, you may want TCP WRAPPER to connect the user to
  147.      a proxy service instead of the actual program, then have your
  148.      proxy software handle the transaction in whatever way your
  149.      security requirements demand.
  150.  
  151.      Availability:  This is available from several sources, but to
  152.      ensure that you get the most recent copy that CERT has
  153.      verified, you should use anonymous FTP to retrieve it from
  154.      cert.org in ~/pub/tools/tcp_wrappers/tcp_wrappers.*.
  155.  
  156. B2.  SOCKS Library and sockd.  The "sockd" and "SOCKS Library"
  157.      provide another way to implement a "tcp wrapper."  It is not
  158.      intended to make the system it runs on secure, but rather to
  159.      centralize ("firewall") all external internet services.  The
  160.      sockd process is started by inetd whenever a connection is
  161.      requested for certain services, and then only allows
  162.      connections from approved hosts (listed in a configuration
  163.      file).  The sockd also will LOG information about the
  164.      connection.  You can use the Socks Library to modify the
  165.      client software to directly utilize the sockd for outgoing
  166.      connections also, but this is described as very tedious and of
  167.      course requires you to have the source to those client
  168.      programs.
  169.  
  170.      Availability:  The socks package, which in addition to
  171.      including both the daemon and the library, has a pre-modified
  172.      FTP client and finger client; it is available via anonymous
  173.      FTP from s1.gov in ~/pub as socks.tar.Z.  Contact the authors
  174.      for more information.  David Koblas (koblas@netcom.com) or
  175.      Michelle R. Koblas (mkoblas@nas.nasa.gov).
  176.  
  177. B3.  Kernel_Wrap for SunOS/RPC via Shared Libraries.  Essentially
  178.      this is a wrapper for SunOS daemons that use RPC, such as
  179.      portmap, ypserv, ypbind, ypupdated, mountd, pwdauthd, etc.  To
  180.      utilize this, you must have SunOS 4.1 or higher and must have
  181.      the capability to rebuild your shared libraries (but, you
  182.      don't need the source to your entire system).  Essentially
  183.      what happens is that you modify the function calls that the
  184.      kernel uses to establish RPC connections, such as accept(),
  185.      recvfrom() and recvmsg().  Since these calls are maintained in
  186.      the shared libraries, you have access to modify them without
  187.      rewriting the kernel.
  188.  
  189.      Availability:  The secured C library package to implement this
  190.      is available via anonymous FTP from eecs.nwu.edu in
  191.      ~/pub/securelib.
  192.  
  193. B4.  SWATCH.  Simple WATCHER is really two things, it is a program
  194.      used to parse through the myriad of LOG data generated by the
  195.      various security programs, in particular "syslog."  But, it's
  196.      more than that.  It is fully configurable with triggers
  197.      (actions), so that while it is continuously monitoring the LOG
  198.      in "real-time," it can take actions based upon certain high-
  199.      priority events that you tell it to watch for.  To get full
  200.      use of this, you will need to modify your network service
  201.      daemons such as ftpd and telnetd so that enhanced logging is
  202.      added to syslog, to feed SWATCH.
  203.  
  204.      Availability:  The SWATCH source and documentation is
  205.      available via anonymous FTP from sierra.stanford.edu in
  206.      ~/pub/sources.
  207.  
  208. B5.  Controlled Access Point (CAP).  This is more of a method or
  209.      protocol definition than a specific product.  CAP provides a
  210.      network mechanism intended to reduce the risk of:  password
  211.      guessing, probing for well-known accounts with default
  212.      passwords, trusted host rlogin, and password capture by
  213.      network snooping.  It is really a design for a variation or
  214.      enhancement to the general firewall approach to connecting two
  215.      or more networks.  In the paper describing this there is an
  216.      example of two local nets, one a secure segment with an
  217.      authentication service, and the other an unsecure segment. 
  218.      Both communicate with each other via a CAP, while there is a
  219.      router for communication to public networks connected on the
  220.      unsecure side of the CAP.  The CAP is essentially a router
  221.      with additional functionality to detect incoming connection
  222.      requests, intercept the user authentication process, and
  223.      invoke the authentication server.
  224.  
  225.      Availability:  Unknown.  Contact the authors for more
  226.      information.  J. David Thompson (thompsond@orvb.saic.com) and
  227.      Kate Arndt (karndt@mitre.org).
  228.  
  229. B6.  Mail Gateway.  This is more of a procedure than a software
  230.      package (although there are packages designed just to do
  231.      this).  I included this to maintain continuity with what I'm
  232.      trying to illustrate in this paper.  This really should be
  233.      applied to all network services that require external
  234.      connectivity (meaning any communication over non-private or
  235.      non-secure channels).  In the simplest implementation of this,
  236.      you configure your router to filter packets so that all mail
  237.      traffic (SMTP protocol for example) is only allowed to and
  238.      from one host, the "Mail Gateway."  Likewise, your DNS and MTA
  239.      software will need to be configured for this as well.
  240.  
  241. B7.  TTY_WRAPPER.  This is one of my pet ideas.  I have not seen
  242.      something like this around, and I'll probably never have time
  243.      to develop it.  But, essentially this would be like "TCP
  244.      WRAPPER," only it is designed specifically for serial
  245.      communications.  After that, we will need a "PSEUDO-TTY
  246.      WRAPPER," but that's for another day.
  247.  
  248. B8.  HSC-Gatekeeper.  The HSC-Gatekeeper from Herve' Schauer
  249.      Consultants, is a complete solution to both layers A and B of
  250.      this firewall model.  It consists of a thorough firewall
  251.      methodology and authentication server, providing pass-thru FTP
  252.      and TELNET services.  The author (Herve Schauer) noted that
  253.      HSC-Gatekeeper was alone to be able to offer fully transparent
  254.      authentication for these services.  I have not had personal
  255.      experience with HSC's products, so I cannot make a conclusive
  256.      statement about it other than to comment that the description
  257.      of it in HSC's paper "An Internet Gatekeeper" (available in
  258.      the USENIX Proceedings) depicts it (IMHO) as a very
  259.      comprehensive solution.
  260.  
  261.      Availability:  For more information, contact Herve Schauer via
  262.      e-mail at Herve.Schauer@hsc-sec.fr.
  263.  
  264. B9.  AT&T INET.  Since I discussed HSC's firewall solution, I
  265.      thought it only fair to mention AT&T's INET Gateway.  For a
  266.      complete description of AT&T's internal solution, you should
  267.      read Bill Cheswick's paper "The Design of a Secure Internet
  268.      Gateway."  For additional information, contact the author via
  269.      e-mail at ches@research.att.com.  I do not believe that AT&T 
  270.      is in the business of selling this solution to anyone, but the
  271.      paper describes in good detail how it was done.  It should
  272.      provide the puritan firewaller additional depth to the
  273.      problems and possible solutions to an Internet firewall
  274.      approach.
  275.  
  276. SECTION C - Physical and Logical Access to Hosts on your Network
  277.  
  278. C1.  Computer Oracle and Password System (COPS).  COPS is a UNIX
  279.      security status checker.  Essentially what it does is check
  280.      various files and software configurations to see if they have
  281.      been compromised (edited to plant a trojan horse or back
  282.      door), and checks to see that files have the appropriate modes
  283.      and permissions set to maintain the integrity of your security
  284.      level (make sure that your file permissions don't leave
  285.      themselves wide open to attack/access).
  286.  
  287.      NOTE:     Many vendors of UNIX are now bundling a security
  288.                status checker with the OS, usually under the
  289.                nomenclature of a "C2" or "trusted system."  You
  290.                may still find that this package has more features
  291.                than your canned package.  Compare them.
  292.  
  293.      Additional Comments:  The current version of COPS (1.04) makes
  294.      a limited attempt to detect bugs that are posted in CERT
  295.      advisories.  Also, it has an option to generate a limited
  296.      script that can correct various security problems that are
  297.      discovered.  Dan also offers a quick hint that should easily
  298.      get you started using COPS.  After you have unarchived the
  299.      COPS package, perform the following steps:  './reconfig',
  300.      'make', and './cops -v -s . -b bit_bucket'. -- There is a lot
  301.      of README documentation included if you need more help.
  302.  
  303.      Availability:  COPS can be retrieved via anonymous FTP from
  304.      cert.org in ~/pub/tools/cops.
  305.  
  306. C2.  Chkacct.  Chkacct is a COPS for the ordinary user.  This tool
  307.      is made available to the users to run, or it is run for them
  308.      once per day.  It will do an integrity check on the status of
  309.      files in their own account and then mail them the results
  310.      (such as "Dear user:  Your .rhosts file is unsafe").  This
  311.      package can help make your users more aware of security
  312.      controls and raise their level of participation in the
  313.      program.
  314.  
  315.      Availability:  Chkacct is distributed with the COPS package
  316.      (>= COPS 1.04), for additional information contact
  317.      shabby@mentor.cs.purdue.edu.
  318.  
  319. C3.  CRACK.  Crack helps the security administrator identify weak
  320.      passwords by checking for various weaknesses and attempting to
  321.      decrypt them.  If Crack can figure out your password, then you
  322.      must choose a better password.  It is very likely that a
  323.      determined intruder will be able to get the password too
  324.      (using similar techniques, or the Crack program itself, since
  325.      it is publicly available).
  326.  
  327.      Availability:  Crack is available via anonymous FTP from
  328.      cert.org in ~/pub/tools/crack/crack_4.1-tar.Z.
  329.  
  330. C4.  SHADOW.  The shadow password suite of programs replaces the
  331.      normal password control mechanisms on your system to remove
  332.      the encrypted password from the publicly readable file
  333.      /etc/passwd and hides them in a place that only this program
  334.      has permission to read.  It consists of optional, configurable
  335.      components, provides password aging to force users to change
  336.      their passwords once in awhile, adds enhanced syslog logging,
  337.      and can allow users to set passwords up to a length of sixteen
  338.      characters.
  339.  
  340.      NOTE:     Many vendors of UNIX are now bundling a shadow
  341.                password suite with the OS, usually under the
  342.                nomenclature of a "C2" or "trusted system."  You
  343.                may still find that this package has more features
  344.                than your canned package.  Compare them.
  345.  
  346.      Availability:  Shadow is available from USENET archives which
  347.      store the comp.sources.misc newsgroup.  Distribution is
  348.      permitted for all non-commercial purposes.  For more
  349.      information contact the author, John F. Haugh III
  350.      (jfh@rpp386.cactus.org).
  351.  
  352. C5.  PASSWD+.  Passwd+ is a proactive password checker that
  353.      replaces /bin/passwd on your system.  It is rule-based and
  354.      easily configurable.  It prevents users from selecting a weak
  355.      password so that programs like "CRACK" can't guess it, and it
  356.      provides enhanced syslog logging.
  357.  
  358.      NOTE:     Many vendors of UNIX are now bundling a proactive
  359.                password checker with the OS, usually under the
  360.                nomenclature of a "C2" or "trusted system."  You
  361.                may still find that this package has more features
  362.                than your canned package.  Compare them.
  363.  
  364.      Availability:  Passwd+ is available via anonymous FTP from
  365.      dartmouth.edu in ~/pub/passwd+tar.Z.
  366.  
  367. C6.  AUDIT.  Audit is a policy-driven security checker for a
  368.      heterogeneous environment.  It is fully configurable so that
  369.      you can set up Audit to exactly match your site's security
  370.      policy.  This program functionally does what COPS is intended
  371.      to do, but does not hard-code your policy decisions for you
  372.      the way that COPS does.
  373.  
  374.      NOTE:     Many vendors of UNIX are now bundling an auditing
  375.                subsystem with the OS, usually under the
  376.                nomenclature of a "C2" or "trusted system."  You
  377.                may still find that this package has more features
  378.                than your canned package.  Compare them.  One
  379.                particular subject to note is that most (IMHO)
  380.                vendors auditing subsystems only collect and
  381.                regurgitate tons of raw data, with no guidance and
  382.                assistance for using that information.  They leave
  383.                that up to you.  The Audit and/or Swatch tools are
  384.                probably better.
  385.  
  386.      Availability:  The final version of Audit will eventually be
  387.      posted to USENET.  However, the beta release will only be made
  388.      available on a limited basis, to larger, heterogeneous sites. 
  389.      If your interested in participating in the beta test, send e-
  390.      mail to the auther, Bjorn Satdeva (bjorn@sysadmin.com).
  391.  
  392. C7.  MIRO.  Miro is a suite of tools for specifying and checking
  393.      security contraints (like COPS and Audit), including a couple
  394.      programming languages.  It is general because it is not tied
  395.      to any particular OS, and it is flexible because security
  396.      administrators express site policies via a formal
  397.      specification language.  It is easy to extend or modify a
  398.      policy by simply augmenting or changing the specification of
  399.      the current policy.
  400.  
  401.      Availability:  Miro is the product of a large research
  402.      project, and to understand it you need more than the paragraph
  403.      I've written above.  For more information about the Miro
  404.      project send e-mail to (miro@cs.cmu.edu), there is even a
  405.      video available.  The authors Ph.D thesis, as well as the
  406.      sources for the Miro tools, are available via anonymous FTP
  407.      from ftp.cs.cmu.edu.  When you connect there, type "cd
  408.      /afs/cs/project/miro/ftp" and "get ftp-instructions"; this
  409.      will explain how to get the thesis and/or software.
  410.  
  411. SECTION D - Additional Security Enhancements
  412.  
  413.      The tools described in sections {A...C} above, are what I
  414. consider part of a "base" set of tools and functional requirements
  415. for general security administration.  The tools and methods
  416. described in this section are additional measures that can be
  417. combined with or added to your overall security program at any of
  418. the other levels {A...C}.
  419.  
  420. D1.  One-time Password ("Key Card").  Since reusable passwords can
  421.      be captured and used/reused by intruders, consider a "one-time
  422.      password" scheme.  One-time passwords can be implemented using
  423.      software-only solutions or software/hardware solutions, and
  424.      there are several commercial products available.  The
  425.      following is an example of what CERT uses.  Each user is
  426.      assigned a "Digital Pathways" key-card (approximately $60 per
  427.      user).  When you enter your PIN code, it supplies a password
  428.      that is good only one time.  The only other piece to this, is
  429.      software that replace the login shell on your "firewall"
  430.      server.
  431.  
  432.      Availability:  The source-code for this shell is based on code
  433.      from the key card vendor and is currently not available to the
  434.      public domain via anonymous FTP.  For additional information
  435.      about this, send e-mail to (cert@cert.org).
  436.  
  437. D2.  Privacy Enhanced Mail (PEM).  PEM is a RSA-based encryption
  438.      scheme that encrypts sensitive information, but more than that
  439.      it checks for message integrity and non-repudiation of origin,
  440.      so that the originator cannot deny having sent the message. 
  441.      PEM is actually a protocol that is designed to allow use of
  442.      symmetric (private-key) and asymmetric (public-key)
  443.      cryptography methods.  In this example, Trusted Information
  444.      Systems, Inc. (TIS) has implemented a PEM package using the
  445.      public-key technique together with the Rand MH Message
  446.      Handling System (version 6.7.2).  TIS/PEM libraries can be
  447.      adapted for implementation of non-mail applications as well.
  448.  
  449.      Availability:  TIS/PEM is a commercially available product,
  450.      for additional information send e-mail to (pem-info@tis.com).
  451.  
  452. D3.  Kerberos.  Kerberos is a DES-based encryption scheme that
  453.      encrypts sensitive information, such as passwords, sent via
  454.      the network from client software to the server daemon process. 
  455.      The network services will automatically make requests to the
  456.      Kerberos server for permission "tickets."  You will need to
  457.      have the source to your client/server programs so that you can
  458.      use the Kerberos libraries to build new applications.  Since
  459.      Kerberos tickets are cached locally in /tmp, if there is more
  460.      than one user on a given workstation, then a possibility for
  461.      a collision exists.  Kerberos also relies upon the system time
  462.      to operate, therefore it should be enhanced in the future to
  463.      include a secure time server (timed is not appropriate). 
  464.      There are two versions of Kerberos, one for OSF ported by HP,
  465.      and one BSD-based developed by the author.
  466.  
  467.      Availability:  Kerberos is distributed via anonymous FTP from
  468.      athena-dist.mit.edu in ~/pub/kerberos or ~/pub/kerberos5.
  469.  
  470. D4.  Private-Key Certificates.  This is not really a product, but
  471.      rather a design proposal that is an alternative method to PEM
  472.      for adding network security to applications such as mail. 
  473.      Simply put, it uses the public-key style of implementation
  474.      with private-key cryptography.  It can be adapted to different
  475.      types of applications and it is boilerplate so that you can
  476.      essentially plug-in any encryption algorithm.  This is
  477.      designed so that public-key protocols no longer have to rely
  478.      on public-key encryption.
  479.  
  480.      Availability:  Unknown.  For more information, contact Don
  481.      Davis, at Geer Zolot Assoc., Boston, MA (formerly of Project
  482.      Athena at MIT).  His paper "Network Security via Private-Key
  483.      Certificates" better describes this techique.
  484.  
  485. D5.  Multi-Level Security (MLS).  After you've done everything else
  486.      (above) to make your network secure, then MLS will probably be
  487.      one of your next logical steps.  That doesn't mean you have to
  488.      wait until you've done everything else before implementing
  489.      MLS, it's just (IMHO) that you would be wasting your time to
  490.      go to the Nth degree before covering the fundamentals.  The
  491.      other alternative if you are just now deciding to buy your
  492.      UNIX operating system is to buy an MLS variant now, and after
  493.      you configure it to manage your security policy, go back
  494.      through layers {A...C} to see what you might add to make it
  495.      more secure in a networked environment.  Many UNIX vendors are
  496.      now shipping or preparing to ship a MLS version.  A couple
  497.      examples that immediately come to mind is SecureWare CMW+
  498.      (based on A/UX or SCO ODT 1.1) and AT&T USL System V-Release
  499.      4-Version 1-Enhanced Security (SVR4.1ES).
  500.  
  501.      For additional information regarding MLS implementations
  502.      within the Department of Defense (DoD), contact Charles West
  503.      at (703) 696-1891, Multilevel Security Technology Insertion
  504.      Program (MLS TIP), Defense Information Systems Agency (DISA).
  505.  
  506.      For additional information regarding SecureWare CMW+, contact
  507.      David Luterancik at (404) 315-6296, or send e-mail to
  508.      info@sware.com.  For additional information regarding AT&T USL
  509.      SVR$.1ES, contact Tom Vaden at (908) 522-6154, or send e-mail
  510.      to fate@usl.com.
  511. D6.  File Encryption.  Users should get into the habit of
  512.      encrypting sensitive files whenever they are stored in a
  513.      public place or transmitted via public communication circuits. 
  514.      File encryption isn't bulletproof, but it is better than clear
  515.      text for sensitive information.  The UNIX crypt utility is the
  516.      least secure of these tools, since it can be broken using
  517.      well-known decryption techniques.  The UNIX des utility
  518.      (available in US only) is more secure.  It has not been known
  519.      to be broken, however DoD does not sanction its use for
  520.      transmitting classified material.  A new UNIX tool PGP 2.0 is
  521.      available (uses RSA encryption), however there may be
  522.      licensing issues to be concerned with.
  523.  
  524. D7.  Secure Programming Methods.  Programmers can assist in the
  525.      effort of security by reducing the chance that a potential
  526.      intruder can exploit a hole or bug that is coded into locally
  527.      developed software.  There is probably a lot that can be said
  528.      about this, and their are probably many books on the subject
  529.      somewhere.  But, here are some common recommendations.  (A) 
  530.      Never create a SETUID shell script.  There are well-known
  531.      techniques used by intruders to gain access to a shell program
  532.      that is running as root.  (B)  List the complete file name,
  533.      including the full path in any system() or popen() call.  (C) 
  534.      Since there is no reason for users to have read access to a
  535.      SETUID file (or any exectuble for that matter), set
  536.      permissions to 4711 (SETUID) or 711 (Non-SETUID).
  537.  
  538. D8.  Counterintelligence.  To extend your security program to seek
  539.      out, identify, and locate intruders;  you may want to modify
  540.      some of the security tools (especially those proxy service
  541.      daemons and event-driven auditors) to trace intruders back to
  542.      their source, and otherwise maintain logs of data on intrusion
  543.      attempts.  This information can prove vital in taking an
  544.      offensive stance against security break-in's and can help
  545.      prosecute offenders.
  546.  
  547. D9.  Other Possibilities.  Depending on your requirements you might
  548.      look into specialized solutions such as Compartmented Mode
  549.      Workstations (CMW), end-to-end Data Link Encryption, and
  550.      TEMPEST.  The NCSC (Rainbow Series) and ITSEC specifications
  551.      can help you define what level of need you have for security
  552.      and help lead you to additional types of solutions.
  553.  
  554. SECTION E - Security Policy
  555.  
  556.      Everything discussed in sections {A...D} involve specific
  557. things you can do, tools and techniques to implement, to address a
  558. particular area or "hole" in security.  Your SECURITY POLICY is
  559. what ties all of that together into a cohesive and effective
  560. SECURITY PROGRAM.  There are many diverse issues to consider when
  561. formulating your policy, which alone is one of the biggest reasons
  562. why you must have one:
  563.  
  564. -- What are the functional requirements of your network?
  565. -- How secure do you need to be?  What needs to be protected?
  566. -- How will you handle incident reporting and prosecution?
  567. -- What does the law require you to do?  What about privacy?  Since
  568. break-ins often occur via multiple hops on computers throughout the
  569. US and the rest of the world, you will need to consider a variation
  570. of federal, state, local, as well as foreign laws.
  571. -- Make security a dedicated and deliberate effort.
  572. -- User training and security awareness.
  573. -- What is considered acceptable use for users?  Do the users
  574. understand what it is they are permitted to do and what it is they
  575. are not permitted to do?
  576. -- What is considered acceptable use for system administration
  577. staff?  Is using Crack to test passwords okay?  Is giving friends
  578. outside the organization accounts okay?
  579. -- Maintain a working relationship with the Computer Emergency
  580. Response Team (CERT) at Carnegie Mellon University (CMU) and your
  581. Forum of Incident Response and Security Teams (FIRST) regional
  582. representative "CERT" team.
  583. -- PLUS a myriad of different issues too numerous to go into in a
  584. summary paper.
  585.  
  586.      By answering these questions you determine what packages and
  587. methods in sections {A...D} that you want to implement, and in what
  588. ways you want to modify or configure them.  "A security policy is
  589. a formal specification of the rules by which people are given
  590. access to a computer and its resources."  (and to extend that to
  591. say...a network and its resources).  Whatever tools you install to
  592. help you maintain the security of your network and monitor it, they
  593. must be configured to implement YOUR POLICY, or else they are not
  594. doing the whole job that needs to be done.  Therefore, you must
  595. first have a POLICY.
  596.  
  597.      For additional help in the area of policy development, contact
  598. cert@cert.org, and they can probably lead you to useful
  599. documentation on the subject and guide you to your FIRST regional
  600. CERT team representative.  A good starting point is Request For
  601. Comments (RFC) 1244 "Site Security Handbook" (96 pages), which is
  602. available via anonymous FTP from numerous RFC archive sites (for
  603. example:  nic.ddn.mil). SUMMARY OF AVAILABILITY
  604.  
  605. Section   Name           Availability
  606.  
  607. A1        Router         Cisco, Wellfleet, Proteon
  608. B1        Tcp_wrapper    cert.org:/pub/tools/tcp_wrappers
  609. B2        Socks          s1.gov:/pub/socks.tar.Z
  610. B3        Kernel_wrap    eecs.nwu.edu:/pub/securelib
  611. B4        Swatch         sierra.stanford.edu:/pub/sources
  612. B5        CAP            e-mail to thompsond@orvb.saic.com
  613. B6        Mail Gateway   NOT APPLICABLE
  614. B7        Tty_wrapper    NOT APPLICABLE
  615. B8        HSC-Gatekeeper e-mail to Herve.Schauer@hsc-sec.fr
  616. B9        AT&T INET      e-mail to ches@research.att.com
  617. C1        COPS           cert.org:/pub/tools/cops
  618. C2        Chkacct        cc.perdue.edu:/pub/chkacctv1.1.tar.Z
  619. C3        Crack          cert.org:/pub/tools/crack/crack_4.1-tar.Z
  620. C4        Shadow         comp.sources.misc (jfh@rpp386.cactus.org).
  621. C5        Passwd+        dartmouth.edu:/pub/passwd+tar.Z
  622. C6        Audit          e-mail to bjorn@sysadmin.com
  623. C7        Miro           e-mail to miro@cs.cmu.edu
  624. D1        Key-card       e-mail to cert@cert.org
  625. D2        TIS/PEM        e-mail to pem-info@tis.com
  626. D3        Kerberos       athena-dist.mit.edu:/pub/kerberos5
  627. D4        Private-key    contact Don Davis, at Geer Zolot Assoc.
  628. D5        MLS            contact your UNIX vendor
  629. D6        File encrypt   contact your UNIX vendor
  630. D7        Programming    NOT APPLICABLE
  631. D8        Counter-Intel  NOT APPLICABLE
  632. D9        Other Poss.    research and contact various vendors
  633. E*        Policy         RFC 1244 and cert@cert.org
  634.  
  635.                 Additional Sources of Information
  636.  
  637. Subscribe to the following mailing lists:
  638.  
  639. cert-advisory-request@cert.org
  640. cert-tools-request@cert.org
  641. firewalls@greatcircle.com
  642.  
  643. Read the following USENET newsgroups:
  644.  
  645. comp.security.announce (echos the CERT advisory mailing list)
  646. comp.security.misc
  647. alt.security (frequently dissolves into "flame wars")
  648. comp.risks
  649. comp.virus (almost exclusively for discussing PC and MAC viruses)
  650.  
  651. Copy files from the CERT Usenet Clipping Archive via anonymous FTP
  652. from cert.org
  653.  
  654. CERT Contact Information:
  655.  
  656. Emergencies:   +1 412 268-7090
  657. FAX:           +1 412 268-6989
  658. E-mail:        cert@cert.org
  659.  
  660. U.S. Mail:     CERT Coordination Center
  661.                Software Engineering Institute
  662.                Carnegie Mellon University
  663.                4500 Fifth Avenue
  664.                Pittsburgh, PA 15213-3890, USA
  665.  
  666. USENIX Papers are available directly from USENIX:
  667.  
  668. The USENIX Association
  669. 2560 Ninth Street, Suite 215
  670. Berkeley, CA 94710, USA
  671.  
  672. READ:  The SYMPOSIUM PROCEEDINGS of the USENIX Third UNIX Security
  673. Symposium (September 14-16, 1992).  It is 330+ pages, containing
  674. papers describing in better detail a lot of the packages and
  675. security techniques I briefly described in this paper.
  676.  
  677. ------------------------SUMMARY OF CHANGES-------------------------
  678. Version 1 was distributed on September 19, 1992
  679. Version 2 was distributed on October 8, 1992
  680. Version 3 was distributed on November 11, 1992
  681.  
  682. (V3) Paragraph B2 (Socks) - Changes to e-mail address submitted by
  683. Ed DeHart of CERT.  Changes to availability submitted by the
  684. authors, David and Michelle Koblas, the package is available from
  685. s1.gov.  (V3) Paragraph B8 (HSC-Gatekeeper) - Added this at the
  686. suggestion of the author, Herve Schauer.  (V3) Paragraph B9 (AT&T
  687. INET) - Added this to show a contrast to new paragraph B8.  (V2)
  688. Paragraph C1 (COPS) - Additional Comments and Hints submitted by
  689. Dan Farmer, the author of COPS.  (V2) Paragraph C2 (Chkacct) -
  690. Correction to availability, the package is distributed with COPS
  691. (versions >= 1.04).  (V2) Paragraph D1 (KeyCard) - Correction to
  692. availability, source code is not in public domain, submitted by Jim
  693. Ellis at CERT.  (V3) Paragraph D5 (MLS) - Changed to take a more
  694. progressive stance toward MLS in current operating environments. 
  695. (V3) Additional information - Added address for the new Firewalls
  696. mailing list.
  697.  
  698. ------------------------NOTICE---DISCLAIMER------------------------
  699. The contents of this paper do not necessarily reflect the opinions
  700. of my employer or anyone else that I know.  Nothing in this paper
  701. should be construed as a product endorsement.  No warranty is
  702. expressed or implied.  Any comments?  Please send me e-mail.
  703. -------------------------------------------------------------------
  704.  
  705. ------------------------NOTICE---COPYRIGHT-------------------------
  706. (c) Copyright 1992, Robert B. Reinhardt.  This paper is freely
  707. distributable as long as the paper is not modified in any way,
  708. includes this notice, and is provided without guarantee or warranty
  709. expressed or implied.  E-mail comments to breinhar@access.digex.com
  710. -------------------------------------------------------------------
  711.