GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Configurez Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise

Comprend :Shorewall, NAT, Caching NameServer, DHCP Server, VPN Server, Webmin, Munin, Apache (SSL activé), Squirrelmail, Postfix setup with virtual domains, courier imap imaps pop3 pop3s, sasl authentication for road warriors, MailScanner as un wrapper pour SpamAssassin, Razor, ClamAV, etc. Samba installé, non configuré.

Nécessite très peu d'entretien et est extensible au-delà de votre imagination la plus folle. Tout dépend du matériel utilisé, bien sûr.

Il s'agit simplement d'un tutoriel COPIER-COLLER. Pour plus d'informations, utilisez le net. Je l'ai fait... Cependant, les contributions et les suggestions sont toujours les bienvenues ! Je sais que cela peut être mieux fait, alors n'hésitez pas.

J'aurais dû baser ce tuto sur la 6.06 LTS tout de suite, à cause de la LTS. Désolé. En raison de quelques modifications mineures mais importantes nécessaires pour que cela fonctionne avec Ubuntu 6.06 LTS, je l'ai réécrit.

Si quelqu'un d'entre vous peut trouver le temps d'ajouter une bonne installation et une bonne configuration pour snort ET snortsam, y compris un panneau de contrôle complet, je vous en serais reconnaissant.

Portée :création d'un pare-feu/passerelle (de messagerie) pour un petit réseau (par exemple, 10 à 15 utilisateurs environ sur un PIII 450 MHz, 512 Mo de RAM et deux cartes d'interface réseau identiques, connexion haut débit, toutes fonctionnalités, pour un environnement professionnel. Meilleures spécifications de votre matériel (notamment la quantité de ram) améliorera significativement les performances de votre serveur. Les spécifications mentionnées sont un strict minimum pour les clients peu exigeants, juste pour indiquer que si vous le souhaitez vraiment, cela peut effectivement être fait (besoin de faire quelques ajustements par la suite).

Public attendu :(débutant) sysop.

Ce tuto mène vers un système 'prêt à l'emploi' solide. La partie amusante, je pense, (ajustement et réglage, etc.) commence lorsque vous avez terminé. Vous voudrez peut-être inspecter vos journaux pour trouver des indices sur l'endroit où le réglage doit commencer. Munin pourrait également vous en dire beaucoup.

Amusez-vous !

Tout d'abord, effectuez une installation propre à l'aide d'Ubuntu-Server 6.06 LTS. Lors de l'installation, les paramètres appropriés pour eth0 seront automatiquement détectés. Si cela échoue, changez vos câbles réseau et réessayez. Il y a une très petite chance que votre FAI n'exécute pas de serveur DHCP (jamais vu cela se produire), ou qu'il soit simplement en panne (vu que plusieurs fois, ils peuvent également bousiller leur DNS de temps en temps), dans auquel cas vous êtes sur le vôtre, mieux vaut attendre qu'ils aient fini de le réparer. Nous commençons donc avec une adresse DHCP attribuée pour eth0. C'est juste un moyen facile de déterminer quelle carte réseau est en fait eth0. Si vous savez déjà lequel est lequel, vous feriez mieux de commencer avec une adresse statique pour eth0. Si votre FAI n'est pas merdique, vous avez les paramètres appropriés pour cela.

Continuez maintenant et acceptez toutes les valeurs par défaut (mais vous voudrez peut-être faire votre propre partitionnement), n'installez pas LAMP.

Connectez-vous maintenant en tant que nouvel utilisateur que vous venez de créer et faites :

sudo passwd

