Skip navigation

Базова конфигурация на Ubuntu Server 10.10 - втора част

След мрежовите настройки, връщането на bash шела и създаването на квоти за сървъра, продължаваме с инсталирането на MySQL, BIND и Postfix инструменти.
3338 прочитания, 0

Първа част: мрежови настройки, адреси на хоста, квоти, заменяне на dash с bash шела.

6. Инсталиране на DNS сървър

По отношение на DNS сървърите за Unix системи избора наистина е доста голям. В това ръководство избираме BIND9, като един от най-популярните, но винаги можете да го замените с друг, ако желаете.

ubuntu@ubuntu:~$ aptitude install bind9
Добра практика от гледна точка на сигурността е да ограничите правомощията на BIND за определен потребител и конкретна директория. За целта първо спрете процеса и после редактирайте файла:

ubuntu@ubuntu:~$ /etc/init.d/bind9 stop
ubuntu@ubuntu:~$ nano /etc/default/bind9

Редактиране на bind9.
Редактиране на bind9. Снимка: IDG.bg


С добавянето на -t /var/lib/bindnew най-общо указваме на системата, че потребителя bind има администраторски права само за под-директорията bindnew. Разбира се, таква все още няма реално - запазете промените и затворете файла. Създайте следните директории и след това преместете BIND в тях:

ubuntu@ubuntu:~$ mkdir -p /var/lib/bindnew/etc
ubuntu@ubuntu:~$ mkdir /var/lib/bindnew/dev
ubuntu@ubuntu:~$ mkdir -p /var/lib/bindnew/var/cache/bind
ubuntu@ubuntu:~$ mkdir -p /var/lib/bindnew/var/run/bind/run
ubuntu@ubuntu:~$ mv /etc/bind /var/lib/bindnew/etc

Вместо bindnew можете да изберете произволно име за новата директория. С параметъра -p командата създава родителски директории, ако са необходими, без да извежда съобщение за грешка.

За да се избегнат проблеми с бъдещи ъпдейти на BIND, свързваме символично конфигурационната директория към новосъздадената:

ubuntu@ubuntu:~$ ln -s /var/lib/bindnew/etc/bind /etc/bind
и създаваме /dev/null и /dev/random файлове, като им задаваме права и привилегии. В Unix архитектурите тези специални файлове играят ролята съответно на виртуална “кофа” за нежелани изходни данни на даден процес (null) и генератор на псевдо-случайни числа, който позволява достъп до случайни събития в системата, например генерирани от драйверите (random). Наричат се още device nodes.

