Thread: [Amavisadmin-svn] SF.net SVN: amavisadmin: [42] amavisadmin/branches/documentation_1_0/docs
Status: Beta
Brought to you by:
streindl
From: <str...@us...> - 2007-01-22 22:59:21
|
Revision: 42 http://amavisadmin.svn.sourceforge.net/amavisadmin/?rev=42&view=rev Author: streindl Date: 2007-01-22 14:59:12 -0800 (Mon, 22 Jan 2007) Log Message: ----------- docs/user_guide.xml: Added first draft user user guide docs/installationguide.xml: Several additions related to PostgreSQL Modified Paths: -------------- amavisadmin/branches/documentation_1_0/docs/installationguide.xml Added Paths: ----------- amavisadmin/branches/documentation_1_0/docs/user_guide.xml Modified: amavisadmin/branches/documentation_1_0/docs/installationguide.xml =================================================================== --- amavisadmin/branches/documentation_1_0/docs/installationguide.xml 2007-01-22 17:33:48 UTC (rev 41) +++ amavisadmin/branches/documentation_1_0/docs/installationguide.xml 2007-01-22 22:59:12 UTC (rev 42) @@ -17,7 +17,7 @@ <address><street>Langster Straße 28</street> <postcode>40668</postcode> <city>Meerbusch</city> -<country>Germany></country></address> +<country>Germany</country></address> <email>sr...@sr...</email> </author> @@ -197,6 +197,172 @@ </section> <section> + <title>PostgreSQL database</title> + + <para>This document does not describe how to setup the PostgreSQL + database. For most Microsoft <trademark + class="registered">Windows</trademark> and <trademark + class="registered">Linux</trademark>/<trademark + class="registered">Unix</trademark> distribitions there're binary + packages available (see <ulink + url="http://www.postgresql.org/ftp/binary/">http://www.postgresql.org/ftp/binary/<version></ulink> + for available systems and versions). They can be downloard If you want + (or need) to install PostgreSQL from scratch, the following section in + the PostgreSQL documentation might help: <ulink + url="http://www.postgresql.org/docs/8.1/interactive/installation.html">http://www.postgresql.org/docs/8.1/interactive/installation.html</ulink>.</para> + + <para>For development and testing PostgreSQL release 8.1 has been used. + Other versions might work also but no tests have been done to ensure + working on different releases of PostgreSQL.</para> + + <section> + <title>Creating the database for storing Amavisd-new data</title> + + <para>It makes sense (from performance, sizing and other aspects like + security) to create a separate database that contains the data stored + by Amavisd-new and AmavisAdmin. The database should be accessable only + by superusers and a specific functional account for maximum security. + In addition PostgreSQL offers the possibility to move parts of the + data to other filesystems/paths by using tablespaces.</para> + + <section> + <title>Creating a functional database user</title> + + <para>It makes sense to create a functional user that is used by the + applications (amavisd-new and AmavisAdmin) to connect to the + database. This user created should be able to access the database + only from the IP-addresses used by the applications itself. This + gives some additional security. To create a user, two steps are + neccessary: First the user itself has to be created. Afterwards the + user has to be configured to connect to the database. The second + step depends on your local security, therfore please refer to <ulink + url="http://www.postgresql.org/docs/8.1/interactive/client-authentication.html">http://www.postgresql.org/docs/8.1/interactive/client-authentication.html</ulink> + for details. Creating a user can be done by using the command + <command>createuser</command> that is part of every PostgreSQL + distribution. The following example shows how to create the user + amavis that will be used for administrators and applications to + connect to the database (please replace + <replaceable>superuser</replaceable> with your superuser role + name):</para> + + <screen xml:space="preserve"><prompt>sreindl@linux-fest:~> </prompt><userinput>sudo -u postgres createuser \ +</userinput><prompt>> </prompt><userinput> --no-superuser --no-createrole --no-createdb \ +</userinput><prompt>> </prompt><userinput> --pwprompt --username=<replaceable>superuser</replaceable> --password amavis +</userinput><prompt>Enter password for new role: </prompt><userinput><replaceable><password></replaceable> +</userinput><prompt>Enter it again: </prompt><userinput><replaceable><password></replaceable> +</userinput><prompt>Password:</prompt> <userinput><replaceable><superuserpassword></replaceable> +</userinput><computeroutput>CREATE ROLE +</computeroutput><prompt>sreindl@linux-fest:~> </prompt></screen> + + <para>The first two password prompts are asking for the password for + user <systemitem class="username">amavis</systemitem>, the last + password prompt is asking for the superuser password.</para> + </section> + + <section> + <title>Creating a tablespace</title> + + <para>For maintainability I would suggest to create the database + used for Amavisd-new in a separate tablespace. Creating a tablespace + in PostgreSQL is done in two steps: At first you have to create a + directory in the file system which will contain the tablespace data. + With the Linux/Unix operating system the command might look like + this:</para> + + <programlisting><prompt>$ </prompt><userinput>mkdir -p <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput></programlisting> + + <para>where the path given might even reside on a different machine + (i.e. network file server). On other operating systems this command + might look different or you might even use a graphical user + interface to create the path. After creating the path you have to + change the permissions that only the database server has access to + the created path. This is basically done for security + reasons:</para> + + <programlisting><prompt>$ </prompt><userinput>chown <replaceable>postgres</replaceable> <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput> +<prompt>$ </prompt><userinput>chmod 0700 <replaceable>/srv/db/tablespaces/amavis</replaceable></userinput></programlisting> + + <para>The first command assigns the user postgres (please provide + the user name which has been used to install the postgres database) + to the created path, i.e. change the owner of this path to the + database system. The second command changes the permissions of the + directory in a way that only the PostgreSQL system (and the system + administrator) can access the contents of the directory. Other + operating systems might need other commands to accomplish + this.</para> + + <para>The second step is to actually create the tablespace. This is + done by using database commands. The following example creates a + tablespace <database class="table">tb_admin</database> which points + to the directory created above:</para> + + <para><screen><prompt>sreindl@linux-fest:~></prompt> +<prompt>sreindl@linux-fest:~> </prompt><userinput>psql --username=<replaceable>superuser</replaceable> \</userinput> +<prompt>> </prompt> <userinput>--password postgres</userinput> +<computeroutput>Password for user <replaceable>superuser</replaceable>: +Welcome to psql 8.1.5, the PostgreSQL interactive terminal. + +Type: \copyright for distribution terms + \h for help with SQL commands + \? for help with psql commands + \g or terminate with semicolon to execute query + \q to quit + +</computeroutput><prompt>postgres=# </prompt><userinput>CREATE TABLESPACE <replaceable>tb_amavis</replaceable> </userinput> +<prompt>postgres-# </prompt><userinput> OWNER amavis </userinput> +<prompt>postgres-# </prompt><userinput> LOCATION '<replaceable>/srv/db/tablespaces/amavis</replaceable>';</userinput> +<computeroutput>CREATE TABLE</computeroutput> +<prompt>postgres=#</prompt></screen></para> + </section> + + <section> + <title>Creating the database</title> + + <para>After doing the preparation steps described in the sections + above, the final step is to create the actual database. This can be + done by using the command <command>createdb</command> or by using + SQL commands entered into the PostgreSQL frontent + <command>psql</command>. The database encoding can be of any type as + the mail text itself is stored as a binary field and therefore + there's no need to use binary encoding for the database. The + following command creates the database <database + class="name">amavis</database> for user <database + class="user">amavis</database> in tablespace <database + class="table">tb_amavis</database>:</para> + + <screen><prompt>sreindl@linux-fest:~> </prompt><userinput>createdb --tablespace=tb_admin \ +</userinput><prompt>> </prompt><userinput> --owner=amavis \ +</userinput><prompt>> </prompt><userinput> --echo \ +</userinput><prompt>> </prompt><userinput> --user=superuser \ +</userinput><prompt>> </prompt><userinput> --password +</userinput><prompt>Password:</prompt> <userinput><replaceable><password></replaceable></userinput> +<computeroutput>CREATE DATABASE</computeroutput> +<prompt>sreindl@linux-fest:~> </prompt> +</screen> + + <para>A similar command on the psql command line would be</para> + + <screen><prompt>postgres=# </prompt><userinput>CREATE DATABASE amavis OWNER amavis TABLESPACE tb_amavis;</userinput> +<computeroutput>CREATE DATABASE</computeroutput> +<prompt>postgres=#</prompt></screen> + </section> + </section> + + <section> + <title>Create SQL data model</title> + + <para>With the Amavisd-new distribution, a README-file is distributed + that contains a sample data model. As this data model is mixed + together with MySQL comments, a clean version for PostgreSQL is + provided in appendix <xref linkend="app-postgres-ddl" />. To apply + this file, please use the <command>\i</command> command while + executing <command>psql</command>:<screen><prompt>postgres=# </prompt><userinput>\i ddlfile.sql</userinput> +<computeroutput>...</computeroutput> +<prompt>postgres=#</prompt></screen></para> + </section> + </section> + + <section> <title>Amavisd-new</title> <para>The Amavisd-new application can be downloaded from the <ulink @@ -253,4 +419,183 @@ </calloutlist> </section> </section> + + <appendix id="app-postgres-ddl"> + <title>Sample PostgreSQL DDL script</title> + + <para><screen linenumbering="numbered" width="132">-- local users +CREATE TABLE users ( + id SERIAL NOT NULL, -- unique id + priority integer NOT NULL DEFAULT '7', -- sort field, 0 is low prior. + policy_id integer unsigned NOT NULL DEFAULT '1', -- JOINs with policy.id + email varchar(255) NOT NULL UNIQUE, + fullname varchar(255) DEFAULT NULL, -- not used by amavisd-new + local char(1), -- Y/N (optional field, see note further down) + PRIMARY KEY (id); +); + +-- any e-mail address (non- rfc2822-quoted), external or local, +-- used as senders in wblist +CREATE TABLE mailaddr ( + id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, + priority integer NOT NULL DEFAULT '7', -- 0 is low priority + email varchar(255) NOT NULL UNIQUE +); + +-- per-recipient whitelist and/or blacklist, +-- puts sender and recipient in relation wb (white or blacklisted sender) +CREATE TABLE wblist ( + rid integer unsigned NOT NULL, -- recipient: users.id + sid integer unsigned NOT NULL, -- sender: mailaddr.id + wb varchar(10) NOT NULL, -- W or Y / B or N / space=neutral / score + PRIMARY KEY (rid,sid) +); + +CREATE TABLE policy ( + id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, + -- 'id' this is the _only_ required field + policy_name varchar(32), -- not used by amavisd-new, a comment + + virus_lover char(1) default NULL, -- Y/N + spam_lover char(1) default NULL, -- Y/N + banned_files_lover char(1) default NULL, -- Y/N + bad_header_lover char(1) default NULL, -- Y/N + + bypass_virus_checks char(1) default NULL, -- Y/N + bypass_spam_checks char(1) default NULL, -- Y/N + bypass_banned_checks char(1) default NULL, -- Y/N + bypass_header_checks char(1) default NULL, -- Y/N + + spam_modifies_subj char(1) default NULL, -- Y/N + + virus_quarantine_to varchar(64) default NULL, + spam_quarantine_to varchar(64) default NULL, + banned_quarantine_to varchar(64) default NULL, + bad_header_quarantine_to varchar(64) default NULL, + clean_quarantine_to varchar(64) default NULL, + other_quarantine_to varchar(64) default NULL, + + spam_tag_level float default NULL, -- higher score inserts spam info headers + spam_tag2_level float default NULL, -- inserts 'declared spam' header fields + spam_kill_level float default NULL, -- higher score triggers evasive actions + -- e.g. reject/drop, quarantine, ... + -- (subject to final_spam_destiny setting) + spam_dsn_cutoff_level float default NULL, + spam_quarantine_cutoff_level float default NULL, + + addr_extension_virus varchar(64) default NULL, + addr_extension_spam varchar(64) default NULL, + addr_extension_banned varchar(64) default NULL, + addr_extension_bad_header varchar(64) default NULL, + + warnvirusrecip char(1) default NULL, -- Y/N + warnbannedrecip char(1) default NULL, -- Y/N + warnbadhrecip char(1) default NULL, -- Y/N + newvirus_admin varchar(64) default NULL, + virus_admin varchar(64) default NULL, + banned_admin varchar(64) default NULL, + bad_header_admin varchar(64) default NULL, + spam_admin varchar(64) default NULL, + spam_subject_tag varchar(64) default NULL, + spam_subject_tag2 varchar(64) default NULL, + message_size_limit integer default NULL, -- max size in bytes, 0 disable + banned_rulenames varchar(64) default NULL -- comma-separated list of ... + -- names mapped through %banned_rules to actual banned_filename tables +); + +-- R/W part of the dataset (optional) +-- May reside in the same or in a separate database as lookups database; +-- REQUIRES SUPPORT FOR TRANSACTIONS; specified in @storage_sql_dsn +-- +-- Please create additional indexes on keys when needed, or drop suggested +-- ones as appropriate to optimize queries needed by a management application. +-- See your database documentation for further optimization hints. + +-- provide unique id for each e-mail address, avoids storing copies +CREATE TABLE maddr ( + id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, + email varchar(255) NOT NULL UNIQUE, -- full mail address + domain varchar(255) NOT NULL -- only domain part of the email address + -- with subdomain fields in reverse +) ENGINE=InnoDB; + +-- information pertaining to each processed message as a whole; +-- NOTE: records with NULL msgs.content should be ignored by utilities, +-- as such records correspond to messages just being processes, or were lost +-- NOTE: with PostgreSQL, instead of a character field time_iso, please use: +-- time_iso TIMESTAMP WITH TIME ZONE NOT NULL, +-- NOTE: with MySQL, instead of a character field time_iso, one might prefer: +-- time_iso TIMESTAMP NOT NULL DEFAULT 0, +-- but the following MUST then be set in amavisd.conf: $timestamp_fmt_mysql=1 +CREATE TABLE msgs ( + mail_id varchar(12) NOT NULL PRIMARY KEY, -- long-term unique mail id + secret_id varchar(12) DEFAULT '', -- authorizes release of mail_id + am_id varchar(20) NOT NULL, -- id used in the log + time_num integer unsigned NOT NULL, -- rx_time: seconds since Unix epoch + time_iso char(16) NOT NULL, -- rx_time: ISO8601 UTC ascii time + sid integer unsigned NOT NULL, -- sender: maddr.id + policy varchar(255) DEFAULT '', -- policy bank path (like macro %p) + client_addr varchar(255) DEFAULT '', -- SMTP client IP address (IPv4 or v6) + size integer unsigned NOT NULL, -- message size in bytes + content char(1), -- content type: V/B/S/s/M/H/O/C: + -- virus/banned/spam(kill)/spammy(tag2) + -- /bad mime/bad header/oversized/clean + -- is NULL on partially processed mail + quar_type char(1), -- quarantined as: ' '/F/Z/B/Q/M + -- none/file/zipfile/bsmtp/sql/mailbox + quar_loc varchar(255) DEFAULT '', -- quarantine location (e.g. file) + dsn_sent char(1), -- was DSN sent? Y/N/q (q=quenched) + spam_level float, -- SA spam level (no boosts) + message_id varchar(255) DEFAULT '', -- mail Message-ID header field + from_addr varchar(255) DEFAULT '', -- mail From header field, UTF8 + subject varchar(255) DEFAULT '', -- mail Subject header field, UTF8 + host varchar(255) NOT NULL, -- hostname where amavisd is running + FOREIGN KEY (sid) REFERENCES maddr(id) ON DELETE RESTRICT +) ENGINE=InnoDB; +CREATE INDEX msgs_idx_sid ON msgs (sid); +CREATE INDEX msgs_idx_time_num ON msgs (time_num); +-- alternatively when purging based on time_iso (instead of msgs_idx_time_num): +-- CREATE INDEX msgs_idx_time_iso ON msgs (time_iso); + +-- per-recipient information related to each processed message; +-- NOTE: records in msgrcpt without corresponding msgs.mail_id record are +-- orphaned and should be ignored and eventually deleted by external utilities +CREATE TABLE msgrcpt ( + mail_id varchar(12) NOT NULL, -- (must allow duplicates) + rid integer unsigned NOT NULL, -- recipient: maddr.id (dupl. allowed) + ds char(1) NOT NULL, -- delivery status: P/R/B/D/T + -- pass/reject/bounce/discard/tempfail + rs char(1) NOT NULL, -- release status: initialized to ' ' + bl char(1) DEFAULT ' ', -- sender blacklisted by this recip + wl char(1) DEFAULT ' ', -- sender whitelisted by this recip + bspam_level float, -- spam level + per-recip boost + smtp_resp varchar(255) DEFAULT '', -- SMTP response given to MTA + FOREIGN KEY (rid) REFERENCES maddr(id) ON DELETE RESTRICT, + FOREIGN KEY (mail_id) REFERENCES msgs(mail_id) ON DELETE CASCADE +) ENGINE=InnoDB; +CREATE INDEX msgrcpt_idx_mail_id ON msgrcpt (mail_id); +CREATE INDEX msgrcpt_idx_rid ON msgrcpt (rid); + +-- mail quarantine in SQL, enabled by $*_quarantine_method='sql:' +-- NOTE: records in quarantine without corresponding msgs.mail_id record are +-- orphaned and should be ignored and eventually deleted by external utilities +CREATE TABLE quarantine ( + mail_id varchar(12) NOT NULL, -- long-term unique mail id + chunk_ind integer unsigned NOT NULL, -- chunk number, starting with 1 + mail_text blob NOT NULL, -- store mail as chunks (in PostgreSQL use: bytea) + PRIMARY KEY (mail_id,chunk_ind), + FOREIGN KEY (mail_id) REFERENCES msgs(mail_id) ON DELETE CASCADE +) ENGINE=InnoDB; + +-- field msgrcpt.rs is primarily intended for use by quarantine management +-- software; the value assigned by amavisd is a space; +-- a short _preliminary_ list of possible values: +-- 'V' => viewed (marked as read) +-- 'R' => released (delivered) to this recipient +-- 'p' => pending (a status given to messages when the admin received the +-- request but not yet released; targeted to banned parts) +-- 'D' => marked for deletion; a cleanup script may delete it + +</screen></para> + </appendix> </article> \ No newline at end of file Added: amavisadmin/branches/documentation_1_0/docs/user_guide.xml =================================================================== --- amavisadmin/branches/documentation_1_0/docs/user_guide.xml (rev 0) +++ amavisadmin/branches/documentation_1_0/docs/user_guide.xml 2007-01-22 22:59:12 UTC (rev 42) @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" +"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> +<article> + <articleinfo> + <title>AmavisAdmin</title> + + <subtitle>User Manual</subtitle> + + <author> + <firstname>Stephen</firstname> + + <surname>Reindl</surname> + + <address><street>Langster Str. 28</street> +<postcode>40668</postcode> <city>Meerbusch</city> +<country>Germany</country></address> + + <email>sr...@sr...</email> + </author> + + <pubdate>February 2007</pubdate> + + <copyright> + <year>2006</year> + + <year>2007</year> + + <holder>Stephen Reindl</holder> + </copyright> + + <legalnotice> + <para>Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. You may + obtain a copy of the License at</para> + + <para><ulink + url="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</ulink></para> + + <para>Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an "AS IS" + BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. See the License for the specific language governing permissions + and limitations under the License.</para> + </legalnotice> + + <revhistory> + <revision> + <revnumber>0.1</revnumber> + + <date>2007-01-22</date> + + <authorinitials>sr</authorinitials> + + <revdescription> + <para>Initial document</para> + </revdescription> + </revision> + </revhistory> + </articleinfo> + + <section> + <title>Preface</title> + + <para>This document describes how to use AmavisAdmin from a user's + perspective. As the AmavisAdmin can be used by both, regular users and + adminstrators, there's no specific document for administration of + AmavisAdmin. Specific details about configuration and scheduling can be + found in the <citetitle id="ref-installation-manual">installation + manual</citetitle>.</para> + + <section> + <title>Bibliography</title> + + <bibliography> + <biblioentry id="maler96"> + <title>From Text to Model to Markup</title> + + <subtitle></subtitle> + </biblioentry> + </bibliography> + + <para></para> + </section> + </section> +</article> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <str...@us...> - 2007-01-28 11:19:34
|
Revision: 55 http://amavisadmin.svn.sourceforge.net/amavisadmin/?rev=55&view=rev Author: streindl Date: 2007-01-28 03:19:34 -0800 (Sun, 28 Jan 2007) Log Message: ----------- Further documentation changes Modified Paths: -------------- amavisadmin/branches/documentation_1_0/docs/user_guide.xml Added Paths: ----------- amavisadmin/branches/documentation_1_0/docs/architecture.sdr Added: amavisadmin/branches/documentation_1_0/docs/architecture.sdr =================================================================== (Binary files differ) Property changes on: amavisadmin/branches/documentation_1_0/docs/architecture.sdr ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: amavisadmin/branches/documentation_1_0/docs/user_guide.xml =================================================================== --- amavisadmin/branches/documentation_1_0/docs/user_guide.xml 2007-01-27 12:17:28 UTC (rev 54) +++ amavisadmin/branches/documentation_1_0/docs/user_guide.xml 2007-01-28 11:19:34 UTC (rev 55) @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> -<article> - <articleinfo> +<book> + <bookinfo> <title>AmavisAdmin</title> <subtitle>User Manual</subtitle> @@ -48,7 +48,7 @@ <revision> <revnumber>0.1</revnumber> - <date>2007-01-22</date> + <date>2007-01-28</date> <authorinitials>sr</authorinitials> @@ -57,9 +57,9 @@ </revdescription> </revision> </revhistory> - </articleinfo> + </bookinfo> - <section> + <preface> <title>Preface</title> <para>This document describes how to use AmavisAdmin from a user's @@ -69,18 +69,115 @@ found in the <citetitle id="ref-installation-manual">installation manual</citetitle>.</para> - <section> - <title>Bibliography</title> + <para>The manual is splitted into two major parts:</para> - <bibliography> - <biblioentry id="maler96"> - <title>From Text to Model to Markup</title> + <orderedlist> + <listitem> + <para>The first part describes how to use and work with + AmavisAdmin</para> + </listitem> - <subtitle></subtitle> - </biblioentry> - </bibliography> + <listitem> + <para>The second part describes how to adminstrate AmavisAdmin</para> + </listitem> + </orderedlist> + </preface> - <para></para> - </section> - </section> -</article> \ No newline at end of file + <part id="part-how-to-use"> + <title>How to use AmavisAdmin</title> + + <partintro> + <para>This part shows how to use AmavisAdmin as a regular user. It + describes all the standard use cases and helps to understand how + AmavisAdmin is working.</para> + + <para>In addition, <xref linkend="chp-what-is-amavisadmin" /> describes + how AmavisAdmin is working and how it interacts with the current + system.</para> + </partintro> + + <chapter id="chp-what-is-amavisadmin"> + <title>What is AmavisAdmin</title> + + <para>AmavisAdmin is a tool desiged to support you in handling SPAM, + virus or mails with banned attachments. Basically Amavisd-new (the SPAM + and virus filter that is used in your network to prevent you from + reciving malcious mails) is storing all mails that are not delivered to + a user in a database. It is now up to the user to decide if the mails + that have been blocked are going to be release (i.e. sent anyhow) or if + they can be deleted from the system. For security reasons mails are not + delivered automatically in case the user has requested to release the + mail. They are marked with a special status and are going to be released + only after an administrator has approved the request.</para> + + <figure id="fig-architecture"> + <title>Architecture of a system receiving mails and processing them + trough Amavisd-new</title> + + <mediaobject> + <imageobject> + <imagedata fileref="architecture.png" /> + </imageobject> + </mediaobject> + </figure> + + <para>Figure xx gives an overview about the general architecture + and how AmavisAdmin fits into the figure. The flow for incoming mails + (either internet or intranet) is as follows:</para> + + <procedure> + <step> + <para>The postfix daemon accepts an incoming mail. First basic + checks are done like correct mail header, relay checks, ...</para> + </step> + + <step> + <para>Postfix sends the mail towards amavis for further checks. + Amavis does several checks now to analyse the mail (e.g. checking + for banned attachments, does the mail contain virus).</para> + + <substeps> + <step> + <para>The Virus-Scanner checks in parallel if the mail contains + any known virus.</para> + </step> + </substeps> + </step> + + <step> + <para>After performing the checks, general mail informartion is + stored in the quarantine database. If the mail is containing + problematic contents (i.e. viruses, SPAM, banned attachments,) also + the mail content is stored in the database. </para> + </step> + + <step> + <para>Amavis now is either sending the mail contents back to Postfix + to deliver the mail to the user or in case the mail has been + rejected (i.e. a virus mail or banned content,) the user gets an + information about what happened to his mail.</para> + </step> + + <step> + <para>Postfix is delivering the mail now to the IMAP-Server that is + responsible for sending the mail to the user's mail box.</para> + </step> + + <step> + <para>After the mail is stored in the user's mail box, the user can + read his mail or informational mail.</para> + </step> + </procedure> + </chapter> + + <chapter> + <title>Logging in</title> + + <section> + <title>Logging in the first time</title> + + <para></para> + </section> + </chapter> + </part> +</book> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <str...@us...> - 2007-01-28 16:57:18
|
Revision: 59 http://amavisadmin.svn.sourceforge.net/amavisadmin/?rev=59&view=rev Author: streindl Date: 2007-01-28 08:57:16 -0800 (Sun, 28 Jan 2007) Log Message: ----------- First valid parts of user guide Modified Paths: -------------- amavisadmin/branches/documentation_1_0/docs/user_guide.xml Added Paths: ----------- amavisadmin/branches/documentation_1_0/docs/architecture.png Added: amavisadmin/branches/documentation_1_0/docs/architecture.png =================================================================== (Binary files differ) Property changes on: amavisadmin/branches/documentation_1_0/docs/architecture.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: amavisadmin/branches/documentation_1_0/docs/user_guide.xml =================================================================== --- amavisadmin/branches/documentation_1_0/docs/user_guide.xml 2007-01-28 16:44:38 UTC (rev 58) +++ amavisadmin/branches/documentation_1_0/docs/user_guide.xml 2007-01-28 16:57:16 UTC (rev 59) @@ -111,20 +111,20 @@ only after an administrator has approved the request.</para> <figure id="fig-architecture"> - <title>Architecture of a system receiving mails and processing them - trough Amavisd-new</title> + <title>Architecture of a system receiving mails and processing them + trough Amavisd-new</title> - <mediaobject> - <imageobject> - <imagedata fileref="architecture.png" /> - </imageobject> - </mediaobject> + <mediaobject> + <imageobject> + <imagedata fileref="architecture.png" /> + </imageobject> + </mediaobject> </figure> - - <para>Figure xx gives an overview about the general architecture - and how AmavisAdmin fits into the figure. The flow for incoming mails - (either internet or intranet) is as follows:</para> + <para><xref linkend="fig-architecture" /> gives an overview about the + general architecture and how AmavisAdmin fits into the figure. The flow + for incoming mails (either internet or intranet) is as follows:</para> + <procedure> <step> <para>The postfix daemon accepts an incoming mail. First basic @@ -148,7 +148,7 @@ <para>After performing the checks, general mail informartion is stored in the quarantine database. If the mail is containing problematic contents (i.e. viruses, SPAM, banned attachments,) also - the mail content is stored in the database. </para> + the mail content is stored in the database.</para> </step> <step> @@ -168,14 +168,45 @@ read his mail or informational mail.</para> </step> </procedure> + + <para>Assume a customer complains about a problem in one of your + products and you can immediately fix the problem and for customer + statisfaction, you are going to deliver a hot fix to the customer via + e-mail. While sending the file, the Amavisd-new scanner will reject the + delivery of the file as it contains an executable which are rejected by + your companies security policies.</para> + + <para>You can now log in into AmavisAdmin and you will immediately see + this (and probably other) blocked e-mail and as in this case you have a + reason to let this mail pass through to the customer, you will ask for + releasing the mail. This request will then pass to an admin who will + then approve (or reject) the request. After approval the AmavisAdmin + daemon will pass the mail trough Amavisd-new as if the mail would have + never been blocked.</para> + + <para>AmavisAdmin does a couple of other things, for example keeping the + database reasonable small by removing old mails, informing users and + adminstrators about new mails to be handled or approved, ...</para> + + <para>The advantage of AmavisAdmin is that there's no need to change the + existing flow or policies of handling SPAM/virus mails in the company. + By doing minor modifications in the Amavisd-new configuration (if + there's a SQL server in the loop already) you can incorporate + AmavisAdmin immediately. For details please refer to the installation + manual and the administration part later in this document.</para> </chapter> <chapter> <title>Logging in</title> <section> - <title>Logging in the first time</title> + <title>Connecting to AmavisAdmin</title> + <para>AmavisAdmin (from the user's perspecive) is a web application + that can be used from everywhere by connecting to a specific web page. + This can be done using your favourite web-browser to connect to the + AmavisAdmin landing page:</para> + <para></para> </section> </chapter> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |