Het hebben van SMTP-authenticatie op een mailserver heeft een aantal voordelen. SMTP- authenticatie kan een extra beveiligingslaag toevoegen aan sendmail, en het geeft mobiele gebruikers die van hosts wisselen de mogelijkheid om dezelfde mailserver te gebruiken zonder dat ze telkens de instellingen van hun mailclient moeten veranderen.
Installeer security/cyrus-sasl2 vanuit de ports. Deze port is te
vinden in security/cyrus-sasl2. De port security/cyrus-sasl2 ondersteund een aantal opties
tijdens de compilatie. Voor de SMTP-authenticatiemethode die hier gebruikt wordt,
dient de optie LOGIN
te zijn uitgezet.
Voeg nadat security/cyrus-sasl2 is geïnstalleerd deze regel toe aan /usr/local/lib/sasl2/Sendmail.conf:
pwcheck_method: saslauthd
Installeer vervolgens security/cyrus-sasl2-saslauthd, en voeg de volgende regel toe aan /etc/rc.conf:
saslauthd_enable="YES"
en start vervolgens het saslauthd-daemon op:
# service saslauthd start
Deze daemon fungeert als een onderhandelaar voor sendmail die zich tegen de FreeBSD passwd-database authenticeert. Dit bespaart de moeite van het opnieuw creëren van een nieuwe verzameling gebruikersnamen en wachtwoorden voor elke gebruiker die SMTP-authenticatie nodig heeft, en het houdt de wachtwoorden voor het inloggen en de mail hetzelfde.
Voeg de volgende regels toe aan /etc/make.conf :
SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl2
Deze regels geven sendmail de juiste instelopties om tijdens het compileren met cyrus-sal2 te linken. Zorg ervoor dat cyrus-sasl2 is geïnstalleerd voordat sendmail wordt gehercompileerd.
Hercompileer sendmail door de volgende opdrachten uit te voeren:
# cd /usr/src/lib/libsmutil # make cleandir && make obj && make # cd /usr/src/lib/libsm # make cleandir && make obj && make # cd /usr/src/usr.sbin/sendmail # make cleandir && make obj && make && make install
Het compileren van sendmail zou geen problemen moeten geven indien /usr/src niet veel veranderd is en dat de benodigde gedeelde bibliotheken aanwezig zijn.
Nadat sendmail is gecompileerd en opnieuw is gecompileerd, dient /etc/mail/freebsd.mc (of het plaatselijke .mc-bestand) gewijzigd te worden. Veel beheerders kiezen ervoor om de uitvoer van hostname(1) als .mc-bestandsnaam te gebruiken vanwege de uniciteit. Voeg deze regels toe:
dnl set SASL options TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
Deze opties stellen de verschillende beschikbare methoden voor sendmail in om gebruikers te authenticeren. Gebruik de bijgeleverde documentatie indien een andere methode dan pwcheck gewenst is.
Voer als laatste make(1) in /etc/mail uit. Hierdoor wordt het nieuwe .mc -bestand uitgevoerd en wordt een bestand freebsd.cf (of de plaatselijke variant ervan) aangemaakt. Voer hierna de opdracht make install restart uit, wat het bestand naar sendmail.cf kopieert en sendmail op de juiste manier herstart. In /etc/mail/Makefile staat meer informatie over dit proces.
Indien alles goed is gegaan, moet het mogelijk zijn om de inloginformatie in de
mailclient in te voeren en een testbericht te versturen. Zet voor verdere onderzoekingen
de LogLevel
van sendmail op
13 en houdt /var/log/maillog in de gaten voor
foutmeldingen.
Refereer naar de sendmail-pagina betreffende SMTP-authenticatie voor meer informatie.