ubuntu@ubuntu:~$ mknod /var/lib/bindnew/dev/null c 1 3
ubuntu@ubuntu:~$ mknod /var/lib/bindnew/dev/random c 1 8
ubuntu@ubuntu:~$ chmod 666 /var/lib/bindnew/dev/null /var/lib/bindnew/dev/random
ubuntu@ubuntu:~$ chown -R bind:bind /var/lib/bindnew/var/*
ubuntu@ubuntu:~$ chown -R bind:bind /var/lib/bindnew/etc/bind

Параметъра “c” при mknod указва, че файла, който се създава е специален (от типа null или random). Стойностите “1 3” и “1 8” в края на реда отговарят на т.нар. minor и major номера на устройствата.

Може би звучи малко объркващо, но в UNIX системите всичко е файл - независимо дали четете/пишете върху харддиска, от клавиатурата или паметта. За да може, обаче ядрото да достъпи и работи с дадено устройство то трябва да знае типа му, както и специфична информация (например номер на дяла, ако е харддиск и др.). За различаване на отделните устройства и техните контролери се използват именно тези специални номера. Повече за тях можете да прочете на linux-tutorial.info.

С командата chmod променяме правата на двете устройства за четене и запис, но не и изпълнение (Read and Write), а с chown указваме, че с тях (и -R рекурсивно с поддиректориите им) може да работи само потребителя bind.

Добре е да имате лог файл за системни съобщения и мониторинг на DNS сървъра. Съзадайте го с:

ubuntu@ubuntu:~$ nano /etc/rsyslog.d/bind-chroot.conf
и вътре добавете реда $AddUnixListenSocket /var/lib/bindnew/dev/log

Добавяне на лог за Bind9
Добавяне на лог за Bind9. Снимка: IDG.bg


Рестартирайте лога и стартирайте DNS сървъра:

ubuntu@ubuntu:~$ /etc/init.d/rsyslog restart
ubuntu@ubuntu:~$ /etc/init.d/bind9 start

7. Инсталиране на MySQL сървър

Както и с DNS, и при базите данни избора на сървър е доста голям - можете да инсталирате PostgreQSL, Oracle, Firebird, Ingres 2006 и други. Ние се спираме на MySQL като най-популярна сред потребителите.

Инсталирането и създаването на потребител става с командите:

ubuntu@ubuntu:~$ aptitude install mysql-server

Създаване на MySQL потребител.
Създаване на MySQL потребител. Снимка: IDG.bg


Потвърдете паролата си и дайте OK. По подразбиране MySQL може да следи само един интерфейс и това е адреса на localhost-а. Ние обаче не искаме да го ограничаваме само до него, затова закоментирайте следният ред в my.cnf файла:

ubuntu@ubuntu:~$ nano /etc/mysql/my.cnf

Редактиране на my.cnf
Редактиране на my.cnf. Снимка: IDG.bg


Рестартирайте процеса и се уверете, че мрежата работи:

ubuntu@ubuntu:~$ /etc/init.d/mysql restart
ubuntu@ubuntu:~$ netstat -tap | grep mysql

Ако изходното съобщение е от този вид, MySQL сървъра е настроен и работи правилно.
Ако изходното съобщение е от този вид, MySQL сървъра е настроен и работи правилно. Снимка: IDG.bg


8. Инсталиране на мейл сървър

Тази част обикновенно е най-сложната при настройването на Ubuntu сървър, тъй като се състои от множество задачи. Затова най-лесно е процеса да се изпълнява стъпка по стъпка.

Стандартният инструмент за пощенска комуникация на Ubuntu Server е Postfix и в това ръководство се фокусираме върху него, но друг доста добъра агент е exim.

ubuntu@ubuntu:~$ aptitude install postfix

Задаване на тип за Postfix.
Задаване на тип за Postfix. Снимка: IDG.bg
Задаване на име за Postfix.
Задаване на име за Postfix. Снимка: IDG.bg


След като инсталацията приключи, което може да отнеме известно време, стартирайте:

ubuntu@ubunt:~$ dpkg-reconfigure postfix
Повечето настройки оставете по подразбиране:

  • General type of mail configuration: Internet Site 
  • System mail name: ubuntu.myserver.com 
  • Root and postmaster mail recipient: празно 
  • Other destinations to accept mail for (blank for none): ubuntu.myserver.com, localhost.myserver.com, localhost.myserver.com, localhost

Postfix конфигурация - алтернативни източници.
Postfix конфигурация - алтернативни източници. Снимка: IDG.bg


  • Force synchronous updates on mail queue? No 
  • Local networks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 
  • Mailbox size limit (bytes): 0 
  • Local address extension character: + 
  • Internet protocols to use: all

След това конфигурирайте SMTP AUTH автентификация с SSAL:

ubuntu@ubunt:~$ postconf -e 'smtpd_sasl_local_domain ='
ubuntu@ubunt:~$ postconf -e 'smtpd_sasl_auth_enable = yes'
ubuntu@ubunt:~$ postconf -e 'smtpd_sasl_security_options = noanonymous'
ubuntu@ubunt:~$ postconf -e 'broken_sasl_auth_clients = yes'
ubuntu@ubunt:~$ postconf -e 'smtpd_sasl_authenticated_header = yes'
ubuntu@ubunt:~$ postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
ubuntu@ubunt:~$ postconf -e 'inet_interfaces = all'

В конфигурационния файл на smtpd добавете редовете:

ubuntu@ubunt:~$ echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
ubuntu@ubunt:~$ echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

След това генерирайте сертификатите за TLS:

ubuntu@ubunt:~$ mkdir /etc/postfix/ssl
ubuntu@ubunt:~$ cd /etc/postfix/ssl/
ubuntu@ubunt:~$ openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024

При последнта команда трябва да въведете и потвърдите pass phrase за генерирания ключ.Променте правата на ключа, така че само собственика да може да го чете/записва и задайте максимален брой дни за които е валиден новият сертификат:

ubuntu@ubunt:~$ chmod 600 smtpd.key
ubuntu@ubunt:~$ openssl req -new -key smtpd.key -out smtpd.csr

Системата ще поиска да въведете допълнителна информация, оставете полетата празни.

ubuntu@ubunt:~$ openssl x509 -req -days 3650 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
ubuntu@ubunt:~$ openssl rsa -in smtpd.key -out smtpd.key.unencrypted
ubuntu@ubunt:~$ mv -f smtpd.key.unencrypted smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650

Конфигурирайте Postfix за TLS (ubuntu в случая е името на hostname-a, ако вашето е друго използвайте него):

ubuntu@ubunt:~$ postconf -e 'myhostname = server1.example.com'
ubuntu@ubunt:~$ postconf -e 'smtpd_tls_auth_only = no'
ubuntu@ubunt:~$ postconf -e 'smtp_use_tls = yes'
ubuntu@ubunt:~$ postconf -e 'smtpd_use_tls = yes'
ubuntu@ubunt:~$ postconf -e 'smtp_tls_note_starttls_offer = yes'
ubuntu@ubunt:~$ postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key'
ubuntu@ubunt:~$ postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt'
ubuntu@ubunt:~$ postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
ubuntu@ubunt:~$ postconf -e 'smtpd_tls_loglevel = 1'
ubuntu@ubunt:~$ postconf -e 'smtpd_tls_received_header = yes'
ubuntu@ubunt:~$ postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
ubuntu@ubunt:~$ postconf -e 'tls_random_source = dev:/dev/urandom'

Преди да стартирате процесите, инсталирайте следните пакети и създайте нова директория:

ubuntu@ubuntu:~$ libsasl2-2 sasl2-bin libsasl2-modules
ubuntu@ubuntu:~$ mkdir -p /var/spool/postfix/var/run/saslauthd

Това се налага, за да се ограничас администраторските права на Postfix, който по подразбиране работи в /var/spool/postfix. В /etc/default/saslauthd файла променете следните редове:

ubuntu@ubuntu:~$ nano /etc/default/saslauth

# Should saslauthd run automatically on startup? (default: no)
START=yes



# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
#OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Накрая добавете postfix потребителя към групата на sasl, за да може да достъпва saslauth и пуснете процесите:

ubuntu@ubuntu:~$ adduser postfix sasl
ubuntu@ubuntu:~$ /etc/init.d/postfix restart
ubuntu@ubuntu:~$ /etc/init.d/saslauthd start

За да тествате дали работи мейл сървъра използвайте командата

ubuntu@ubuntu:~$ telnet localhost 25
След като се вържете напишете:

ehlo localhost
В резултата трябва да фигурират редовете 250-STARTTLS и 250-AUTH PLAIN LOGIN

В последната част на това ръководство ще покажем как се настройват POP3 и IMAP протоколи, как се инсталира Apache с PHP, Python и Ruby, заедно с FTP сървър.

Трета част: инсталиране на MDA, Apache2 и FTP сървър.
(11.03.2011)

КОМЕНТАРИ

Трябва да сте регистриран потребител, за да коментирате статията
"Базова конфигурация на Ubuntu Server 10.10 - втора част"



    

© Ай Си Ти Медиа ЕООД 1997 - 2012 съгласно общи условия за ползване