Policyd: Instalacion y configuracion
Upcoming SlideShare
Loading in...5
×
 

Policyd: Instalacion y configuracion

on

  • 869 views

 

Statistics

Views

Total Views
869
Views on SlideShare
869
Embed Views
0

Actions

Likes
0
Downloads
18
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Policyd: Instalacion y configuracion Policyd: Instalacion y configuracion Document Transcript

  • POLICYD: INSTALACION y CONFIGURACION INTRODUCCIÓN Policyd v2 (también llamado cluebringer) es un servicio multi-plataforma que permite implementar políticas de seguridad anti-spam para servidores MTA. INSTALACION Y CONFIGURACION DEL POLICYD 1.- REQUISITOS PolicyD: • MySQL, PostgreSQL or SQLite • Net::Server >= 0.96 • Net::CIDR • Config::IniFiles (debian: libconfig-inifiles-perl, rpm: perl-Config-IniFiles) • Cache::FastMap (debian: libcache-fastmmap-perl, rpm: perl-Cache-FastMmap) • Mail::SPF (required for CheckSPF module) WebUI - Para la parte web del Policyd (opcional): • PHP v5+ (compiled with PDO support for your database) 2.- INSTALACIÓN • Descargamos la última versión desde http://devlabs.linuxassist.net/projects/policyd/files y extraemos los ficheros: tar -xvvzf cluebringer-v2.1.x-201211111115.tar.gz • Entramos en el directorio database y creamos la estructura de la base de datos, para ello ejecutamos: for i in core.tsql access_control.tsql quotas.tsql amavis.tsql checkhelo.tsql checkspf.tsql greylisting.tsql accounting.tsql do ./convert-tsql mysql $i done > policyd.sql • Ejecutamos el sql que acabamos de crear, en el servidor que vaya a tener la base de datos del policyd y creamos el usuario que va a acceder a la base de datos: mysql -u root -p -e "create database policyd" mysql -u root -p policyd < policyd.sql mysql -u root -p -e "grant select, insert, update, delete on policyd.* to usuarioBD@'servidorCorreoPolicyd' identified by 'passwordDelUsuarioBD';" mysql -u root -p -e "flush privileges;" • Creamos el usuario y grupo con el que se va a ejecutar el demonio del policyd: /usr/sbin/groupadd cbpolicyd /usr/sbin/useradd -s /sbin/nologin -g cbpolicyd cbpolicyd
  • • Creamos el directorio /etc/cbpolicyd y movemos el cluebringer.conf a dicho directorio: mkdir /etc/cbpolicyd mv cluebringer.conf /etc/cbpolicyd/ • Modificamos las siguientes líneas en el /etc/cbpolicyd/cluebringer.conf, sobretodo hay que especificar el puerto y los datos de la base de datos: vi /etc/cbpolicyd/cluebringer.conf # Preforking configuration # # min_server - Minimum servers to keep around # min_spare_servers - Minimum spare servers to keep around ready to # handle requests # max_spare_servers - Maximum spare servers to have around doing nothing # max_servers - Maximum servers alltogether # max_requests - Maximum number of requests each child will serve min_servers=4 min_spare_servers=4 max_spare_servers=12 max_servers=25 max_requests=1000 # Log level: # 2 - Notices, warnings, errors log_level=2 log_file=/var/log/cbpolicyd/cbpolicyd.log # Things to log in extreme detail log_detail=modules,tracking,policies,protocols proto=tcp # IP to listen on, * for all. Blank for unix sockets host=* port=10031 # Timeout in communication with clients # Idle timeout in postfix defaults to 1015s (active connection) timeout_idle=1015 # Busy sockets in postfix defaults to 100s timeout_busy=115 # cidr_allow/cidr_deny # Comma, whitespace or semi-colon separated. Contains a CIDR block to # compare the clients IP to. If cidr_allow or cidr_deny options are # given, the incoming client must match a cidr_allow and not match a # cidr_deny or the client connection will be closed. cidr_allow=0.0.0.0/0 cidr_deny= # DATOS DE NUESTRA BASE DE DATOS: nombre, usuario y password correspondiente [database] #DSN=DBI:SQLite:dbname=policyd.sqlite DSN=DBI:mysql:database=policyd;host=localhost Username=usuarioBD Password=passwordDelUsuarioBD • Movemos los directorios cbp/ y awitpt/ a /usr/local/lib/cbpolicyd-2.1: mkdir /usr/local/lib/cbpolicyd-2.1 mv cbp /usr/local/lib/cbpolicyd-2.1/
  • mv awitpt/awitpt /usr/local/lib/cbpolicyd-2.1/ • Movemos los servicios cbpolicyd y cbpadmin a /usr/local/sbin y /usr/local/bin respectivamente: mv cbpadmin /usr/local/bin/ mv cbpolicyd /usr/local/sbin/ • Creamos los directorios /var/log/cbpolicyd y /var/run/cbpolicyd y asignamos los permisos adecuados: mkdir /var/log/cbpolicyd mkdir /var/run/cbpolicyd chown cbpolicyd.cbpolicyd /var/log/cbpolicyd /var/run/cbpolicyd • Si queremos gestionar las políticas vía web, movemos el contenido del directorio webui/* a un directorio que vea el apache y modificamos los parámetros del includes/config.php con los datos de nuestra base de datos (nombre, usuario y password). • Creamos un script de inicio para arrancar y parar el servicio del cbpolicyd (/usr/local/sbin/cbpolicyd): • Tenemos un modelo de script de inicio para debian (en el directorio debian) y otro para Fedora (en el directorio contrib/initscripts/Fedora). Como nuestra distribución es debian, hacemos una copia del que viene de ejemplo para debian: cp -prf debian/cluebringer.init /etc/init.d/cbpolicyd • Modificamos los siguientes parámetros: DAEMON="/usr/local/sbin/cbpolicyd" NAME="cbpolicyd" PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" LOGFILE="/var/log/cbpolicyd/cbpolicyd.log" RUNDIR="/var/run/cbpolicyd" • Damos permiso de ejecución: chmod +x /etc/init.d/cbpolicyd • Lo configuramos en el arranque de la máquina. En debian, por defecto, no tenemos el chkconfig (se puede instalar pero instala más cosas críticas), como equivalente tenemos el update-rc.d: update-rc.d cbpolicyd defaults Note • Habilitar servicio --> update-rc.d servicio defaults --> Crea enlaces que inician el servicio en los runlevels 2345 y enlaces que lo terminan en los runlevels 016 con la prioridad 20. Equivale a update-rc.d servicio start 20 2 3 4 5 . stop 20 0 1 6
  • • Dehabilitar servicio --> update.rc.d -f servicio remove--> Borra todos los enlaces en los directorios rc.?.d. • Configuramos la rotación del log. Tenemos un fichero de ejemplo para debian, hacemos una copia y modificamos los parámetros que necesitemos: cp debian/cluebringer.logrotate /etc/logrotate.d/cbpolicyd vi /etc/logrotate.d/cbpolicyd /var/log/cbpolicyd/cbpolicyd.log { weekly rotate 7 copytruncate compress notifempty missingok } • Para que el Postfix use el cbpolicyd, debemos añadir las directiva check_policy_service inet:127.0.0.1:10031 en los parámetros smtpd_recipient_restrictions y smtpd_end_of_data_restrictions del main.cf: vi /etc/postfix/main.cf smtpd_recipient_restrictions= check_policy_service inet:127.0.0.1:10031, .... permit smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10031, permit BIBLIOGRAFíA http://wiki.policyd.org/ http://www.policyd.org/