вторник, 21 октября 2008 г.

Самый добрый сайт на свете!!!

Зайдите на Самый добрый сайт на свете!!!. Зачетно - поднимает настроение :)

среда, 15 октября 2008 г.

Скрипт на perl для создания паролей

#!/usr/bin/perl -w
my @a=("a".."z","A".."Z","0".."9");
for (1..32) { print $a[int rand @a]; };
print "\n";'

вторник, 14 октября 2008 г.

Dovecot: Шифруем IMAP и POP3

  1. Первым делом создаем сертификат и секретный ключ. На вопрос о CN (Common Name) вписываем имя сервера – например «mail.pupkin.ru». В противном случае почтовый клиент может отказаться работать с сервером
    $ openssl req -new -outform PEM -out dovecot.crt -newkey rsa:2048 -nodes -keyout dovecot.key -keyform PEM -days 9999 -x509
    Вывод будет примерно таким
    Generating a 2048 bit RSA private key
    ..........................................................................+++
    ................................+++
    unable to write 'random state'
    writing new private key to 'dovecot.key'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:RU
    State or Province Name (full name) [Some-State]:Moscow Region
    Locality Name (eg, city) []:Moscow
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Pupkin & Co.
    Organizational Unit Name (eg, section) []:IT Department
    Common Name (eg, YOUR name) []:mail.pupkin.ru
    Email Address []:vasya@pupkin.ru
    Жирным шрифтом отмечены ответы.

  2. Перемещаем созданные ключи в папку Dovecot и устанавливаем права доступа к ним
    $ sudo -s
    # mkdir /etc/dovecot/ssl
    # mv dovecot.crt /etc/dovecot/ssl/dovecot.crt
    # mv dovecot.key /etc/dovecot/ssl/dovecot.key
    # chown root /etc/dovecot/ssl/dovecot.*
    # chmod 0600 /etc/dovecot/ssl/dovecot.key

  3. Правим конфигурационный файл «/etc/dovecot/dovecot.conf»
    protocols = imaps pop3s
    ssl_disable = no
    ssl_cert_file = /etc/dovecot/ssl/dovecot.crt
    ssl_key_file = /etc/dovecot/ssl/dovecot.key

  4. Перезапускаем Dovecot
    # /etc/init.d/dovecot restart
  5. Проверяем работу сервера с сертификатом
    $ openssl s_client -connect mail.pupkin.ru:imaps -debug
    Если все корректно настроили в ответ выйдет куча текста с диагностикой устанавливаемого защищенного соединения.
    В конце у меня вышло
    -----END CERTIFICATE-----
    subject=/C=RU/ST=Moscow Region/L=Moscow/O=Pupkin & Co./OU=IT Department/CN=mail.pupkin.ru/emailAddress=vasya@pupkin.ru
    issuer=/C=RU/ST=Moscow Region/L=Moscow/O=Pupkin & Co./OU=IT Department/CN=mail.pupkin.ru/emailAddress=vasya@pupkin.ru
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 1684 bytes and written 316 bytes
    ---
    New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
    Server public key is 1024 bit
    Compression: NONE
    Expansion: NONE
    SSL-Session:
    Protocol : TLSv1
    Cipher : DHE-RSA-AES256-SHA
    Session-ID: 13053ADF84C8157032B21A241E46398D4837A38F9AAA86095E32F1FDB55B704A
    Session-ID-ctx:
    Master-Key: 5CFEF98B3BF13B13C0D8BD98EDD74D827847FE2D6B2240F4BE083C54B696681901829BFC35D838FB7F64D96CA815C7AA
    Key-Arg : None
    Start Time: 1224018874
    Timeout : 300 (sec)
    Verify return code: 18 (self signed certificate)
    ---
  6. Настраиваем почтовый клиент на работу по pop3s/imaps (порты 995 и 993 соответственно)

четверг, 2 октября 2008 г.

Локальное зеркало обновлений NOD32 в Ubuntu

  • Ставим wget, bsdmainutils, unrar, apache2
    $ sudo apt-get install wget bsdmainutils unrar apache2
  • Скачиваем архив со скриптами тут.
  • Создаем директорию веб-зеркала и пользователя www-nod32
    $ sudo mkdir -p /www/nod32-updates
    $ sudo adduser --home /scripts/NOD32 --no-create-home --shell /bin/bash --disabled-password www-nod32
    $ sudo chown -R www-nod32:www-nod32 /www/nod32-updates
  • Распакуем скачанный архив в /scripts (должна появиться директория NOD32)
  • Меняем владельца директории
    $ sudo chown -R www-nod32:www-nod32 /scripts/NOD32/mirror
  • Правим updates3.sh
    # Путь к скриптам
    path_prog=/scripts/NOD32
    # Путь до баз на веб
    path_html=/www/nod32-updates
  • Правим NOD32_3UPDATE.sh
    # Путь к базам данных
    PATHN=/scripts/NOD32/mirror

    # Имя пользователя (для беcплатных серверов - пусто)
    login_name=
    # Пароль (для беcплатных серверов - пусто)
    password=

    # Адреса платных серверов обновлений (адреса дб без /nod_upd)
    #URLN=http://89.202.157.136
    #URLN=http://89.202.157.137
    #URLN=http://89.202.157.138
    #URLN=http://89.202.157.139
    #URLN=http://www.nod32.com
    #URLN=http://u20.eset.com
    #URLN=http://89.202.157.139
    #URLN=http://u20.eset.com

    # Адреса бесплатных серверов обновлений
    # Оставляю без изменения, т.к. не знаю на каких серверах будут
    # лежать обновления
    URLN=http://ved.metroland.ru/updates/nod32/
  • Проверим работу скрипта
    $ sudo -u www-nod32 /scripts/NOD32/update3.sh
Настраиваем Apache
  • Создадим новый VirtualHost
    # cat > /etc/apache2/sites-available/nod32-updates
    <VirtualHost *>
    DocumentRoot /www/nod32-updates
    ServerName nod32-updates.your.domain.ru
    CacheNegotiatedDocs On
    ErrorLog /var/log/apache2/nod32-updates.your.domain.ru-error_log
    CustomLog /var/log/apache2/nod32-updates.your.domain.ru-access_log common
    <Directory "/www/nod32-updates">
    Options FollowSymLinks -Indexes
    AllowOverride None
    </Directory>
    </VirtualHost>
    # ln -s ../sites-available/nod32-updates /etc/apache2/sites-enabled/050-nod32-updates
  • Перезагрузим Apache с новыми настройками
    $ /etc/init.d/apache2 restart

Настроим crontab
$ sudo crontab -u www-nod32 -e
Добавим строку
0 8,13,17 * * * /scripts/NOD32/update3.sh
По мотивам статьи на сайте www.volmed.org.ru