Saisissez à nouveau votre mot de passe. Entrez ensuite le nouveau mot de passe pour l'utilisateur "root" et confirmez. Nous avons donc abandonné l'expérience désagréable de sudo (un peu étrange sur un serveur, n'est-ce pas ?) Maintenant, déconnectez-vous et reconnectez-vous en tant que root avec le nouveau mot de passe root.

À l'aide de vim (ou de votre éditeur préféré), modifiez /etc/apt/sources.list. Commentez le référentiel cd. Ensuite, ajoutez "universe" (sans les guillemets) à toutes les lignes qui ne sont pas commentées et décommentez les référentiels de rétroportage. Enregistrez le fichier.

Modifiez /etc/network/interfaces et ajoutez ce qui suit en bas :

auto eth1iface eth1 inet adresse statique 192.168.1.1 masque de réseau 255.255.255.0 diffusion 192.168.1.255 réseau 192.168.1.0

Notez que le reste de ce tuto suppose que vous effectuez réellement les réglages pour eth1 comme indiqué.

Mon /etc/network/interfaces complet ressemble à ceci :

# Ce fichier décrit les interfaces réseau disponibles sur votre système# et comment les activer. Pour plus d'informations, voir interfaces(5) />

Comme vous pouvez le voir, mon eth0 obtient ses paramètres à l'aide de DHCP.

Enregistrez le fichier. Faites ensuite :

apt-obtenir la mise à jour
apt-get install openssh-server
apt-get upgrade

Au cours du processus de mise à niveau, une nouvelle image du noyau est installée. Alors faites ensuite :

redémarrer

Vous pouvez faire le reste à partir de votre poste de travail, Linux ou l'autre (doit avoir du mastic), vous pouvez donc copier et coller. Connectez-vous simplement à 192.168.1.1 en tant que root et continuez.

Assurez-vous que les paramètres réseau de votre poste de travail correspondent aux paramètres de l'eth1 de votre serveur

Si vous êtes confus ici, configurez et démarrez d'abord votre serveur DHCP comme indiqué dans cet article, et laissez votre poste de travail détecter automatiquement les paramètres appropriés.

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise - Page 2

Faites maintenant :

apt-get install libmd5-perl libnet-ssleay-perl libauthen-pam-perl libio-pty-perl shorewall dnsmasq openssl
wget http://surfnet.dl.sourceforge.net/sourceforge/webadmin/webmin_1.390_all.deb

"surfnet" est le serveur néerlandais. Changez cela en "heanet" (pour l'Irlande), "belnet" (pour la Belgique), "mesh" (pour l'Allemagne) et ainsi de suite.

dpkg -i webmin_1.390_all.deb
cp /usr/share/doc/shorewall/examples/two-interfaces/* /etc/shorewall/
cd /etc/shorewall
gunzip interfaces.gz masq.gz rules.gz

Ouvrez maintenant votre navigateur et connectez-vous à webmin à l'adresse https://192.168.1.1:10000 en tant que root avec votre mot de passe root et, en utilisant le module shorewall de webmin, modifiez la politique et les règles de votre pare-feu selon vos besoins (pour l'instant, je n'ai défini que les règles fichier à l'exemple comme indiqué, vous pouvez copier et coller mon fichier de règles pour commencer, si vous n'aimez pas webmin).

Définissez également dans /etc/shorewall/shorewall.conf  la ligne "IP_FORWARDING=Keep"  sur  "IP_FORWARDING=On" (sans les guillemets)
et activez le pare-feu dans /etc/default/shorewall.

Mon /etc/shorewall/rules ressemble maintenant à ceci :

############################################## ################################################# ############
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP
# PORT PORT(S) DEST LIMIT GROUP
#
# Accepter les connexions DNS du pare-feu au réseau
#
DNS/ACCEPT $FW net
ACCEPT $FW net all
ACCEPT $FW loc all
ACCEPT loc $FW all
#
# Accepte les connexions SSH du réseau local pour l'administration
#
SSH/ACCEPT loc $FW
#
# Autoriser le ping depuis le réseau local
#
Ping/ACCEPT loc $FW
#
# Rejeter le ping depuis la "mauvaise" zone réseau.. et empêchez votre journal d'être inondé. - AJOUTEZ VOS ENTRÉES AVANT CELLE-CI -- NE PAS ENLEVER
Faites ensuite :
rm /etc/shorewall/README.txt Makefile
/etc/init.d/shorewall start

Vous devriez maintenant pouvoir surfer sur le net.

NE POURSUIVEZ PAS AVANT D'AVOIR RÉUSSI À SURFER SUR LE NET. PUISQUE CECI EST VOTRE CADRE. TOUT DOIT ÊTRE CORRECT.

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise - Page 3

Alors maintenant, nous avons besoin de quelques paquets. Faites (tout en une seule ligne !) :

apt-get install clamav-daemon xfsdump razor pyzor mailscanner spamc spamassassin postfix courier-authmysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl libsasl2-modules-sql sasl2-bin libpam-mysql build-essential dpkg-dev fakeroot debhelper libdb4.2-dev libgdbm-dev libldap2-dev libpcre3-dev libmysqlclient12-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch zoo unzip arj rdate fetchmail zip ncftp zlib1g-dev libpopt-dev nmap lynx fileutils curl imagemagick squirrelmail squirrelmail-locales munin munin-node ntp nfs-kernel-server samba unzoo mysql-server mysql-client libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4- domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl php-pear mailx libzzip-dev libgmp3c2 libgmp3-dev dhcp3-server pptpd

Acceptez toutes les valeurs par défaut.

Faites maintenant :

mysqladmin -u root password yourrootsqlpassword

UTILISEZ UN VRAI MOT DE PASSE ICI !

Configurez maintenant Apache et Squirrelmail.

/usr/sbin/squirrelmail-configure

Réglez-le sur courrier (option D) et faites-le autrement comme vous le souhaitez.
N'oubliez pas d'activer certains plugins et de définir une langue par défaut si vous le souhaitez. Je suggère également de définir ceci :

$show_contain_subfolders_option =vrai ;

Mon fichier /etc/squirrelmail/config.php ressemble maintenant à ceci :(Juste ma configuration actuelle. Ne copiez pas ceci, utilisez-le comme référence.)


/**
* Fichier de configuration SquirrelMail
* Créé à l'aide du script configure, conf.pl
*/

global $version ;
$config_version ='1.4.0' ;
$config_use_color =2 ;

$org_name ="Lürsen";
$org_logo =SM_CHEMIN . 'images/sm_logo.png';
$org_logo_width ='564';
$org_logo_height ='261';
$org_title ="Lürsen";
$signout_page ='https ://lursen.net/webmail';
$frame_top ='_top';

$provider_uri ='http://www.squirrelmail.org/';

$provider_name ='SquirrelMail';

$motd ="";

$squirrelmail_default_language ='nl_NL';
$default_charset ='iso-8859 -1';
$lossy_encoding =false;

$domain ='lursen.net';
$imapServerAddress ='localhost';
$imapPort =143;
$useSendmail =false ;
$smtpServerAddress ='localhost' ;
$smtpPort =25 ;
$sendmail_path ='/usr/sbin/sendmail' ;
$ sendmail_args ='-i -t';
$pop_before_smtp =false;
$imap_server_type ='courier';
$invert_time =false;
$optional_delimiter ='.';
$encode_header_key ='';

$default_folder_prefix ='INBOX.';
$trash_folder ='Trash';
$sent_folder ='Envoyé';
$draft_folder ='Brouillons';
$default_move_to_trash =true;
$default_move_to_sent =true;
$default_save_as_draft =true;
$show_prefix_option =false;
$list_special_folders_first =true;
$use_special_folder_color =true;
$auto_expunge =true;
$default_sub_of_inbox =false;
$show_contain_subfolders_option =true;
$default_unseen_notify =2;
$default_unseen_type =1;
$ auto_create_special =vrai;
$delete_folder =vrai;
$noselect_fix_enable =faux;

$data_dir ='/var/lib/squirrelmail/data/';
$ attachment_dir ='/var/spool/squirrelmail/attach/';
$dir_hash_level =0;
$default_left_size ='150';
$force_username_lowercase =false;
$default_use_priority =true;
$hide_sm_attributions =false;
$default_use_mdn =true;
$edit_identity =vrai;
$edit_name =vrai;
$hide_auth_header =faux;
$allow_thread_sort =faux;
$allow_server_sort =faux;
$allow_charset_search =vrai;
$uid_support =true;

$plugins[0] ='abook_take';
$plugins[1] ='delete_move_next';
$plugins[2] =' calendrier';
$plugins[3] ='filters';
$plugins[4] ='message_details';
$plugins[5] ='mail_fetch';
$ plugins[6] ='newmail';

$theme_css ='';
$theme_default =0;
$theme[0]['PATH'] =SM_PATH . 'themes/default_theme.php';
$theme[0]['NAME'] ='Default';
$theme[1]['PATH'] =SM_PATH . 'themes/plain_blue_theme.php';
$theme[1]['NAME'] ='Plain Blue';
$theme[2]['PATH'] =SM_PATH . 'themes/sandstorm_theme.php';
$theme[2]['NAME'] ='Sand Storm';
$theme[3]['PATH'] =SM_PATH . 'themes/deepocean_theme.php';
$theme[3]['NAME'] ='Deep Ocean';
$theme[4]['PATH'] =SM_PATH . 'themes/slashdot_theme.php';
$theme[4]['NAME'] ='Slashdot';
$theme[5]['PATH'] =SM_PATH . 'themes/purple_theme.php';
$theme[5]['NAME'] ='Violet';
$theme[6]['PATH'] =SM_PATH . 'themes/forest_theme.php';
$theme[6]['NAME'] ='Forest';
$theme[7]['PATH'] =SM_PATH . 'themes/ice_theme.php';
$theme[7]['NAME'] ='Ice';
$theme[8]['PATH'] =SM_PATH . 'themes/seaspray_theme.php';
$theme[8]['NAME'] ='Sea Spray';
$theme[9]['PATH'] =SM_PATH . 'themes/bluesteel_theme.php';
$theme[9]['NAME'] ='Blue Steel';
$theme[10]['PATH'] =SM_PATH . 'themes/dark_grey_theme.php';
$theme[10]['NAME'] ='Dark Grey';
$theme[11]['PATH'] =SM_PATH . 'themes/high_contrast_theme.php';
$theme[11]['NAME'] ='High Contrast';
$theme[12]['PATH'] =SM_PATH . 'themes/black_bean_burrito_theme.php';
$theme[12]['NAME'] ='Black Bean Burrito';
$theme[13]['PATH'] =SM_PATH . 'themes/servery_theme.php';
$theme[13]['NAME'] ='Serveur';
$theme[14]['PATH'] =SM_PATH . 'themes/maize_theme.php';
$theme[14]['NAME'] ='Maïs';
$theme[15]['PATH'] =SM_PATH . 'themes/bluesnews_theme.php';
$theme[15]['NAME'] ='BluesNews';
$theme[16]['PATH'] =SM_PATH . 'themes/deepocean2_theme.php';
$theme[16]['NAME'] ='Deep Ocean 2';
$theme[17]['PATH'] =SM_PATH . 'themes/blue_grey_theme.php';
$theme[17]['NAME'] ='Blue Grey';
$theme[18]['PATH'] =SM_PATH . 'themes/dompie_theme.php';
$theme[18]['NAME'] ='Dompie';
$theme[19]['PATH'] =SM_PATH . 'themes/methodical_theme.php';
$theme[19]['NAME'] ='Methodical';
$theme[20]['PATH'] =SM_PATH . 'themes/greenhouse_effect.php';
$theme[20]['NAME'] ='Effet de serre (changements)';
$theme[21]['PATH'] =SM_PATH . 'themes/in_the_pink.php';
$theme[21]['NAME'] ='In The Pink (Changes)';
$theme[22]['PATH'] =SM_PATH . 'themes/kind_of_blue.php';
$theme[22]['NAME'] ='Kind of Blue (Changes)';
$theme[23]['PATH'] =SM_PATH . 'themes/monostochastic.php';
$theme[23]['NAME'] ='Monostochastic (Changes)';
$theme[24]['PATH'] =SM_PATH . 'themes/shades_of_grey.php';
$theme[24]['NAME'] ='Shades of Grey (Changes)';
$theme[25]['PATH'] =SM_PATH . 'themes/spice_of_life.php';
$theme[25]['NAME'] ='Spice of Life (Changes)';
$theme[26]['PATH'] =SM_PATH . 'themes/spice_of_life_lite.php';
$theme[26]['NAME'] ='Spice of Life - Lite (Modifications)';
$theme[27]['PATH'] =SM_PATH . 'themes/spice_of_life_dark.php';
$theme[27]['NAME'] ='Spice of Life - Dark (Changes)';
$theme[28]['PATH'] =SM_PATH . 'themes/christmas.php';
$theme[28]['NAME'] ='Vacances - Noël';
$theme[29]['PATH'] =SM_PATH . 'themes/darkness.php';
$theme[29]['NAME'] ='Darkness (Changes)';
$theme[30]['PATH'] =SM_PATH . 'themes/random.php';
$theme[30]['NAME'] ='Random (Change à chaque connexion)';
$theme[31]['PATH'] =SM_PATH . 'themes/midnight.php';
$theme[31]['NAME'] ='Midnight';
$theme[32]['PATH'] =SM_PATH . 'themes/alien_glow.php';
$theme[32]['NAME'] ='Alien Glow';
$theme[33]['PATH'] =SM_PATH . 'themes/dark_green.php';
$theme[33]['NAME'] ='Dark Green';
$theme[34]['PATH'] =SM_PATH . 'themes/penguin.php';
$theme[34]['NAME'] ='Pingouin';
$theme[35]['PATH'] =SM_PATH . 'themes/minimal_bw.php';
$theme[35]['NAME'] ='Minimal BW';
$theme[36]['PATH'] =SM_PATH . 'themes/redmond.php';
$theme[36]['NAME'] ='Redmond';
$theme[37]['PATH'] =SM_PATH . 'themes/netstyle_theme.php';
$theme[37]['NAME'] ='Net Style';
$theme[38]['PATH'] =SM_PATH . 'themes/silver_steel_theme.php';
$theme[38]['NAME'] ='Silver Steel';
$theme[39]['PATH'] =SM_PATH . 'themes/simple_green_theme.php';
$theme[39]['NAME'] ='Simple Green';
$theme[40]['PATH'] =SM_PATH . 'themes/wood_theme.php';
$theme[40]['NAME'] ='Wood';
$theme[41]['PATH'] =SM_PATH . 'themes/bluesome.php';
$theme[41]['NAME'] ='Bluesome';
$theme[42]['PATH'] =SM_PATH . 'themes/simple_green2.php';
$theme[42]['NAME'] ='Simple Green 2';
$theme[43]['PATH'] =SM_PATH . 'themes/simple_purple.php';
$theme[43]['NAME'] ='Simple Purple';
$theme[44]['PATH'] =SM_PATH . 'themes/autumn.php';
$theme[44]['NAME'] ='Autumn';
$theme[45]['PATH'] =SM_PATH . 'themes/autumn2.php';
$theme[45]['NAME'] ='Autumn 2';
$theme[46]['PATH'] =SM_PATH . 'themes/blue_on_blue.php';
$theme[46]['NAME'] ='Blue on Blue';
$theme[47]['PATH'] =SM_PATH . 'themes/classic_blue.php';
$theme[47]['NAME'] ='Classic Blue';
$theme[48]['PATH'] =SM_PATH . 'themes/classic_blue2.php';
$theme[48]['NAME'] ='Classic Blue 2';
$theme[49]['PATH'] =SM_PATH . 'themes/powder_blue.php';
$theme[49]['NAME'] ='Powder Blue';
$theme[50]['PATH'] =SM_PATH . 'themes/techno_blue.php';
$theme[50]['NAME'] ='Techno Blue';
$theme[51]['PATH'] =SM_PATH . 'themes/turquoise.php';
$theme[51]['NAME'] ='Turquoise';

$default_use_javascript_addr_book =false;
$abook_global_file ='';
$abook_global_file_writeable =false;

$addrbook_dsn ='';
$addrbook_table ='address';

$prefs_dsn ='';
$prefs_table ='userprefs';
$prefs_user_field ='user';
$prefs_key_field ='prefkey';
$prefs_val_field ='prefval';
$addrbook_global_dsn =' ';
$addrbook_global_table ='global_abook';
$addrbook_global_writeable =false;
$addrbook_global_listing =false;

$no_list_for_subscribe =false;
$smtp_auth_mech ='none';
$imap_auth_mech ='login';
$use_imap_tls =false;
$use_smtp_tls =false;
$session_name ='SQMSESSID';

$config_location_base ='';

@include SM_PATH . 'config/config_local.php';

/**
* Assurez-vous qu'il n'y a pas de caractères après la balise de fermeture PHP
* ci-dessous (y compris les caractères de saut de ligne et les espaces).
* Sinon, ce caractère entraînera l'envoi des en-têtes
* et le démarrage de la sortie normale, ce qui gâchera grandement
* les choses lorsque nous essaierons d'envoyer plus d'en-têtes ultérieurement.
*/
?>

Faites ensuite :

apache2-ssl-certificate -days 3650

Remplissez le bon nom de serveur !!!

C'est-à-dire :l'adresse sur laquelle vous envisagez de donner à vos utilisateurs l'accès à Squirrelmail ou à tout autre service par apache sur le port 443. Seul le domaine fera l'affaire (DOIT EXISTER DANS LE DNS). Pas domaine/webmail.

En cas de problème, supprimez simplement le certificat et répétez cette étape.

Saisissez maintenant :

a2enmod ssl
réécriture a2enmod
a2enmod inclus
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/https
ln -s /etc/apache2/sites-available/https /etc/apache2/sites-enabled/https
ln -s /etc/squirrelmail/apache.conf /etc/apache2/sites-enabled/squirrelmail

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise - Page 4

Modifiez ensuite /etc/courier/imapd-ssl et modifiez les éléments suivants :

TLS_CERTFILE=/etc/apache2/ssl/apache.pem

Faites maintenant la même chose avec votre /etc/courier/pop3d-ssl.

Modifiez maintenant /etc/apache2/sites-available/default. Le haut doit être changé pour qu'il se lise :

NomHôteVirtuel *:80

Modifiez également /etc/apache2/sites-available/https, le haut du fichier doit indiquer :

NameVirtualHost *:443

SSLEngine sur
SSLCertificateFile /etc/apache2/ssl/apache.pem
Modifiez /etc/squirrelmail/apache.conf Il devrait ressembler à ceci :
Alias ​​/webmail /usr/share/squirrelmail


php_flag register_globals off
Options Indexes FollowSymLinks

DirectoryIndex index.php


# accès à configtest est limité par défaut pour empêcher la fuite d'informations

order deny,allow
deny from all
allow from 127.0.0.1


# les utilisateurs préféreront une URL simple comme http://webmail.example.com
#
# DocumentRoot /usr/share /squirrelmail
# ServerName webmail.example.com
#

# redirige vers https lorsqu'il est disponible (merci [email protected])
#
# Remarque :Il existe plusieurs façons de procéder, et celle qui convient à
# dépend de la configuration de votre site. Consultez la documentation apache si
# vous n'êtes pas sûr, car cet exemple peut ne pas fonctionner partout.
#



RewriteEngine on
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]



