Blob Blame History Raw
<sect1 id="configurations-dialup-usage">

    <title>Usage Convenctions</title>

    <para>
        The infrastructure described in this chapter uses the
        client/server model to provide a public mail service through
        the telephone line. In this configuration, we (the poeple
        building the infrastructure) provide the information you (the
        person using the infrastructure) need to know in order to
        establish a point-to-point connection from your client
        computer to the server computer through the telephone line.
    </para>

    <para>
        The infrastructure described in this chapter is made available
        to you free of charge, however, you should know that
        maintaining it costs both money and time. For example, for
        each hour the server computer is on production there is an
        electrical consume that need to be paid every month.
        Likewise, each call that you establish from your client
        computer to the server computer will cost you money, based on
        the location you made the call from and the time you spend
        connected.
    </para>

    <para>
        In this section we discuss usage convenctions we all must be
        agree with, in order to achieve a practical and secure
        interchange system.
    </para>

    <sect2 id="configurations-dialup-usage-conn">
    <title>Establishing Dial-Up Connections</title>

    <para>
        To establish a dial-up connection to the server computer you
        need to install and configure a Modem device in your client
        computer.  Each operating system has its own way of doing
        this, but if you are using &TCD;, you can use the
        <command>wvdialconf</command> and
        <command>system-config-network</command> commands, as
        described in <xref linkend="configurations-dialup-modem" />.
    </para>

    <para>
        In the configuration process you need to enter the following
        information:
    </para>

<screen>
 ISP Name: server.example.com
ISP Phone: +53043515094
 Username: client.example.com
 Password: mail4u
</screen>

    </sect2>

    <sect2 id="configurations-dialup-usage-connlimits">
    <title>Administering Dial-Up Connections</title>

    <para>
        The lifetime of dial-up connections must be limitted based on
        the number of users you expect to establish connection and the
        kind of services you plan to provide. Using the information
        described in <xref linkend="configurations-dialup-server" />
        as reference, the lifetime of dial-up connections will be 15
        minutes from the moment they were established on. Likewise,
        once the connection has been established, if the link is idle
        for 1 minute, the server computer will close the connection to
        free the telephone line for others to use.
    </para>

    <para>
        The number of consecutive connections realized from the same
        telephone number in a fixed period of time must be also
        controlled in order to reduce Denial of Service (DoS) attacks.
        This way, you can consider an environment where: more than 3
        consecutive connections (that last 15 or less minutes each)
        from the same telephone number in a time range of 60 minutes
        will be taken as a DoS attack from the client computer.  In
        such cases, once the client computer is disconnected from
        server computer, the telephone number originating the call
        won't be able to establish any further connection to the
        server computer in the next 15 minutes since the last it was
        disconnected on.
    </para>

    <note>
    <para>
        In order to achieve an acceptable degree of efficiency when
        controlling consecutive connections from the same telephone
        number, it is required that both the client's telephone number
        and connection times (e.g., when the connection was opened,
        and when it was closed) be registered somehow in the server
        computer (e.g., Is it on pppd's log file?). Without such
        information it would be very difficult to achieve any
        prevention against DoS attacks originated from incoming calls.
    </para>
    </note>

    <para>
        Another issue to consider here is that, in order to realize
        any control over incoming telephone calls, it is required that
        the client computer realizes a telepohne call into the server
        computer to provide the telephone number information and that
        certainly occupies the telephone line until the access control
        actions take place. This could be used by evil users to
        generate DoS attacks (e.g., by configuring a client computer
        to redial the server computer telephone number forever), since
        there is no way to control access at a Modem level without
        occupying the telephone line for a few seconds at least. The
        only change legitimate users have against such evil users'
        attacks would be establish connection before them (e.g., in
        the exact range of time between disconnection and redial).
    </para>
    </sect2>

    <sect2 id="configurations-dialup-usage-users">
    <title>Administering User Profiles</title>

    <para>
        In order for a you to use any service provided by the server
        computer it is required that you get registered a user profile
        first. The user profile provides the user information required
        by services inside the server computer (e.g., username,
        password, e-mail address, telephone number, etc.). To register
        new user profiles, you need to use the web application
        provided by the server computer. For example, assuming the
        domain name of the server computer is <systemitem
        class="domainname">example.com</systemitem>, the URL of the
        web application would be: <ulink
        url="https://example.com/people/?action=register" />.
    </para>
    
    <para>
        To reach the web interface, the first thing you need to do is
        establishing a dial-up connection to the server computer as
        described in <xref
        linkend="configurations-dialup-usage-conn"/>. Once the dial-up
        connection has been established, you need to open a web
        browser (e.g., Firefox) and put the URL mentioned above in the
        address space, and press Enter to go. This will present you a
        list of instructions that will guide you through the
        self-registration process. Other actions like updating or
        deleting your user profile can be also achieved from this web
        interface.
    </para>

    <important>
    <para>
        The web interface used to manage user profiles inside the
        server computer must be presented over an encrypted session in
        order to protect all the information passing through.
    </para>
    </important>

    <para>
        Inside the server computer, all related subsystems in need of
        user information (e.g., Postix, Cyrus-Imapd and Saslauthd)
        retrive user information from one single (LDAP) source. The
        web application provided by the server computer manages all
        these subsystems' configuration files in order to provide a
        pleasant experience for end users.  The web interface must be
        as simple as possible in order to achieve all administration
        tasks in the range of time permitted by the server computer
        before it closes the connection established from the client
        computer.
    </para>

    <para>
        More information about the web interface you need to use to
        manage your user profile inside the server computer can be
        found in <xref linkend="administration-mail" />.
    </para>

    </sect2>

    <sect2 id="configurations-dialup-usage-scope">
    <title>Determining Information Scope</title>

    <para>
        The information generated inside the server computer is
        isolated from Internet. This way, any information generated
        inside the server computer will be available only to people
        registered inside the server computer. For example, don't ever
        expect to send/receive e-mails to/from Internet e-mail
        accounts like Gmail or Yahoo, nor visiting web sites like
        <ulink url="http://www.google.com/">Google</ulink> or <ulink
        url="http://www.wikipedia.org/">Wikipedia</ulink> either. For
        this to happen, it is required an established connection
        between the server computer we are configuring and the
        Internet network we want those services in, but such
        established connection isn't possible in the current
        environment.
    </para>
    </sect2>

    <sect2 id="configurations-dialup-usage-services">
    <title>Determining Provided Services</title>

    <para>
        The implementation of services that required persistent
        connections (e.g., <application>chats</application>) will not
        be considered as a practical offer inside the server computer.
        Instead, only asynchronous services (e.g.,
        <application>e-mail</application>) will be supported. This
        restriction is required to reduce the amount time demanded by
        services. For example, consider an environment where you
        connect to the server computer for sending/receiving e-mails
        messages and then quickly disconnect from it to free the
        telephone line for others to use.  In this environment, there
        is no need for you and other person to be both connected at
        the same time to send/receive e-mail messages to/from each
        other.  The e-mails sent from other person to you will be
        available in your mailbox the next time you get connected to
        the server computer and use your e-mail client to send/receive
        e-mail messages.  Likewise, you don't need to be connected to
        the server computer in order to write your e-mail messages.
        You can write down your messages off-line and then establish
        connection once you've finished writing, just to send them
        out and receive new messages that could have been probably
        sent to you.
    </para>

    <para>
        Another issue related to e-mail exchange is the protocol used
        to receive messages. Presently, there are two popular ways to
        do this, one is through IMAP and another through POP3.  When
        you use IMAP protocol, e-mail messages are retained in the
        server computer and aren't downloaded to client computer.
        Otherwise, when you use POP3 protocol, e-mail messages are
        downloaded to the client computer and removed from server
        computer. Based on the resources we have and the kind of link
        used by the client computer to connect the server computer,
        using POP3 is prefered than IMAP. However both are made
        available.
    </para>

    <para>
        Assuming you use IMAP protocol to read your mailbox, be aware
        that you need to be connected to the server computer.  Once
        the connection is lost you won't be able to read your messages
        (unless your e-mail client possesses a feature that let you
        reading messages off-line). Morover, you run the risk of get
        your mailbox out of space. If your mailbox gets out of space,
        new messages sent to you will not be deliver to your mailbox.
        Instead, they will be deferred for about 5 days hoping you
        free the space in your mailbox to deliver them. If you don't
        free space within this period of time, e-mail messages sent to
        you will be bounced back to their senders.
    </para>

    <para>
        Otherwise, if you use POP3 protocol to read your mailbox, you
        always keep your mailbox free to receive new e-mails messages
        and keep them for you until the next time you establish
        connection with the server computer and download them to your
        client computer using your e-mail client.
    </para>
    </sect2>

    <sect2 id="configuration-dialup-usage-diskspace">
    <title>Determining Disk Space Usage</title>

    <para>
        Assuming you are providing a public service, it is required to
        limit the maximum number of users registered inside the server
        computer, based on the maximum disk space the server computer
        confines to such purpose. For example, consider an environment
        where users can get registered themselves using a web
        interface which requires the web application to know how much
        free space is available before proceeding to register new mail
        accounts inside the server computer; this, to prevent user
        registrations when there isn't enough free space to perform a
        new user registration.  Considering the computer server has
        confined 5GB of disk space to handle the mail service (e.g.,
        mail queues, mailboxes, etc.), if we set 10MB for each user
        account, it will be possible to provide self-registration
        through the web interface for 500 users in total.
    </para>

    <para>
        Another measure related to disk space saving might be to
        remove unused user accounts and their related files (e.g.,
        mailboxes) from the server computer. For example, consider an
        environment where user accounts are automatically removed from
        the server computer when they don't establish a connection
        with the server computer in a period greater than 7 days since
        the last valid connection established to the server computer.
        Once the user account is removed, it is no longer functional
        of course, and the person whom lost the account will need to
        create a new one, assuming it want to have access back to the
        mail service inside the server computer.
    </para>

    </sect2>
        
</sect1>