| feb98.tar |
Questions and Answers
Bjorn Satdeva
Second, get all the CERT advisories relevant to the types of system used at your site, and read them. They will give you some ideas of the type of problems you need to defend yourself against. Third, get a good book on security. I like Practical UNIX & Internet Security by Simson Garfinkel and Gene Spafford from O'Reilly and associates, and Linda McCarthy's Intranet Security (Sun Books). The O'Reilly book will provide an overall understanding of security, although the book is huge. Intranet Security is filled with case stories, which will provide insight not only into technical issues, but also into many people and policy issues. This book might also give you some good arguments to use when discussing security with your users or your managers. Fourth, you can take some courses. If you are able to attend the SANS conference in April, in Monterey, California, you should look into taking one or more of the security courses given by Matt Bishop. Further information about SANS can be obtained from:
http://www.sans.org The Computer Security Institute (www.gocsi.com) is another possible source of information. Finally, check the Internet for software that can be used to check or increase security. I have mentioned many such packages over the years, as have other articles in Sys Admin. The bottom line is that you are in a position where you may need to learn a lot, but I hope you will also find that computer security is not only a fascinating field, but also one where there is always new stuff to learn. In many ways, computer security is a continuously escalating process, where the black hats are finding new ways to compromise systems, and where we must learn to defend those systems against intrusion and denial of service attacks. Go for it!
The most important thing is to remember that you are working with people and must make your decision accordingly. You cannot apply a technical solution to a people problem and expect it work (nor will the opposite work). Technical and people considerations must go hand in hand. I am not going to give a list of mail readers that should be supported, because it depends very much on the type of users working at the site. A site with a majority of C programmers may use emacs to read mail, while a site with an overwhelming number of PC users might use Eudora or Netscape as mail readers. Only by looking at the habits of your users can you determine the set of programs you must support. It is also important to have a list of supported software, so you don't end up supporting nearly all the software packages in the known universe. If a user requests support of an odd package that only he or she is using, and if the package is not critical for the operation of the site, it might be proper to deny such support. Know your site, know your users, and know your management, you will be able to make good decisions in these matters.
When designing a network structure, it is always important to include as much redundancy as you practically can. In terms of name servers, it means that you should have at least two, and preferably at least one on each subnet. You are getting two benefits from this. Most importantly, if one or more name servers fail, it will be more or less invisible to the user, because the resolver will simply go on to inquire from the next name server in the list. For BIND, this also has the benefit of decreasing the timeouts in the resolver. The exact time out values depend on the version of BIND that you are using, but if you have only a single name server, the typical values are a timeout of 5 seconds for the first query, 10 seconds for the second, then 20 seconds and 40 seconds before giving up. If you have several name servers, then each timeout will be around 5 seconds each, until the list has been exhausted. In all cases, the total time out for a name server query is about 75 to 80 seconds, but this timeout will be reached only if all of the name servers are out of action. If a client sends an inquiry about a nonexistent host, then it will get an error reply to this effect. It will then not try another name server, because (in theory) all authoritative name servers will return the same result. Due to the time lag from the update of a primary until the zone transfer to the secondary occurs, there is a small window where changes will show up in one name server and not in another. If only one of the name servers has problems and does not respond, the actual time to receive an answer will not be 75 seconds, but will be the sum of the timeouts of each failed lookup and the time to receive the respond from the working name server. Planned redundancy is an important part of good system administration and should be applied whenever possible. Whenever there is a service that can fail and effectively leave the network inoperable, it should be duplicated if possible. Name servers of any kind (e.g., NIS or NIS+) should have slaves configured across the network. When practical, fall-back network routes should automatically take over if the primary routes fail.
It takes very little extra work to enter an MX record when you add the A record for a host. In fact I like to keep these records together in one place. The time savings is, in my opinion, illusory. It is better to try to get the work so that it stays done, instead of creating later problems.
You will need to make sure that your sendmail is compiled with the capability to understand MX records. On some vendors' systems, the default sendmail does not understand MX records, and will need to be replaced by a version that does (and is provided in the same directory). As you should get, compile, and use the latest version of sendmail anyway, this should not be a real issue. About the Author
Bjorn Satdeva is the president of /sys/admin, inc., a consulting firm which specializes in large installation system administration. Bjorn is also co-founder and former president of Bay-LISA, a San Francisco Bay Area user's group for system administrators of large sites. Bjorn can be contacted at /sys/admin, inc., 2787 Moorpark Ave., San Jose, CA 95128; electronically at bjorn@sysadmin.com; or by phone at (408) 241-3111.
|