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

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

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

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

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

  1. #!/usr/bin/perl -w
  2. my @a=("a".."z","A".."Z","0".."9");
  3. for (1..32) { print $a[int rand @a]; };
  4. 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»
    1. protocols = imaps pop3s
    2. ssl_disable = no
    3. ssl_cert_file = /etc/dovecot/ssl/dovecot.crt
    4. 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
    1. # Путь к скриптам
    2. path_prog=/scripts/NOD32
    3. # Путь до баз на веб
    4. path_html=/www/nod32-updates
  • Правим NOD32_3UPDATE.sh
    1. # Путь к базам данных
    2. PATHN=/scripts/NOD32/mirror
    3. # Имя пользователя (для беcплатных серверов - пусто)
    4. login_name=
    5. # Пароль (для беcплатных серверов - пусто)
    6. password=
    7. # Адреса платных серверов обновлений (адреса дб без /nod_upd)
    8. #URLN=http://89.202.157.136
    9. #URLN=http://89.202.157.137
    10. #URLN=http://89.202.157.138
    11. #URLN=http://89.202.157.139
    12. #URLN=http://www.nod32.com
    13. #URLN=http://u20.eset.com
    14. #URLN=http://89.202.157.139
    15. #URLN=http://u20.eset.com
    16. # Адреса бесплатных серверов обновлений
    17. # Оставляю без изменения, т.к. не знаю на каких серверах будут
    18. # лежать обновления
    19. URLN=http://ved.metroland.ru/updates/nod32/
  • Проверим работу скрипта
    $ sudo -u www-nod32 /scripts/NOD32/update3.sh
Настраиваем Apache
  • Создадим новый VirtualHost
    # cat > /etc/apache2/sites-available/nod32-updates
    1. <VirtualHost *>
    2. DocumentRoot /www/nod32-updates
    3. ServerName nod32-updates.your.domain.ru
    4. CacheNegotiatedDocs On
    5. ErrorLog /var/log/apache2/nod32-updates.your.domain.ru-error_log
    6. CustomLog /var/log/apache2/nod32-updates.your.domain.ru-access_log common
    7. <Directory "/www/nod32-updates">
    8. Options FollowSymLinks -Indexes
    9. AllowOverride None
    10. </Directory>
    11. </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
Добавим строку
  1. 0 8,13,17 * * * /scripts/NOD32/update3.sh
По мотивам статьи на сайте www.volmed.org.ru