Assurez-vous maintenant que la ligne DirectoryIndex dans /etc/apache2/apache2.conf indique :

IndexRépertoire index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml

Modifiez /etc/apache2/ports.conf et ajoutez Listen 443 :

Écoutez 80Écoutez 443

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise - Page 5

Faites maintenant en sorte que Squirrelmail parle votre langue. Si vous n'utilisez que l'anglais, vous pouvez bien sûr ignorer la dernière ligne du fichier.

Modifiez /var/lib/locales/supported.d/local.

Cela devrait ressembler à ceci :(si vous êtes néerlandais, sinon ajustez comme vous le souhaitez). L'essentiel est d'activer vos paramètres régionaux avec le jeu de caractères ISO-8859-1.

en_US.UTF-8 UTF-8en_US.ISO-8859-1 ISO-8859-1nl_NL.ISO-8859-1 ISO-8859-1

dpkg-reconfigure locales

Maintenant, nous configurons postfix.

postconf -e 'mesréseaux =127.0.0.0/8, 192.168.1.0/24'
postconf -e 'smtpd_sasl_local_domain ='
postconf -e 'smtpd_sasl_auth_enable =yes'
postconf -e 'smtpd_sasl_security_options =noanonymous'
postconf -e 'broken_sasl_auth_clients =yes'

postconf -e 'smtpd_recipient_restrictions =permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'

postconf -e 'inet_interfaces =all'
echo 'pwcheck_method:saslauthd'>> /etc/postfix/sasl/smtpd.conf
écho 'mech_list :connexion simple'>> /etc/postfix/sasl/smtpd.conf
postconf -e 'smtpd_tls_auth_only =no'
postconf -e 'smtp_use_tls =yes'
postconf -e 'smtpd_use_tls =yes'
postconf -e 'smtp_tls_note_starttls_offer =yes'
postconf -e 'smtpd_tls_key_file =/etc/apache2/ssl/apache.pem'
postconf -e 'smtpd_tls_cert_file =/etc/apache2/ssl/apache.pem'
postconf -e 'smtpd_tls_loglevel =1'
postconf -e 'smtpd_tls_received_header =yes'
postconf -e 'smtpd_tls_session_cache_timeout =3600s'
postconf -e 'tls_random_source =dev:/dev/urandom'
postconf -e 'home_mailbox =Maildir/'
postconf -e 'mailbox_command ='
postconf -e 'header_checks =regexp:/etc/postfix/header_checks'
postconf -e 'relayhost ='
postconf -e 'virtual_alias_domains =hash:/etc/postfix/virtual'
postconf -e 'virtual_alias_maps =hash:/etc/postfix/virtual'
postconf -e 'smtp_never_send_ehlo =yes'
touchez /etc/postfix/header_checks
touchez /etc/postfix/virtual

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise - Page 6

Modifiez maintenant etc/postfix/header_checks.

Cela devrait ressembler à ceci :

/^Reçu :/ ATTENDRE

cd /root
Configurez maintenant MailScanner.
chown postfix.postfix /var/spool/MailScanner/incoming
chown postfix.postfix /var/spool/MailScanner/quarantine
mkdir /var/spool/MailScanner/spamassassin
ln -s /etc/MailScanner/spam.assassin.prefs.conf /etc/spamassassin/mailscanner.cf
chown postfix.postfix /var/spool/MailScanner/spamassassin

Modifiez maintenant /etc/MailScanner/MailScanner.conf et définissez les lignes suivantes comme indiqué :

Exécuter en tant qu'utilisateur =postfix
Exécuter en tant que groupe =postfix
Intervalle d'analyse de la file d'attente =120
Répertoire de la file d'attente entrante =/var/spool/postfix/hold
Répertoire de la file d'attente sortante =/var/spool/postfix/incoming
MTA =postfix
Analyseurs de virus =clamav
Toujours inclure le rapport SpamAssassin =yes
Répertoire d'état utilisateur SpamAssassin =/var/spool/MailScanner/spamassassin
Décommentez la ligne # run_mailscanner=1 dans votre /etc/default/mailscanner.

Créez maintenant une tâche cron de /usr/sbin/check_mailscanner et exécutez-la toutes les 20 minutes.

Nous allons maintenant tromper le script de démarrage de MailScanner. Ceci est nécessaire car MailScanner refuse de démarrer, en raison d'un script destiné à exim, je suppose (je n'ai jamais utilisé Exim, donc je n'en suis pas sûr). Je ne veux pas modifier le script lui-même, car il pourrait être remplacé par une autre mise à jour "ne démarrant pas" à l'avenir. Juste pour être du bon côté.

appuyez sur /etc/init.d/mailscanner_pre

Modifiez /etc/init.d/mailscanner_pre. Cela devrait ressembler à ceci :

#!/bin/sh
mkdir /var/lock/subsys
mkdir /var/lock/subsys/MailScanner
mkdir /var/run/MailScanner
chown suffixe .postfix /var/run/MailScanner
chown postfix.postfix /var/lock/subsys/MailScanner

chmod 755 /etc/init.d/mailscanner_pre
mv /etc/rc2.d/S20mailscanner /etc/rc2.d/S99mailscanner
mv /etc/rc3.d/S20mailscanner /etc/rc3.d/S99mailscanner
mv /etc/rc4.d/S20mailscanner /etc/rc4.d/S99mailscanner
mv /etc/rc5.d/S20mailscanner /etc/rc5.d/S99mailscanner
ln -s /etc/init.d/mailscanner_pre /etc/rc2.d/S20mailscanner_pre
chown postfix.postfix /var/spool/MailScanner
chown postfix.postfix /var/lib/MailScanner

Cela devrait faire l'affaire maintenant, n'êtes-vous pas d'accord ?

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise - Page 7

Configurez maintenant l'authentification sasl.

mkdir -p /var/spool/postfix/var/run/saslauthd

Maintenant, nous devons éditer /etc/default/saslauthd. Cela devrait ressembler à ceci :

# Ceci doit être décommenté avant que saslauthd ne soit exécuté automatiquementSTART=yesPARAMS="-m /var/spool/postfix/var/run/saslauthd -r"# Vous devez spécifier les mécanismes d'authentification que vous souhaitez utiliser.# Ceci par défaut à "pam" pour le support PAM, mais peut également inclure# "shadow" ou "sasldb", comme ceci :# MECHANISMS="pam shadow"MECHANISMS="pam"
Modifiez ensuite /etc/init.d/saslauthd et changez l'emplacement du fichier PID de saslauthd. Changez la valeur de PIDFILE en /var/spool/postfix/var/run/${NAME}/saslauthd.pid, de sorte qu'il indique :
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"

Remplissez maintenant votre système avec de vrais utilisateurs. Définissez le shell des utilisateurs sur /bin/false pour éviter les failles de sécurité.

Remplissez ensuite /etc/postfix/virtual comme vous le souhaitez. J'aime Webmin pour cela. Vous pouvez également le modifier directement, bien sûr. Cependant, Webmin fait un excellent travail.

Gotcha ! :"some.domain" etc. ne peut pas être égal à tout ce qui est mentionné dans la ligne "mydestination" dans

/etc/postfix/main.cf

Mon /etc/postfix/virtual a la structure suivante :

some.domain domaine virtuelsome.other.domain domaine virtuelsome.really.other.domain domaine [email protected] [email protected] [email protected] [email protected] [email protected] userexample@unixlinux. en ligne quelqu'un comme un [email protected] quelqu'un comme un [email protected]@unixlinux.online differentuser [email protected] quelqu'un comme [email protected] quelqu'un comme un [email protected]
etc. Je n'ai donc qu'à définir un alias pour root et postmaster dans /etc/aliasesTous les autres alias doivent être dans ce fichier. Le transfert et la livraison du courrier à plusieurs adresses et ainsi de suite peuvent (et devraient, je crois) être également définis dans ce fichier.

Notez que dans ce type de configuration, vos utilisateurs peuvent avoir autant d'alias qu'ils le souhaitent (jusqu'à ce que vous en ayez marre), mais pour chaque utilisateur, vous devez toujours ajouter un véritable utilisateur, avec un répertoire personnel.

N'oubliez pas de faire

postmap /etc/postfix/virtual

lorsque vous avez terminé.

Maintenant, nous voulons quelques règles pour que spamassassin fasse un meilleur travail.

Commencez par modifier /etc/MailScanner/spam.assassin.prefs.conf.

Commentez dcc_path /usr/bin/dccproc. Commentez également razor_timeout 10 et
notez RCVD_IN_RSL 0.

Faites ensuite :

cd ..
wget http://www.fsl.com/support/Rules_Du_Jour.tar.gz
tar -zxvf Rules_Du_Jour.tar.gz
cd rules_du_jour
mkdir /etc/rulesdujour
cp config /etc/rulesdujour/config
cp rules_du_jour /usr/bin
cp rules_du_jour_wrapper /etc/cron.daily
/etc/cron.daily/rules_du_jour_wrapper

Ensuite, nous configurons le serveur DHCP.

Modifiez /etc/dhcp3/dhcpd.conf. Le mien ressemble maintenant à ceci :

# Local Networksubnet 192.168.1.0 netmask 255.255.255.0 { option netbios-name-servers 192.168.1.1; option serveurs de noms de domaine 192.168.1.1 ; option nom de domaine "votre.domaine.ici" ; option adresse de diffusion 192.168.1.255 ; routeurs d'options 192.168.1.1 ; plage 192.168.1.100 192.168.1.130 ; } 

Modifiez /etc/default/dhcp3-server. Il devrait lire

INTERFACES=eth1

Faites ensuite :

/etc/init.d/dhcp3-server start

Ensuite, installez dcc à partir de la source

cd /root
wget http://www.dcc-servers.net/dcc/source/dcc.tar.Z
gunzip dcc.tar.Z
tar -xvf dcc.tar
cd dcc*
./configure
faire
faire installer
fermer -r maintenant

et attendez qu'il se rallume.

Configurer Ubuntu-Server 6.06 LTS comme pare-feu/passerelle pour votre environnement de petite entreprise - Page 8

Vous devez maintenant envoyer à chaque utilisateur réel un message de bienvenue, créant ainsi les structures Maildir initiales dans leurs répertoires personnels nécessaires pour pouvoir se connecter à leurs comptes. Vous pouvez utiliser le module postfix de webmin pour cela. Pas besoin d'envoyer quoi que ce soit à leurs alias. Vous souhaiterez peut-être utiliser un compte de messagerie externe pour envoyer ces messages de bienvenue, cependant, vous devrez d'abord ouvrir le port 25 dans votre pare-feu pour le faire, comme indiqué sur cette page du tuto.

Notez que vous devrez également envoyer un message à chaque nouvel utilisateur ajouté après cette configuration initiale, bien sûr.

Votre serveur de messagerie Web se trouve à l'adresse https://votre.domaine/webmail (envoyez d'abord ces messages !)

Munin est sur http://votre.domaine/munin

Webmin est sur https://votre.domaine:10000

Si vous n'avez défini aucun domaine, utilisez https://192.168.1.1/webmail etc.

