📄 rfc1196.txt
字号:
RFC 1196 Finger December 1990 in the user information output, or at worst be ignored.2.5.5. Vending machines Vending machines SHOULD respond to a {C} request with a list of all items currently available for purchase and possible consumption. Vending machines SHOULD respond to a {U}{C} request with a detailed count or list of the particular product or product slot. Vending machines should NEVER NEVER EVER eat requests. Or money.3. Security3.1. Implementation security Sound implementation of Finger is of the utmost importance. Implementations should be tested against various forms of attack. In particular, an RUIP SHOULD protect itself against malformed inputs. Vendors providing Finger with the operating system or network software should subject their implementations to penetration testing. Finger is one of the avenues for direct penetration, as the Morris worm pointed out quite vividly. Like Telnet, FTP and SMTP, Finger is one of the protocols at the security perimeter of a host. Accordingly, the soundness of the implementation is paramount. The implementation should receive just as much security scrutiny during design, implementation, and testing as Telnet, FTP, or SMTP.3.2. RUIP security Warning!! Finger discloses information about users; moreover, such information may be considered sensitive. Security administrators should make explicit decisions about whether to run Finger and what information should be provided in responses. One existing implementation provides the time the user last logged in, the time he last read mail, whether unread mail was waiting for him, and who the most recent unread mail was from! This makes it possible to track conversations in progress and see where someone's attention was focused. Sites that are information-security conscious should not run Finger without an explicit understanding of how much information it is giving away.3.2.1. {Q2} refusal For individual site security concerns, the system administrator SHOULD be given an option to individually turn on or off RUIP processing of {Q2}. If RUIP processing of {Q2} is turned off, the RUIP MUST return a service refusal message of some sort. "Finger forwarding service denied" is adequate. The purpose of this is toZimmerman [Page 7]RFC 1196 Finger December 1990 allow individual hosts to choose to not forward Finger requests, but if they do choose to, to do so consistently. Overall, there are few cases which would warrant processing of {Q2} at all, and they are far outweighed by the number of cases for refusing to process {Q2}. In particular, be aware that if a machine is part of security perimeter (that is, it is a gateway from the outside world to some set of interior machines), then turning {Q2} on provides a path through that security perimeter. Therefore, it is RECOMMENDED that the default of the {Q2} processing option be to refuse processing. It certainly should not be enabled in gateway machines without careful consideration of the security implications.3.2.2. {C} refusal For individual site security concerns, the system administrator SHOULD be given an option to individually turn on or off RUIP acceptance of {C}. If RUIP processing of {C} is turned off, the RUIP MUST return a service refusal message of some sort. "Finger online user list denied" is adequate. The purpose of this is to allow individual hosts to choose to not list the users currently online.3.2.3. Atomic discharge All implementations of Finger SHOULD allow individual system administrators to tailor what atoms of information are returned to a query. For example: - Administrator A should be allowed to specifically choose to return office location, office phone number, home phone number, and logged in/logout time. - Administrator B should be allowed to specifically choose to return only office location, and office phone number. - Administrator C should be allowed to specifically choose to return the minimum amount of required information, which is the person's full name.3.2.4. User information files Allowing an RUIP to return information out of a user-modifiable file should be seen as equivalent to allowing any information about your system to be freely distributed. That is, it is potentially the same as turning on all specifiable options. This information security breach can be done in a number of ways, some cleverly, others straightforwardly. This should disturb the sleep of system administrators who wish to control the returned information.Zimmerman [Page 8]RFC 1196 Finger December 19903.2.5. Execution of user programs Allowing an RUIP to run a user program in response to a Finger query is potentially dangerous. BE CAREFUL!! -- the RUIP MUST NOT allow system security to be compromised by that program. Implementing this feature may be more trouble than it is worth, since there are always bugs in operating systems, which could be exploited via this type of mechanism.3.2.6. {U} ambiguity Be aware that a malicious user's clever and/or persistent use of this feature can result in a list of most of the usernames on a system. Refusal of {U} ambiguity should be considered in the same vein as refusal of {C} requests (see section 3.2.2).3.2.7. Audit trails Implementations SHOULD allow system administrators to log Finger queries.3.3. Client security It is expected that there will normally be some client program that the user runs to query the initial RUIP. By default, this program SHOULD filter any unprintable data, leaving only printable 7-bit characters (ASCII 32 through ASCII 126), tabs (ASCII 9), and CRLFs. This is to protect against people playing with terminal escape codes, changing other peoples' X window names, or committing other dastardly or confusing deeds. Two separate user options SHOULD be considered to modify this behavior, so that users may choose to view international or control characters: - one to allow all characters less than ASCII 32 - another to allow all characters greater than ASCII 126 For environments that live and breathe international data, the system administrator SHOULD be given a mechanism to enable the latter option by default for all users on a particular system. This can be done via a global environment variable or similar mechanism.Zimmerman [Page 9]RFC 1196 Finger December 19904. Examples4.1. Example with a null command line ({C})Site: elbereth.rutgers.eduCommand line: <CRLF>Login Name TTY Idle When Officerinehart Mark J. Rinehart p0 1:11 Mon 12:15 019 Hill x3166greenfie Stephen J. Greenfiel p1 Mon 15:46 542 Hill x3074rapatel Rocky - Rakesh Patel p3 4d Thu 00:58 028 Hill x2287pleasant Mel Pleasant p4 3d Thu 21:32 019 Hill 908-932-dphillip Dave Phillips p5 021: Sun 18:24 265 Hill x3792dmk David Katinsky p6 2d Thu 14:11 028 Hill x2492cherniss Cary Cherniss p7 5 Mon 15:42 127 Psychol x2008harnaga Doug Harnaga p8 2:01 Mon 10:15 055 Hill x2351brisco Thomas P. Brisco pe 2:09 Mon 13:37 h055 x2351laidlaw Angus Laidlaw q0 1:55 Mon 11:26 E313C 648-5592cje Chris Jarocha-Ernst q1 8 Mon 13:43 259 Hill x24134.2. Example with name specified ({U}{C})Site: dimacs.rutgers.eduCommand line: pirmann<CRLF>Login name: pirmann In real life: David PirmannOffice: 016 Hill, x2443 Home phone: 989-8482Directory: /dimacs/u1/pirmann Shell: /bin/tcshLast login Sat Jun 23 10:47 on ttyp0 from romulus.rutgers.No unread mailProject:Plan: Work Schedule, Summer 1990 Rutgers LCSR Operations, 908-932-2443 Monday 5pm - 12am Tuesday 5pm - 12am Wednesday 9am - 5pm Thursday 9am - 5pm Saturday 9am - 5pm larf larf hoo hooZimmerman [Page 10]RFC 1196 Finger December 19904.3. Example with ambiguous name specified ({U}{C})Site: elbereth.rutgers.eduCommand line: ron<CRLF>Login name: spinner In real life: Ron SpinnerOffice: Ops Cubby, x2443 Home phone: 463-7358Directory: /u1/spinner Shell: /bin/tcshLast login Mon May 7 16:38 on ttyq7Plan: ught i ca n m a ' ... t I . . i ! m ! ! e p !pool l e HLogin name: surak In real life: Ron SurakOffice: 000 OMB Dou, x9256Directory: /u2/surak Shell: /bin/tcshLast login Fri Jul 27 09:55 on ttyq3No Plan.Login name: etter In real life: Ron EtterDirectory: /u2/etter Shell: /bin/tcshNever logged in.No Plan.4.4. Example of query type {Q2} ({U}{H}{H}{C})Site: dimacs.rutgers.eduCommand line: hedrick@math.rutgers.edu@pilot.njin.net<CRLF>[pilot.njin.net][math.rutgers.edu]Login name: hedrick In real life: Charles HedrickOffice: 484 Hill, x3088Directory: /math/u2/hedrick Shell: /bin/tcshLast login Sun Jun 24 00:08 on ttyp1 from monster-gw.rutgeNo unread mailNo Plan.Zimmerman [Page 11]RFC 1196 Finger December 19905. Acknowledgments Thanks to everyone in the Internet Engineering Task Force for their comments. Special thanks to Steve Crocker for his security recommendations and prose.6. Security Considerations Security issues are discussed in Section 3.7. Author's Address David Paul Zimmerman Center for Discrete Mathematics and Theoretical Computer Science Rutgers University P.O. Box 1179 Piscataway, NJ 08855-1179 Phone: (908)932-4592 EMail: dpz@dimacs.rutgers.eduZimmerman [Page 12]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -