понедельник, 9 мая 2011 г.

Устанавливаем Apache, PHP и MySQL на Ubuntu

Оригинал...

Устанавливаем Apache
Открываем терминал, и выполняем:

sudo apt-get install apache2

Все зависимости подтянутся автоматически.

После запуска Apache2 можно открыть браузер и проверить работу сервера перейдя на страницу http://localhost
Устанавливаем PHP
В терминале выполняем:

sudo apt-get install php5 libapache2-mod-php5

и перезапускаем сервер командой:


sudo invoke-rc.d apache2 restart

Устанавливаем MySQL
В терминале выполняем:

sudo apt-get install mysql-server


В процессе установки необходимо будет задать пароль пользователя root для MySQL.

Это можно сделать и после установки:

sudo mysqladmin -u root password новый_пароль



Перезапускаем Apache2:

sudo invoke-rc.d apache2 restart

Все должно работать. Для проверки PHP можно сделать следующее:

sudo nano /var/www/test.php

или

sudo gedit /var/www/test.php

Пишем и сохраняем:

<?php phpinfo(); ?>

В браузере переходим по ссылке http://localhost/test.php, где вы увидите всю информацию о PHP.
Для удобной работы с базами данных ставим phpMyAdmin:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

Все готово. phpMyAdmin доступен по ссылке:

http://localhost/phpmyadmin/index.php

Если возникнут проблемы с phpMyAdmin – перезапустите Apache.

среда, 2 марта 2011 г.

SBS на базе Ubuntu Server - Файловый сервер (Samba) + сетевая печать

Оригинал статьи находится здесь.

Устанавливаем Samba и дополнительные пакет

$ sudo apt-get install samba samba-doc libcups2 libkrb5-3 winbind \\
                       smbclient samba-common-bin 
 

В конфигурационном файле Samba, созданном по умолчанию, нужно сделать несколько изменений. Так что откройте в редакторе файл /etc/samba/smb.conf, просмотрите его и сделайте настройки в соответствии со следующим примером. Большую часть примера можно скопировать без всяких изменений, но задайте для переменной WORKGROUP имя домена Windows (вы даже можете оставить его значение равным WORKGROUP), а для переменной FILESERVER укажите имя хоста вашего сервера Linux:

[global]
   workgroup = WORKGROUP
   netbios name = FILESERVER
   server string = %h server (Samba, Ubuntu)

   passdb backend = tdbsam
   security = user
   username map = /etc/samba/smbusers
   name resolve order = wins bcast hosts
   domain logons = yes
   preferred master = yes
   wins support = yes

   ## Use CUPS for printing
   printcap name = CUPS
   printing = CUPS

   ## Set default logon
   logon drive = H:
   #logon script = scripts/logon.bat
   logon path = \\\\fileserver\\profile\\%U

   ## User management scripts
   add user script = /usr/sbin/useradd -m %u
   delete user script = /usr/sbin/userdel -r %u
   add group script = /usr/sbin/groupadd %g
   delete group script = /usr/sbin/groupdel %g
   add user to group script = /usr/sbin/usermod -G %g %u
   add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u
   idmap uid = 15000-20000
   idmap gid = 15000-20000

   ## Settings to sync Samba passwords with system passwords
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\\snew\\sUNIX\\spassword:* %n\\n *Retype\\snew\\s UNIX\\spassword:* %n\\n .
   passwd chat debug = yes
   unix password sync = yes

   ## Set the log verbosity level
   log level = 3

[homes]
   comment = Home
   valid users = %S
   read only = no
   browsable = no

[printers]
   comment = All Printers
   path = /var/spool/samba
   printable = yes
   guest ok = yes
   browsable = no

[netlogon]
   comment = Network Logon Service
   path = /home/samba/netlogon
   admin users = Administrator
  valid users = %U
   read only = no

[profile]
   comment = User profiles
   path = /home/samba/profiles
   valid users = %U
   create mode = 0600
   directory mode = 0700
   writable = yes
   browsable = no

В следующей закомментированной строке:

#logon script = scripts/logon.bat

определяется скрипт Windows, который будет выполняться на рабочей станции Windows всякий раз, когда пользователь будет входить в систему. Это, действительно, может быть весьма удобно, если вы хотите для всех компьютеров в сети применять стандартные настройки; вы можете задать, как будет отображаться диск сервера, настроить принтеры или сконфигурировать прокси-сервер. Если у вас есть скрипт logon.bat, то раскомментируйте эту строку.

Создайте директории для хранения профилей и информации о входе в домен:
$ sudo mkdir -p /home/samba/netlogon
$ sudo mkdir /home/samba/profiles
$ sudo mkdir /var/spool/samba
$ sudo chmod 777 /var/spool/samba/
$ sudo chown -R root:users /home/samba/
$ sudo chmod -R 771 /home/samba/

Сделайте так, чтобы Samba увидела вашу новую конфигурацию:
 
$ sudo /etc/init.d/smbd restart

Чтобы включить сервис WINS (Windows Internet Name Service), откройте в редакторе файл  
/etc/nsswitch.conf и найдите следующую строку:
 
hosts: files dns

Замените ее строкой:
 
hosts: files wins dns

Поскольку ваш файл-сервер будет контроллером домена (DC) для вашего домена Windows, вы должны указать компьютеры, которые будут входить в домен. Откройте файл /etc/hosts и добавьте в него все сервера и рабочие станции:
192.168.0.10 server1
192.168.0.101 workstation1
192.168.0.102 workstation2
...
192.168.0.107 workstation7

В Windows как правило, есть специальный пользователь с именем Administrator, который аналогичен пользователю root в Linux, так что добавьте пользователя root в базу данных паролей Samba и создайте для него псевдоним. Это позволит вам использовать имя пользователя Administrator при добавлении новых компьютеров в домен Windows:
$ sudo smbpasswd -a root
$ sudo sh -c "echo 'root = Administrator' > /etc/samba/smbusers"

Чтобы убедиться, что к этому моменту все работает, используйте команду smbclient и сделайте запрос к Samba:
$ smbclient -L localhost -U%

В выданном результате будет указана подробная информация о нескольких стандартных сервисах, таких как netlogon и ADMIN, а также будут перечислены машины, зарегистрированные в домене:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.21b]

        Sharename       Type      Comment
        ---------   ----      -------
        netlogon        Disk      Network Logon Service
        IPC$            IPC       IPC Service (fileserver server (Samba, Ubuntu))
        ADMIN$          IPC       IPC Service (fileserver server (Samba, Ubuntu))
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.21b]

        Server               Comment
        ---------            -------
        FILESERVER           fileserver server (Samba, Ubuntu)

        Workgroup  Master
        ---------            -------
        WORKGROUP            FILESERVER
Отобразите несколько стандартных групп, используемых в доменах Windows, в эквивалентные группы в Linux:
$ sudo net groupmap modify ntgroup="Domain Admins" unixgroup=root
$ sudo net groupmap modify ntgroup="Domain Users" unixgroup=users
$ sudo net groupmap modify ntgroup="Domain Guests" unixgroup=nogroup

Чтобы предоставить пользователям возможность аутентификации в домене, их нужно прописать в контроллере домена. Этот процесс необходимо повторять для каждого пользователя, но сейчас просто создайте одного пользователя, сначала добавив пользователя в Linux и затем установив пароль для этого пользователя в Samba. Этого пользователя также потребуется поместить в группу users, которая только что была сделана псевдонимом группы Windows Domain Users:
$ sudo useradd jon -m -G users
$ sudo smbpasswd -a jon

Теперь пользователю предоставлена возможность аутентификации на рабочих станциях в вашем домене, но в нем еще ничего не открыто для совместного доступа.

Открываем общий доступ

Начните просто с добавления ресурса, к которому могут иметь доступ все пользователи. Во-первых, создайте директорий, для которого откройте общий доступ и укажите для этого директория соответствующие права доступа:
$ sudo mkdir -p /home/shares/public
$ sudo chown -R root:users /home/shares/public
$ sudo chmod -R ug+rwx,o+rx-w /home/shares/public

Каждый ресурс, для которого открыт общий доступ, должен быть сконфигурирован в Samba. Откройте файл /etc/samba/smb.conf и добавьте к концу файла следующие записи:
[public]
  comment = Public Share
  path = /home/shares/public
  valid users = @users
  force group = users 
  create mask = 0660
  directory mask = 0771
  writable = yes

Каждый раз, когда вы меняете конфигурацию, вам нужно перезапускать Samba:
$ sudo /etc/init.d/smbd restart

Добавленный фрагмент позволяет всем пользователям группы @users получать доступ к ресурсу с полными привилегиями на запись. Во многих случаях это, вероятно, не то, что вам нужно. Если совместный доступ разрешено получать только определенным пользователям, то используйте, например, следующую строку:

valid users = jon,kyle,bill

Чтобы управлять большим количеством пользователей, вы можете создать новую отдельную группу, установить для нее соответствующие права для общего доступа и указать эту группу в конфигурации Samba. Тогда у вас появится возможность добавлять пользователей в эту группу и удалять их из нее без перенастройки или перезагрузки Samba:

valid users = @authors

Вы также можете создать совместный доступ только для чтения, задав для параметра writable значение no:

writable = no

Другим типичным сценарием является предоставление общего доступа на чтение/запись для некоторых пользователей, а для всех других - только для чтения:

valid users = @authors,@editors
  read list = @authors
  write list = @editors

В Samba есть огромный спектр возможностей для задания различных вариантов доступа, так что для получения более подробной информации смотрите http://samba.org/samba/docs/.


Общий доступ к принтерам

Если у вас есть принтеры, которые вы хотите сделать доступными для ваших рабочих станций Windows через Samba, то сначала выполните настройки принтера для того, чтобы принтеры работали локально, а затем используйте команду cupsaddsmb чтобы сообщить Samba, что надо открыть к ним доступ.
Чтобы открыть общий доступ ко всем принтерам, наберите:
 
$ sudo cupsaddsmb -a

Если вы хотите открыть общий доступ к конкретному принтеру, вы можете сослаться на конкретное название принтера в CUPS:

$ sudo cupsaddsmb laserjet

Настройка принтера

Убедитесь, что принтер подключен и запустите его в Ubuntu.
В Ubuntu для управлениями принтерами и очередями заданий на печать используется система CUPS, Common Unix Printing System. Систему CUPS можно сконфигурировать с помощью различных инструментов, в том числе с помощью менеджера GNOME CUPS, а также с помощью его собственного встроенного веб-интерфейса, который работает через порт 631.

Веб интерфейс CUPS

Менеджер GNOME CUPS предоставляет быстрый доступ к основным параметрам настройки, но для того, чтобы по-настоящему управлять системой CUPS, вам следует воспользоваться встроенным веб интерфейсом. Для того, чтобы увидеть огромный спектр имеющихся возможностей, откройте веб браузер и укажите в нем адрес http://localhost:631.

Все отлично, но сразу выполз нюанс: а как быть, если на сервере у меня нет X11 и я хочу админить CUPS с удаленного хоста.
Нужно снести несколько изменений в /etc/cups/cupsd.conf:

В секцию

# Only listen for connections from the local machine.
Listen localhost:631
Listen /var/run/cups/cups.sock

Добавляем строку для интерфейса локальной сети:


Listen 10.137.131.253:631

Аналогично правим следующие секции:

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow From 10.137.131.*
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Encryption Required
  Order allow,deny
  Allow From 10.137.131.*
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow From 10.137.131.*
</Location>
 

После этого делаем рестарт CUPS

/etc/init.d/cups restart

Теперь можно зайти на web-интерфейс по соответствующему ip в локальной сети:
http://10.137.131.253:631 

Совместное использование локальных принтеров

Вы можете, указав настройку Shared ("Общий"), разрешить другим компьютерам вашей локальной сети использовать принтер, подключенный локально.
Для того, чтобы увидеть определения (настройки — прим.пер.) ваших принтеров, откройте с помощью текстового редактора файл /etc/cups/printers.conf. Каждый принтер определяется в отдельном блоке, причем все настройки, касающиеся этого принтера, указываются в произвольном порядке внутри этого блока. Найдите среди существующих настроек следующий вариант:

Shared no

Замените его на вариант:

Shared yes

После того, как вы измените файла printers.conf, перезапустите планировщик CUPS:

$ sudo /etc/init.d/cupsys restart

Задаем квоты для принтера

В CUPS реализована очень простая схема квот, которая позволит вам ограничивать количество страниц, распечатываемое за указанный период, но эта схему можно применять принтерам, а не к пользователям.
С помощью текстового редактора откройте файл /etc/cups/printers.conf и добавьте два настроечных параметра: PageLimit, в котором указывается максимально допустимое количество печатаемых страниц, и QuotaPeriod, в котором задается период в секундах, в течение которого действует ограничение. Для того, чтобы задать ограничение в 200 страниц в течение недели, вам нужно указать следующие настройки

QuotaPeriod 604800
PageLimit 200

Один день равен 86 400 секундам, одна неделя равна 604 800 секундам, а один месяц равен 2 592 000 секундам.
Вы также можете указать параметр KLimit, определяющий объем данных в килобайтах, которые принтеру разрешено принять. Этот вариант может оказаться полезным в случае, если вы хотите, чтобы на конкретные принтеры не посылались очень большие задания печати.

Подсказка

После того, как вы измените файл printers.conf, перезапустите CUPS.
Есть прием, с помощью которого можно обойти ограничение, позволяющее задавать квоты для принтеров, это - сконфигурировать один и тот же принтер несколько раз, каждый раз с новый именем и новыми настройками доступа, и связать эти настройки с тем же самым устройством. После этого квота для каждого "принтера" будет отслеживаться индивидуально, так что вы можете подключить каждого пользователя к отдельному виртуальному принтеру и, таким образом, задать индивидуальные квоты для пользователей.

 

вторник, 22 февраля 2011 г.

NAS + NAT + torrent-daemon на eBox 2300sx под debian-6.0.0-i386-netinst

Итак, имеем eBox2300sx
Хотим на основе него получить маршрутизатор для домашней сети (NAT), систему сетевого хранения данных (NAS), а также независимую от основного компьютера качалку торрентов (torrent-daemon).

Заметим, что высокая скорость загрузки нам не нужна, а удобство инсталляции - приветствуется.

Поэтому берем debian-6.0.0-i386-netinst.iso , записываем на компакт, подцепляем usb-cdrom к нашему девайсу, в биосе меняем параметны загрузки на usb-cdrom.
После появления графической картинки, жмякаем tab и добавляем параметр linux pnpbios=off

Производим стандартную установку debian.

Установка дополнительных пакетов.
Логинимся под рутом и ставим следующие пакеты
apt-get install mc samba sockstat transmission-daemon console-cyrillic
dpkg-reconfigure locales
К стати, transmission-daemon уже должен был запуститься, проверяем
sockstat |grep 9091
должны увидеть такую строку
debian-t transmission-da      1083     tcp4   *:9091                    *:*                       LISTEN

Настройка проста – тормозим демона: sudo /etc/init.d/transmission-daemon stop
Открываем файл настроек: sudo gedit /etc/transmission-daemon/settings.json.
Указываем пользователя в поле "rpc-username": "your_username", пароль в поле "rpc-password": "my_strong_password",, а также либо добавляем свой ip-адрес в поле "rpc-whitelist": "127.0.0.1",, либо отключаем whitelist: "rpc-whitelist-enabled": 0,
Собственно базовая настройка и закончена, стартуем демона: sudo /etc/init.d/transmission-daemon start – можно скачивать торренты. Кроме вышеуказанных настроек там тоже есть чего «поднастроить», как, например, папку, куда по-умолчанию складываем закачанные файлы, порт, по которому работаем, включаем или выключаем шифрование траффика и т.д.

Настраиваем samba

конфигурационный файл находится в /etc/samba/smb.conf 
Раскомментируем строку

security = user
 
Теперь для того чтобы создать samba-юзера  надо сделать следующее:
Сначала создать пользователя в Ubuntu
# adduser <username>
а потом создать samba-пользователя
# smbpasswd -a <username>
 
Открыть доступ на какую-нибудь папку
 
# chmod 777 /media/torrents
и запишем в конец конфигурационного файла /etc/samba/smb.conf следующий текст
[torrents]
    comment = Torrents
    path = /media/torrents
    valid users = mkrylov
    create mode = 0777
    directory mask = 0777
    available = yes
    browsable = yes
    public = yes
    writable = yes
Перезапуск samba после изменения конфиг. файла.
# /etc/init.d/samba restart
 
Подключаем usb-hdd и смотрим, как он определился (у меня это был sdb)
 
root@nas:~# dmesg |grep sd
[    9.598718] sd 0:0:0:0: [sda] 7847280 512-byte logical blocks: (4.01 GB/3.74 GiB)
[    9.606841] sd 0:0:0:0: [sda] Write Protect is off
[    9.606897] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    9.607999] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    9.623837]  sda: sda1 sda2 < sda5 >
[    9.669432] sd 0:0:0:0: [sda] Attached SCSI disk
[   16.220748] sd 2:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[   16.228301] sd 2:0:0:0: [sdb] Write Protect is off
[   16.228357] sd 2:0:0:0: [sdb] Mode Sense: 2f 08 00 00
[   16.228388] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   16.256774] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   16.256906]  sdb: sdb1
[   16.354354] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   16.354486] sd 2:0:0:0: [sdb] Attached SCSI disk
[   21.426662] Adding 212984k swap on /dev/sda5.  Priority:-1 extents:1 across:212984k
[   21.958471] EXT3 FS on sda1, internal journal
[   52.873833] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
Создаем папку для торрнетов
mkdir /media/torrents
chmod 777 /media/torrents
Добавляем в fstab сроку на автомонтирование нашего usb-hdd
/dev/sdb1       /media/torrents ntfs    defaults,umask=000      0       0
Можно проверить
# mount -a
# df -h
должны увидеть свой usb-hdd
root@nas:~# df -h
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/sda1             3,5G  724M  2,6G  22% /
tmpfs                  54M     0   54M   0% /lib/init/rw
udev                   49M  120K   49M   1% /dev
tmpfs                  54M     0   54M   0% /dev/shm
/dev/sdb1             466G   79M  466G   1% /media/torrents
Поднимаем NAT...
Ага, а как же мы будем маршрутизировать трафик, ведь у нас единственный ethernet-интерфейс...
А, собственно, вот так... открываем /etc/network/interfaces и добавляем туда следующие строки:
 
auto eth0:0
iface eth0:0 inet static
    address 192.168.0.1
    netmask 255.255.255.0
    network 192.168.0.0
    broadcast 192.168.0.255

Сохраняем его, перезапускаем сеть
# /etc/init.d/networking restart
Теперь у нас есть еще один интерфейс, который будет смотреть в локальную сеть.
 
Запускаем NAT
 
touch /etc/iptables.up.rules
и пишем в него
 
# Generated by iptables-save v1.4.4 on Sat May 15 17:43:56 2010
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat May 15 17:43:56 2010
# Generated by iptables-save v1.4.4 on Sat May 15 17:43:56 2010
*mangle
:PREROUTING ACCEPT [4439:309956]
:INPUT ACCEPT [2044:164373]
:FORWARD ACCEPT [2116:125292]
:OUTPUT ACCEPT [17435:1241285]
:POSTROUTING ACCEPT [3240:299687]
COMMIT
# Completed on Sat May 15 17:43:56 2010
# Generated by iptables-save v1.4.4 on Sat May 15 17:43:56 2010
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat May 15 17:43:56 2010
 
В файл /etc/rc.local добавляем следующие строки
echo '1' > /proc/sys/net/ipv4/ip_forward
iptables-restore < /etc/iptables.up.rules
Похоже, что все!

вторник, 15 февраля 2011 г.

SBS на базе Ubuntu Server - квотирование трафика SAMS

1. Устанавливаем необходимые пакеты и зависимости для работы SAMS’а:
aptitude install apache2 apache2-mpm-prefork php5 libapache2-mod-php5 php5-cgi php5-common php5-mysql mysql-server mysql-client squid libpcre3 php5-gd libpcre3-dev libmysqlclient15-dev gcc make

Идем сюда и скачиваем пакет libmysqlclient15off, устанавливаем его
dpkg -i libmysqlclient15off.deb
(это все потому, что он находится в репозитариях, не упомянутых в sources.list).
Также, возможно, потребуется установить дополнительные пакеты:
squidguard – для использования редиректора squidguard
php5-ldap – для авторизации пользователей в Active Directory | LDAP
php-fpdf – для генерации pdf отчетов.


2. По завершению установки всех необходимых пакетов следует редактировать файл /etc/php5/apache2/php.ini
В нем необходимо изменить параметры на те, что указаны ниже:
1) safe_mode = On
2) safe_mode_exec_dir = “/usr/share/sams/bin”
3) disable_functions = “chdir,dl,ini_get_all,popen,proc_open,passthru,pcntl_exec”
и создаем директорию html в  /var/www/


3. Конфигурация, компиляция и установка SAMS:
Скачиваем отсюда sams-1.0.5(2).tar.bz2 
./configure --with-httpd-locations=/var/www
  make
  make install
После этого рекомендуется заменить init скрипт sams, на скрипт специально измененный для Debian: 
   cp ./etc/samsd.debian /etc/init.d/samsd
   update-rc.d samsd defaults

4. Альтернативный способ - установка из пакетов
Скачать установщик SAMS’а с и весь необходимый набор, для этого делаем следующее (на момент написания статьи это были самые новые пакеты)
wget http://nixdev.net/release/sams/debian/lenny/sams_1.0.5_i386.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-web_1.0.5_all.deb
wget http://nixdev.net/release/sams/debian/lenny/sams-doc_1.0.5_all.deb

4.1. Скачав deb-пакеты, начнем установку.
1) dpkg -i sams_1.0.5_i386.deb
2) dpkg -i sams_1.0.5_i386.deb (это не опечатка, необходимо запускать два раза). Во время второго запуска возможно выйдет информация о правке init-скрипта.
3) dpkg -i sams-web_1.0.5_all.deb
4) dpkg -i sams-doc_1.0.5_all.deb

4.2. Правка init- скрипта:
   nano /etc/init.d/sams
   изменяем в открывшемся файле значение false на true в строке “SAMS_ENABLE=false”

5Создание БД:
Для работы SAMS необходимо создать пользователя sams в БД MySQL:
mysql -u root -p
  GRANT ALL ON squidctrl.* TO sams@localhost IDENTIFIED BY "yourpassword";
  GRANT ALL ON squidlog.* TO sams@localhost IDENTIFIED BY "yourpassword";
Где:

yourpassword - пароль

После этого имя пользователя и пароль надо сохранить в файле конфигурации SAMS /etc/sams.conf:

MYSQLUSER=sams - Имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd - Пароль пользователя в MySQL

Создаем базы SAMS в MySQL
Для этого перемещаемся в каталог ./mysql  (в случае установки из пакетв - в каталог /usr/share/sams/mysql)и там даем команды:
cd ./mysql
  mysql -u root -p < sams_db.sql
  mysql -u root -p < squid_db.sql

6) Правим конфик sams
Имя пользователя и пароль необходимо прописать в конфигурационном файле самса (/etc/sams.conf)
MYSQLUSER=sams – имя пользователя MySQL, от имени которого будет работать SAMS
MYSQLPASSWORD=yourpasswd – пароль пользователя в MySQL

7. Перезагружаем сервер
или sudo /etc/init.d/samsd restart

8. Настройка SAMS:

  • Теперь web-интерфейс SAMS доступен по адресу  http://localhost/sams/
  • Для доступа к web-интерфейсу используйте следующие логин/пароль: admin/qwerty
  • Т.к. пароль администратора и аудитора установлен по умолчанию - рекомендуется сразу сменить его через web-интерфейс
  • После этого необходимо настроить параметры работы samsdaemon: тип авторизации пользователей, частота парсинга логов и реконфигурации squid, и прочее
  • После этого можно создавать пользователей и запускать samsd
9. По завершению настроек не забываем запустить реконфигурацию SQUID’а.

10. Примечание.
В моем случае возникла интересная ситуация, пока что до конца не разобрался, т.к. не освоил PHP. Суть в следующем: после установки samsa web-интерфейс доступен по соответствующему адресу, но не отображаются 2 раздела - "Настройки WEB интерфейса" и "Администрирование SAMS".
Анализ /var/log/apache2/error.log показал на Fatal Error при выполнении функции GetHostName() в файлах /usr/local/share/sams/src/configtray.php и /usr/local/share/sams/src/webconfigtray.php.
Заремарил функции в этих файлах - все заработало. На данный момент более грамотного решения не искал

SBS на базе Ubuntu Server - квотирование трафика NetAMS

Инсталляция
Ставим из репозитария
sudo apt-get install netams

В процессе установки необходимо задать пароль для доступа к базе данных.
При создании начального конфиг-файла произошел сбой, но система NetAMS в итоге оказалась полностью работоспособной.

Автозапуск
В файле /etc/default/netams
раскомментировать строку
RUN="yes"

sudo ln -s /etc/init.d/netams /etc/rc2.d/S98netams

Первый запуск

Для минимального запуска конфигурационный файл должен содержать что-то вроде :

debug none
user name admin real-name Admin password aaa email root permit all

service server 0
login local
listen 20001
max-conn 6

service processor 0
lookup-delay 60
flow-lifetime 300
policy oid 14643C name ip target proto ip
restrict all pass local pass
unit group name ALL
unit user name server ip 10.137.131.209 acct-policy ip

service storage 1
type mysql

service data-source 1
type libpcap
source eth0 # поставьте тут имя вашего сетевого интерфейса!
rule 11 "ip"

service alerter 0
report oid 06100 name rep1 type traffic period day detail simple
smtp-server localhost

service html 0
path /var/www/netams
run hourly

Настройка apache
cp /etc/netams/apache.conf /etc/apache2/netams.conf
sudo nano /etc/apache2/apache2.conf
дописываем в конец файла такие строки:
#  Include the netams configuration:
Include netams.conf

Сохраняем файл, перезапускаем apache
sudo /etc/init.d/apache2 restart

Запускаем netams:
/etc/init.d/netams start

При удачном запуске вы увидите процесс netams в списке выполняющихся процессов в системе. Можно попробовать присоединиться к программе:

telnet localhost 20001
(укажите логин, "admin")
(укажите пароль, "aaa")
в случае успеха вы увидите приглашение к набору команд:
#

Попробуйте выполнить команды "html", "save", "show version", "show config".

Подробности здесь

понедельник, 14 февраля 2011 г.

SBS на базе Ubuntu Server - настройка ufw

Теория ufw в достаточной степени описана здесь

Порядок настройки ufw для SBS на базе Ubuntu Server.
Вначале рекомендуется задать политику для новых профилей приложений
ufw app default allow
Разрешим ssh
Используем соответствующий профиль приложения
# ufw allow OpenSSH

Запуск ufw
Ufw может быть включен или выключен системным администратором сервера, для этого используется команад:
# ufw enable


Просматривать состояние можно с помощью команды:
# ufw status [numbered]


Политика по умолчанию - deny


Включаем Masquerading
Во первых , необходимо включить пересылку пакетов. Для этого убедитесь, что в файле /etc/default/ufw параметру DEFAULT_FORWARD_POLICY присвоено значение “ACCEPT”:

В файле /etc/ufw/sysctl.conf уберите комментарий из строчки:
net.ipv4.ip_forward=1
net.ipv6.conf.default.forwarding=1

Далее необходимо в начало файла (после начальных коментариев) /etc/ufw/before.rules добавить правила:
#nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]
#Forwardtraffic from eth1 through eth0.
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
#don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
Учтите, что после изменений правил в фалах /etc/ufw, вы должны добавлять команду commit
# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT
После изменений перезапустим ufw:
sudo ufw disable && sudo ufw enable

Маскарадинг должен включиться. Вы также можете добавлять любые дополнительные FORWARD правила в  /etc/ufw/before.rules. It is recommended that these additional rules be added to the ufw-before-forward chain.

Включаем nat на отдельный хост сети
В файле /etc/default/ufw параметру DEFAULT_FORWARD_POLICY пишем значение “DROP”
В файл /etc/ufw/before.rules добавляем нужные правила, например

-A ufw-before-forward -s 10.137.131.209/32 -d ! 10.137.131.0/24 -i eth0 -j ACCEPT
-A ufw-before-forward -d 10.137.131.209/32  -o eth0 -j ACCEPT
Все, после этого форвардинг работает для хоста с IP 10.137.131.209
Остальное - по аналогии :) .


Создаем и разрешаем необходимые профили
Ufw позволяет создавать профили приложений. в которых можно указать все порты которые используются и удобно добавлять их в правила. Так к примеру можно создать профиль для веб-сервера Apache, указав что слушает он 80 и 443 порты по протоколу tcp.
Профили приложений являются текстовыми файлами и могут быть отредактированы любым текстовым редактором. все файлы хранятся в директории /etc/ufw/applications.d

ufw allow 'profilename' , где profilename - имя необходимого профиля
ufw allow Apache
ufw allow 'Apache Secure'
ufw allow 'Apache Full'
ufw allow 'Bind9'
ufw allow 'CUPS'
ufw allow 'Dovecot POP3'
ufw allow 'Dovecot Secure POP3'
ufw allow 'Postfix'
ufw allow 'Postfix Submission' 
ufw allow 'Samba'


Ограничиваем попытки авторизации по ssh
ufw limit OpenSSH


Пожалуй, данной информации достаточно для базовой настройки ufw.

пятница, 11 февраля 2011 г.

SBS на базе Ubuntu Server - настройка прокси-сервера Squid с DansGuardian и ClamAV

Следующий этап - учет и контроль использования Интернет (squid, dansguard, clamav)

Логинимся в установленную систему.
Локализация консоли

$ sudo apt-get update
$ sudo apt-get install console-cyrillic
$ cyr

Установка файлового менеджера Midnight Commander

$ sudo apt-get install mc

Установка и настройка ClamAV

$ sudo apt-get install clamav-daemon clamav-freshclam

Обновляем базы ClamAV
$ sudo freshclam

Конфигурационные файлы ClamAV находятся в папке /etc/clamav, но конфигурация, поставляемая с ClamAV вполне подходит для наших нужд. FreshClam будет обновлять вирусные сигнатуры один раз в час, но если вы хотите это изменить, то следует отредактировать следующий раздел в файле /etc/clamav/freshclam.conf:
# Check for new database 24 times a day<br>Checks 24

И указать там то количество проверок, которое вам необходимо:

# Check for new database 24 times a day<br>Checks 48

Подобное изменение приведет к увеличению числа проверок вдвое. Нажмите Ctrl+X для выхода и нажмите Y, когда nano попросит "Сохранить измененный буфер (Save the Modified Buffer)". Если вы изменили конфигурацию FreshClam, запустите следующую команду чтобы убедиться в том, что изменения вступили в силу:
sudo /etc/init.d/clamav-freshclam restart

Если вы изменили конфигурацию FreshClam, запустите следующую команду чтобы убедиться в
том, что изменения вступили в силу:
$ sudo /etc/init.d/clamav-freshclam restart



Установка и настройка Squid

Для установки Squid запустите в терминале следующую команду:

sudo apt-get install squid

Конфигурация для Squid находится в файле /etc/squid/squid.conf. Для того, чтобы редактировать этот файл, наберите:

sudo nano /etc/squid/squid.conf



Нам не нужно сильно изменять настройки Squid, так как между ним и пользователями будет находится DansGuardian и направлять трафик на  нужный порт Squid'а. По умолчанию Squid использует порт 3128 Текущий порт можно проверить с помощью утилиты sockstat



sudo apt-get install sockstat

sudo sockstat |grep squid



Видим, что текущий порт, который слушает Squid 3128.

Если меняем что-либо в конфигурационном файле squid, то выполняем следующую команду, чтобы Squid перегрузил конфигурационный файл:
sudo service squid restart


Установка и настройка DansGuardian

Для установки DansGuardian запустите в терминале следующую команду:

sudo apt-get install dansguardian



Конфигурационные файлы DansGuardian находятся в папке
/etc/dansguardian



Обратите внимание на следующие строки в конфигурационном файле:
language = 'russian'

filterip = x.x.x.x

filterport = 8080

proxyip = 127.0.0.1

proxyport = 3128

#contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'



Строка "language" определяет язык страницы с ошибкой, которую покажет DansGuardian при блокировке веб-содержимого, выбираем

language = 'russian-1251'

Затем  настройте шаблон отображаемой страницы:
sudo nano /etc/dansguardian/languages/russian-1251/template.html

Следуйте инструкциям, приведенным в файле template.html для того, чтобы указать название вашей компании и поменять текст сообщения под свои нужды.

В строках "filterip" и "filterport" указывается IP-адрес и порт прокси-сервера, соответственно. Установите значение параметра filterip равным IP-адресу вашего сервера в локальной сети, а filterport равным тому номеру порта, который вам нужен для вашего прокси; хорошее значение по-умолчанию - 8080.



Важно: если вы хотите иметь доступ к этому прокси через SSH, расположенный на этом же сервере, добавьте еще одну строку "filterip" и укажите в ней адрес 127.0.0.1 для того, чтобы убедиться в том, что DansGuardian будет также использовать localhost для ожидания запросов
на подключение.

Параметр "proxyip" указывает адрес прокси-сервера Squid, а параметр "proxyport" указывает порт, на котором он работает. Если вы следуете данной инструкции, оставьте значение этого параметра неизменным - 127.0.0.1, или, другими словами, адрес локальной машины. Аналогично, если для Squid вы использовали порт по-умолчанию, как предложено выше,
оставьте значение параметра proxyport равным 3128.

Файл /etc/dansguardian/dansguardian.conf уже содержит строку "contentscanner" в конце. Раскомментируйте ее, чтобы сообщить DansGuardian о необходимости использовать ClamAV для проверки запрошенных через HTTP файлов.

Для завершения настройки, закомментируйте или удалите следующую строку:

UNCONFIGURED - Please remove this line after configuration
Это необходимо для того, чтобы сообщить DansGuardian о том, что мы изменили конфигурацию по-умолчанию. Сохраните файл, а затем выполните команду:
sudo /etc/init.d/dansguardian restart



Эта команда необходима для того, чтобы DansGuardian перезагрузил свою конфигурацию и подключился к запущенному прокси-серверу Squid.

Мы подошли к точке, где вам необходимо сделать действия, указанные ниже, для того, чтобы обезопасить Squid и запретить пользователям работать в обход DansGuardian.
Примечание: не делайте эти шаги, если ваш пакетный фильтр уже настроен
и использует какие-либо другие правила! Эти шаги все спутают. Просто адаптируйте правила своего пакетного фильтра, приняв во внимание следующее:
sudo ufw default DENY
sudo ufw ALLOW 8080
sudo ufw enable
Благодаря этим правилам, вы будете уверены в том, что входящие соединения на порт, отличный от 8080 (порта, на котором работает DansGuardian), будут заблокированы (и пронырливые пользователи не смогут получить доступ к открытому прокси-серверу Squid на порту 3128).
Также вы можете просто заблокировать порт 3128 следующим образом:
sudo ufw DENY 3128
Но мне больше нравится первый способ, так как он делает систему безопаснее в целом.
Папка /etc/dansguardian/lists содержит все файлы, имеющие отношение к фильтрации содержимого страниц. Внимательно прочтите каждый из этих файлов для того, чтобы получить представление о том, как при помощи DansGuardian организовать ограничение трафика по скорости, а также о том, каким образом смягчить или усилить политики доступа, предлагаемые
DansGuardian по-умолчанию. Так как в связке с DansGuardian мы используем ClamAV, следует посмотреть содержимое папки /etc/dansguardian/lists/contentscanners, в которой находятся списки
исключений того, что не следует проверять при помощи этого антивируса.
По-умолчанию, в этих файлах уже указано несколько исключений, так что следует с ними ознакомится, для того, чтобы понять, подходят они вам или нет!

Из собственных наблюдений появилась рекомендация закомментировать в файле
weightedphraselist
строку, подключающую лист со фразами японской порнографии.
Этот список дает очень много ложных срабатываний или из-за проблем с кодировками, или еще по каким-то причинам.



SBS на базе Ubuntu Server - ТЗ + базовая установка

Итак, поднимаем Small Business Server на базе Ubuntu Server

Необходимо обеспечить:

  • подключение стационарных и мобильных офисных компьютеров к сети;
  • защиту внутренней сети офиса от внешних угроз;
  • учет и контроль использования Интернет;
  • почтовый сервер с антивирусом, антиспамом и WWW-клиентом (для реализации данной функции необходимо иметь белый IP, доменное имя и соответствующие MX записи на DNS серверах обслуживающих вашу зону)
  • WWW-сервер (WEB-сайт компании)
  • Файловый сервер (централизованное хранение данных)
  • Сервер баз данных MySQL (оптимизация работы с почтой, WEB-сайтом и т.д.)
  • Автоматическое создание резервных копий
  • FTP сервер (доступ к публичной информации компании из Интернет)
  • сетевую печать
Службы сервера:

  • Файловый сервер (Samba)
  • Web-сервер (Apache)
  • Межсетевой экран, (ufw)
  • Маршрутизация (ufw)
  • Учет и контроль использования Интернет (squid, dansguard, clamav)
  • Почтовый сервер с антивирусом, антиспамом (Postfix, Dovecott, SpamAssain, ClamAV)
  • Базы данных MySQL
  • Автоматическое создание резервных копий (Bacula)
  • FTP (ProFTPD)
Базовая Установка:

Выполняем базовую установку Ubuntu Server 10.10.
Выбираем уснанавливаемое ПО:

  • DNS server
  • LAMP server
  • Mail server
  • OpenSSH server
  • Print server
  • Samba file server
В процессе установки LAMP server попросит ввести пароль административного пользователя MySQL "root"

В процессе установки Postfix попросит выбрать тип почтового сервера. Выбираем Интернет-сайт: почта отправляется и принимается напрямую, с использованием SMTP.
Указываем "Почтовое имя" - это имя домена предприятия (если таковое зарегистрировано).
Все, похоже, на этом базовая установка и настройка закончены.

Установка доп. пакетов:
  • sudo apt-get update
  • sudo apt-get install mc console-cyrillic
  • sudo dpkg-reconfigure locales
  • sudo cyr