Vérifiez que vous pouvez vous connecter à votre messagerie Web et envoyer et recevoir des e-mails au sein de votre réseau local. Si vous êtes satisfait, ouvrez le port 25 sur votre pare-feu pour le trafic tcp entrant (postfix) et le port 6277 pour le trafic udp entrant (dcc). Vous souhaiterez peut-être mettre votre serveur de messagerie Web à la disposition de vos utilisateurs du monde extérieur. Ouvrez également le port 443 pour le trafic tcp entrant (apache ssl). L'ouverture du port 993 est également une bonne idée pour les connexions TCP entrantes, car cela facilite les imaps.

Mon /etc/shorewall/rules ressemble maintenant à ceci :(juste pour commencer, tous les paramètres de pare-feu indiqués dans cet article ne sont là que pour vous permettre d'être opérationnel, vous voudrez peut-être ajuster ces paramètres une fois que vous avez terminé !)

############################################## ################################################# ############
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP
# PORT PORT(S) DEST LIMIT GROUP
ACCEPTER net $FW tcp 25
ACCEPTER net $FW tcp 443
ACCEPTER net $FW tcp 993
ACCEPTER net $FW udp 6277
#
# Accepter les connexions DNS du pare-feu au réseau
#
DNS/ACCEPTER $FW net
ACCEPTER $FW net all
ACCEPTER $FW loc all
ACCEPTER loc $FW all
#
# Accepter les connexions SSH du réseau local pour l'administration
#
SSH/ACCEPT loc $FW
#
# Autoriser le ping depuis le réseau local
#
Ping/ACCEPT loc $FW
#
# Rejeter le ping de la "mauvaise" zone réseau.. et empêcher que votre journal ne soit inondé..
#
Ping/REJECT net $FW
ACCEPT $FW loc icmp
ACCEPT $FW net icmp
#DERNIÈRE LIGNE -- AJOUTEZ VOS ENTRÉES AVANT CELLE-CI -- FAITES PAS RE DÉPLACER
Redémarrez le pare-feu :
/etc/init.d/shorewall restart

Faites ensuite :

/var/dcc/libexec/updatedcc

Nous configurons maintenant votre serveur VPN.

Modifiez /etc/pptpd.conf. Cela devrait ressembler à ceci maintenant :

############################################## ###############################
# $Id :pptpd.conf 4255 2004-10-03 18 :44:00Z rene $
#
# Exemple de fichier de configuration Poptop /etc/pptpd.conf
#
# Les modifications sont effectives lorsque pptpd est redémarré.
## ################################################# ###########################

# TAG :ppp
# Chemin vers le programme pppd, default '/usr/sbin/pppd' on Linux
#
#ppp /usr/sbin/pppd

# TAG:option
# Specifies the location of the PPP options file.
# By default PPP looks in '/etc/ppp/options'
#
option /etc/ppp/pptpd-options

# TAG :debug
# Turns on (more) debugging to syslog
#
#debug

# TAG:stimeout
# Specifies timeout (in seconds) on starting ctrl connection
#
# stimeout 10

# TAG:noipparam
# Suppress the passing of the client's IP address to PPP, which is
# done by default otherwise.
#
#noipparam

# TAG:logwtmp
# Use wtmp(5) to record client connections and disconnections.
#
logwtmp

# TAG:bcrelay
# Turns on broadcast relay to clients from interface
#
#bcrelay eth1

# TAG:localip
# TAG:remoteip
# Specifies the local and remote IP address ranges.
#
# Any addresses work as long as the local machine takes care of the
# routing. But if you want to use MS-Windows networking, you should
# use IP addresses out of the LAN address space and use the proxyarp
# option in the pppd options file, or run bcrelay.
#
# You can specify single IP addresses seperated by commas or you can
# specify ranges, or both. For example:
#
# 192.168.0.234,192.168.0.245-249,192.168.0.254
#
# IMPORTANT RESTRICTIONS:
#
# 1. No spaces are permitted between commas or within addresses.
#
# 2. If you give more IP addresses than MAX_CONNECTIONS, it will
# start at the beginning of the list and go until it gets
# MAX_CONNECTIONS IPs. Others will be ignored.
#
# 3. No shortcuts in ranges! c'est à dire. 234-8 does not mean 234 to 238,
# you must type 234-238 if you mean this.
#
# 4. If you give a single localIP, that's ok - all local IPs will
# be set to the given one. You MUST still give at least one remote
# IP for each simultaneous client.
#
# (Recommended)
localip 192.168.1.1
remoteip 192.168.1.10-30
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245

Next edit /etc/ppp/options.It should look like this:
asyncmap 0
noauth
lock
hide-password
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx

Edit /etc/ppp/pptpd-options. It should look like this:
###############################################################################
# $Id:pptpd-options 4643 2006-11-06 18:42:43Z rene $
#
# Sample Poptop PPP options file /etc/ppp/pptpd-options
# Options used by PPP when a connection arrives from a client.
# This file is pointed to by /etc/pptpd.conf option keyword.
# Changes are effective on the next connection. See "man pppd".
#
# You are expected to change this file to suit your system. As
# packaged, it requires PPP 2.4.2 and the kernel MPPE module.
###############################################################################


# Authentication

# Name of the local system for authentication purposes
# (must match the second field in /etc/ppp/chap-secrets entries)
name pptp-vpn

# Optional:domain name to use for authentication
# domain mydomain.net

# Strip the domain prefix from the username before authentication.
# (applies if you use pppd with chapms-strip-domain patch)
#chapms-strip-domain


# Encryption
# Debian:on systems with a kernel built with the package
# kernel-patch-mppe>=2.4.2 and using ppp> =2.4.2, ...
# {{{
refuse-pap
refuse-chap
refuse-mschap
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
require-mppe-128
# }}}




# Network and Routing

# If pppd is acting as a server for Microsoft Windows clients, this
# option allows pppd to supply one or two DNS (Domain Name Server)
# addresses to the clients. The first instance of this option
# specifies the primary DNS address; the second instance (if given)
# specifies the secondary DNS address.
# Attention! This information may not be taken into account by a Windows
# client. See KB311218 in Microsoft's knowledge base for more information.
#ms-dns 10.0.0.1
ms-dns 192.168.0.1

# If pppd is acting as a server for Microsoft Windows or "Samba"
# clients, this option allows pppd to supply one or two WINS (Windows
# Internet Name Services) server addresses to the clients. The first
# instance of this option specifies the primary WINS address; the
# second instance (if given) specifies the secondary WINS address.
#ms-wins 10.0.0.3
ms-wins 192.168.0.1

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system. This will have the effect of making the peer appear to other
# systems to be on the local ethernet.
# (you do not need this if your PPTP server is responsible for routing
# packets to the clients -- James Cameron)
proxyarp

# Debian:do not replace the default route
nodefaultroute


# Logging

# Enable connection debugging facilities.
# (see your syslog configuration for where pppd sends to)
#debug

# Print out all the option values which have been set.
# (often requested by mailing list to verify options)
#dump


# Miscellaneous

# Create a UUCP-style lock file for the pseudo-tty to ensure exclusive
# access.
lock

# Disable BSD-Compress compression
nobsdcomp
auth

Next, edit /etc/ppp/chap-secrets. It should look like this:

# Secrets for authentication using CHAP# client server secret IP addressesuser pptp-vpn abcdefg "*"
Now do:
/etc/init.d/pptpd restart

You must be able now to setup a vpn connection to your new server from the inside of your firewall as "user" with password "abcdefg" (without the quotes) Change this initial username and password and add some users, if you like. Maybe you'll have to reboot some machines to make it work.

Now open your firewall for incoming vpn connections. To do this, set your /etc/shorewall/rules as shown.

My /etc/shorewall/rules at this time:

#############################################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP
# PORT PORT(S) DEST LIMIT GROUP
ACCEPT net $FW tcp 25
ACCEPT net $FW tcp 443
ACCEPT net $FW tcp 993
ACCEPT net $FW udp 6277
DNAT net fw:192.168.1.1 tcp 1723
DNAT net fw:192.168.1.1 47
#
# Accept DNS connections from the firewall to the network
#
DNS/ACCEPT $FW net
ACCEPT $FW net all
ACCEPT $FW loc all
ACCEPT loc $FW all
#
# Accept SSH connections from the local network for administration
#
SSH/ACCEPT loc $FW
#
# Allow Ping from the local network
#
Ping/ACCEPT loc $FW
#
# Reject Ping from the "bad" net zone.. and prevent your log from being flooded..
#
Ping/REJECT net $FW
ACCEPT $FW loc icmp
ACCEPT $FW net icmp
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
To complete this step, do:
/etc/init.d/shorewall restart

So now your customers will be able to do their (computer network related) job at home as well.

Note, that this only makes sense when your server has a reliable broadband connection to the internet, which in The Netherlands is the defacto standard, even for very tiny offices and most home addresses. In this respect we are way ahead of the rest of the world.

Now edit your /etc/MailScanner/spam.assassin.prefs.conf and add the following lines at the bottom:

score RCVD_IN_SORBS_WEB 10
score RCVD_IN_WHOIS_INVALID 10
score RCVD_IN_WHOIS_BOGONS 10
score RCVD_IN_NJABL_PROXY 10
score RCVD_IN_DSBL 10
score RCVD_IN_XBL 10
score RCVD_IN_BL_SPAMCOP_NET 10
score RCVD_IN_SORBS_DUL 10
score SARE_LWSYMFMT 3
score SARE_MLB_Stock4 3
score SARE_BAYES_5x8 3
score SARE_BAYES_6x8 3
score URIBL_SC_SURBL 10
score URIBL_WS_SURBL 10
score URIBL_PH_SURBL 10
score URIBL_OB_SURBL 10
score URIBL_AB_SURBL 10
score URIBL_JP_SURBL 10
score URIBL_SBL 10
score ALL_TRUSTED 0

Nettoyez maintenant votre répertoire /root. C'est là que sont allés tous les téléchargements.

Samba est installé. Comme chaque configuration de Samba est unique, je ne peux pas vous aider ici. Vous ne savez pas comment faire ? C'est un bon point de départ.

To complete all of this, do:

/etc/init.d/mailscanner redémarrer

Now watch the spam reports in the headers of incoming mail (but make sure your users agree to this, as you will be violating some postal and maybe other laws) to adjust the last edit (and add some) to make it work as you like. Especially false negatives and even more false positives should draw your attention. When you are done you may wish to send most spam, if not all, to /dev/null.

Make this spy yob easy:Create a special account to which you send a copy of all mail handled by your server. Let's assume you create this user and call it "spy" (without quotes) and you have given spy a line in /etc/postfix/virtual, (like "[email protected]    spy", without quotes). Faites ensuite :

postmap /etc/postfix/virtual

Now send spy a welcome message, as a rule of thumb, and check that spy's account is fully operational. Faites ensuite :

postconf -e 'always_bcc =spy' 

DONE!


Panels
  1. 5 meilleures solutions logicielles d'appel pour votre entreprise

  2. Comment configurer une redirection pour votre site Web dans cPanel

  3. Hébergement de bases de données cloud pour les petites entreprises :pourquoi c'est idéal

  4. 7 avantages de l'utilisation d'un serveur privé virtuel pour votre entreprise

  5. Comment définir un pseudo par défaut pour les nouvelles connexions irssi ?

Comment configurer le CRM ONLYOFFICE pour les besoins de votre entreprise

J'ai besoin d'une solution d'hébergement Web pour ma petite entreprise. Comment choisir ?

Comment configurer un killswitch Linux pour les VPN

Comment configurer un pare-feu sur votre serveur Linux

Le logiciel de pare-feu Linux 15+ pour protéger votre système Linux

Linux pour les entreprises :développez votre entreprise avec ces applications