17 19, -(XON) -(XOFF)) escaped, : Asyncmap 0x000A0000 , MRU, peer HDLC , . MTU ( ), . MTU - kernel , inerface . MRU , remote end , MRU; interface 1500 . MRU , , throughput. , MRU 296 - , , (, FTP ) "jump''. - 155 - pppd MRU 296, mru 296. MRUs, , , ( ). Pppd LCP , , , . & " , , LCP ECHO . PPP , ECHO ECHO. Pppd , , . lcp-echo-interval . , pppd ECHO, , ECHO peer . peer , . lcp-echo-failure. , . 9.9 PPP daemon . , Ethernet ( ). , , PPP . pppd - , root. , setuid root. , pppd - . , , /etc/ppp/options, 9.4. , , - 156 - , . , , PPP . , peer. , IP , . . 9.10 PPP .10.1 CHAP PAP PPP, , peer . - (PAP), (CHAP). , , , , caller callee. " " " " authenticator. PPP daemon peer , LCP , . PAP . , , . eavesdroppers, , , . CHAP . CHAP, authenticator ( ) " challenge'' , hostname. hostname , , challenge, , hashing function. hostname . , . - 157 - CHAP - , , challenges , " ", , . Pppd CHAP PAP , /etc/ppp/chap-secrets pap-secrets . , CHAP PAP , peer, . , pppd remote, remote. CHAP PAP, pppd , . peer , pppd CHAP remote chap, PAP. PAP peer , , , . . , auth , pppd , peer . Pppd CHAP PAP , peer CHAP PAP . , , . pppd (8) . , PPP, , auth /etc/ppp/options chap. CHAP, pap . , , . - 158 - PPP , pap- secrets chap-secrets. " /etc/ppp , , IP. CHAP PAP, , peer, . 9.10.2 CHAP , CHAP, ppd PAP hostname, remote hostname CHAP Challenge. peer , : pppd hostname ( CHAP ) . - chap vlager: (9) # CHAP secrets for vlager.vbrew.com # # client server secret addrs #------------------------------------------------------------------- --- vlager.vbrew.com c3po.lucas.com "Use The Source Luke" vlager.vbrew.com c3po.lucas.com vlager.vbrew.com "riverrun, pasteve" c3po.lucas.com * vlager.vbrew.com "VeryStupidPassword" pub.vbrew.com PPP c3po, c3po vlager , CHAP, CHAP challenge. Pppd chap , vlager.vbrew.com c3po.lucas.com, (10) - 159 - , . CHAP challenge string ( Luke), c3po. , pppd CHAP challenge c3po, challenge string, hostname vlager.vbrew.com. C3po CHAP , , vlager. Pppd hostname (c3po.vbrew.com) , chap , c3po , vlager . pppd CHAP challe pasteve, , 3po CHA . IP, , . dotted quad notation hostnames, . , c3po, IP IPCP , , , IPCP . , , 3po , , - IP . chap PPP vlager hostname. - , , pub.vbrew.com. hostnames - , pppd , / . 9. - , , . 10. hostname CHAP challenge. , , pppd hostnames: . - 160 - , hostncme peer CHAP Challenge Response packet. hostname , gethostname (2) . hostname, pppd . # pppd ...domain vbrew.com Brewery vlager . , progpppd's idea hostname - usehostname name. IP , "local:varremote", local - dotted quad, pppd hostname. , pppd (8). 9.10.3 PAP. PAP , CHAP. ; PAP. remote , ppd , hostname, , . peer , pppd , , remote hostname. PAP : # /etc/ppp/pap-secrets # # user server secret addrs vlager-pap c3po cresspahl vlager.vbrew.com c3po vlager DonaldGNUth c3po.lucas.com , 3. - 161 - , c3po, . vlager-pap , , c3po. , pppd hostname , , , . PAP peer, pppd remote . , , remotename , hostname peer. , c3po, pppd's: \#{} pppd ... remotename c3po user vlager-pap ( ), IP , CHAP. Peer . , , c3po IP. , PAP , , CHAP, . PAP ; PAP, pppd (8). 9.11 PPP pppd, - . , account, ppp, - 162 - script , pppd . , /etc/passwd: " ppp:*:500:200:Public PPP Account:/tmp:/etc/ppp/ppplogin , uids gids , . account, passwd. Ppplogin script : #!/bin/sh # ppplogin - script to fire up pppd on login mesg n stty -echo exec pppd -detach silent modem crtscts mesg , tty, , , . stty - . , peer . pppd, -detach, pppd tty. , , shell script exit. . Silent pppd , , . , PPP DTR , , peer , crtscts . , , , auth pppd's, . . . . - 163 - 10. IP , . , Inetd , rlogin . , , (NFS). (NIS) , briefly. NFS NIS, , . netnews . , . , , , gopher, xmosaic . 10.1 Inetd - , daemons. Daemon , , . , , , . , daemon , , , Un*x " - ", , (2). , - , . -, - inetd, Internet Daemon. , , - 164 - , /etc/inetd.conf. , , inetd, . chargen , daytime system's idea , : service type protocol wait user server cmdline : Service . Service name , services. 10.3. type , ( - ) dgram ( ). TCP , , UDP- dgram. Protocol , . , , . wait dgram . wait nowait. wait , inetd . , . " - " , , . RPC wait. , " " , , ; - 165 - . nowait. nowait. User , . root user, " account. - , account . , NNTP , ( tftp, finger) nobody. server , . cmdline - , . 0, . , , -, . . inetd.conf 10.1. Finger service . , , . Tftp . Tftp , - . /etc/passwd, , . TFTP X . tftpd , , - 166 - , tftpd's . tftp . 10.2 Tcpd  " , , . , , flawed ( RTM Internet worm), , , , . finger tftp . # # inetd services ftp stream tcp nowait root /usr/sbin/ftpd in.ftpd -l telnet stream tcp nowait root /usr/sbin/telnetd in.telnetd - b/etc/issue #finger stream tcp nowait bin /usr/sbin/fingerd in.fingerd #tftp dgram udp wait nobody /usr/sbin/tftpd in.tftpd #tftp dgram udp wait nobody /usr/sbin/tftpd in.tftpd /boot/diskless login stream tcp nowait root /usr/sbin/rlogind in.rlogind shell stream tcp nowait root /usr/sbin/rshd in.rshd exec stream tcp nowait root /usr/sbin/rexecd in.rexecd # # inetd internal services # daytime stream tcp nowait root internal daytime dgram udp nowait root internal time stream tcp nowait root internal time dgram udp nowait root internal echo stream tcp nowait root internal echo dgram udp nowait root internal discard stream tcp nowait root internal - 167 - discard dgram udp nowait root internal chargen stream tcp nowait root internal chargen dgram udp nowait root internal . 15. /etc/inetd.conf file. " " , , inetd . & - tcpd, (1), daemon wrapper. P , . Tcpd syslog daemon, remote , . , udp- . , finger daemon, corresponding inetd.conf 1. Wietse Venema, wietse@wzv.win.tue.nl. # wrap finger daemon finger stream tcp nowait root /usr/sbin/tcpd in.fingerd - access , finger, , syslog's auth facility. , /etc/hosts.allow /etc/hosts.deny. , , . tcpd finger , Biff.foobar.com, hosts.allow hosts.deny ( ) . - 168 - , hosts.deny. hosts.deny, .. , . : Servicelist: hostlist [: shellcmd] Servicelist - /etc/services, ALL. finger tftp, "ALL"EXCGPT finger, tftp''. Hostlist - IP, ALL, LOCAL, UNKNOWN. ALL , LOCAL , .(2) UNKNOWN . Name string, , . ,.foobar.com - Biff.foobar.com. IP (5) . , finger tftp , , /etc/hosts.deny, /etc/hosts.allow: 2. , /etc/hosts . in.tftpd, in.fingerd: ALL EXCEPT LOCAL, .your.domain shellcmd , , . , : in.ftpd: ALL EXCEPT LOCAL, .vbrew.com : \ echo "request from %d@%h" >> /var/log/finger.log; \ - 169 - if [ %h != "vlager.vbrew.com" ]; then \ finger -l @%h >> /var/log/finger.l . . , , Linux . , . # The services file: # # well-known services echo 7/tcp # Echo echo 7/udp # discard 9/tcp sink null # Discard discard 9/udp sink null # daytime 13/tcp # Daytime daytime 13/udp # chargen 19/tcp ttytst source # Character Generator chargen 19/udp ttytst source # ftp-data 20/tcp # File Transfer Protocol (Data) ftp 21/tcp # File Transfer Protocol (Control) telnet 23/tcp # Virtual Terminal Protocol smtp 25/tcp # Simple Mail Transfer Protocol nntp 119/tcp readnews # Network News Transfer Protocol # # UNIX services exec 512/tcp # BSD rexecd biff 512/udp comsat # mail notification login 513/tcp # remote login who 513/udp whod " # remote who and uptime shell 514/tcp cmd # remote command, no passwd used - 170 - syslog 514/udp # remote system logging printer 515/tcp spooler # remote print spooling route 520/udp router routed # routing information protocol , , , ECHO 7 TCP UDP, 512 , daemon ( , xbiff(1x)), UDP, remote execution (rexec(1)), TCP. # # Internet (IP) protocols # ip 0 IP # internet protocol, pseudo protocol number icmp 1 ICMP # internet control message protocol igmp 2 IGMP # internet group multicast protocol tcp 6 TCP # transmission control protocol udp 17 UDP # user datagram protocol raw 255 RAW # RAW IP interface 10.4 - RPC, . RPC Sun Micrsystems, - . , RPC - NFS, Network Filesystem, NIS, Network Information System, . RPC , , RPC , . , , . -, , - 171 - (XDR) , - , RPC call interface. , , original behavior. , RPC , , 1, RPC . , ; . RPC - . RPC ; , . , /etc/rpc, 10.4 TCP/IP , RPC . - , , TCP UDP . , RPC UDP , TCP , , UDP . , . , ; RPC , , " . , RPC , , por - broker RPC , : , - 172 - portmapper , . , , inetd daemon. , , portmapper , RPC ; , RPC , . Linux, portmapper rpc.portmap /usr/sbin. , rc.inet2, ortmapper . 10.5 r remote . - rlogin, rsh, rcp rcmd. remote . , account , . . , , # # /etc/rpc - miscellaenous RPC-based services # portmapper 100000 portmap sunrpc rstatd 100001 rstat rstat svc rup perfmeter rusersd 100002 rusers nfs 100003 nfsprog ypserv 100004 ypprog mountd 100005 mount showmount ypbind 100007 walld 100008 rwall shutdown yppasswdd 100009 yppasswd bootparam 100026 " ypupdated 100028 ypupdate - 173 - . 16. A sample /etc/rpc file. , . , , . , , . , , , . , , , - . , r . - , . /etc/hosts.equiv. , . - - .rhosts . , , symbolic link, r , /etc/hosts.equiv, .rhosts . - , , janet " joe's account euler. , Janet , Joe . - 174 - , Janet $ Rlogin -l joe euler , hosts.equiv (4), Janet , , .Rhosts joe's. hosts.equiv euler : gauss euler -public quark.physics.groucho.edu andres , . , acount . , Janet account janet , root , Janet joe , . , , - accont accony\t root. "", "-". account , , .rhosts. 3. NFS , 444, , NFS. 4. , hosts.equiv - root. - 175 - " / 165 - .rhosts hosts.equiv, . Joe's.rhosts Euler: chomp.cs.groucho.edu gauss janet , joe acess Chomp.cs.groucho.edu, account euler chomp. - , janet account Joe . , . , , failed . : + ( ) . + - , ( , DNS), , , . 11. , - , . stepping stone - 176 - . , , , DNS.