15.05.2015

SSH без ввода пароля / login without password / SSH ключи

+--[ RSA 2048]-+
|   . ..   .            
|  + o....+          
| o +oo o+ o  
|  ..E..  + .      
|   . .. S +        
|     .   = o        
|      . . o          
|       .            
|                    
+-----------------+

root-srv:~> ssh-keygen -t rsa
(/root/.ssh)
root-srv:~> ssh root@client mkdir -p .ssh
root-srv:~> cat .ssh/id_rsa.pub | ssh root@client 'cat >> .ssh/authorized_keys'
root-srv:~> ssh root@client


==========
1) Cоздаем открытый и закрытый ключ нашей локальной системы:

$ ssh-keygen -t rsa -q -N '' -f ~/.ssh/id_rsa

2) Если в системе есть программа ssh-copy-id, то настраиваем удаленную систему на то, чтобы она авторизовывала SSH по открытому ключу:

$ ssh-copy-id -i ~/.ssh/id_rsa user@remote.org.ua

если нет, то:
копируем открытый ключ на удаленную систему

$ scp ~/.ssh/id_rsa.pub user@remote.org.ua:~


3.2) Авторизуемся на удаленном сервере:
$ ssh user@remoute.org.ua


3.3) Заносим открытый ключ нашей локальный системы в авторизованные ключи удаленной системы, устанавливаем правильные права и "убираем за собой мусор":

remote$ [ -d ~/.ssh ] || (mkdir ~/.ssh; chmod 711 ~/.ssh)  # создаем директорию и даём права remote$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys        # добавляем открытый ключ 
remote$ chmod 600 ~/.ssh/authorized_keys                     # делаем правильные права 
remote$ rm ~/id_rsa.pub                                                   # удаляем не нужное

Ansible установка Ubuntu/CentOS

Install Ansible on Ubuntu 10.04 / 12.10 / 13.04, Debian 7
Install via source

These are the instructions for Ubuntu 12.10, Ubuntu 13.04, and Debian 7. See note below for Ubuntu 10.04.
> apt-get update
> apt-get install python-pip python-dev git -y
> pip install PyYAML jinja2 paramiko
> git clone https://github.com/ansible/ansible.git
> cd ansible
> make install
> mkdir /etc/ansible
> cp ~/ansible/examples/hosts /etc/ansible/
Install Ansible on CentOS 5.8 / 6.4, Fedora 17 / 19
CentOS 6.4
> rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
> yum install ansible -y
Fedora 17 /19
> yum install ansible -y

Скрипты втонастройки клиент/сервера Puppet script


Installing Puppet Master and Agents on Multiple VM Using Vagrant and VirtualBox


Automatically provision multiple VMs with Vagrant and VirtualBox. Automatically install, configure, and test Puppet Master and Puppet Agents on those VMs.



Puppet server and Dashboard UI / install and config on CentOS 6.6


# yum groupinstall Develop*
# yum install ntp
# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm

#nano /etc/yum.repos.d/puppetlabs.repo
// [puppetlabs-devel]
// enabled=1

# yum clean all
# yum install puppet-server -y
# yum install httpd httpd-devel mod_ssl ruby-devel rubygems gcc -y
# yum install libcurl-devel openssl-devel zlib-devel -y
# nano /etc/sysconfig/network
// HOSTNAME=puppet.xxx.com.ua

Поиск файлов locate mlocate linux

# yum install mlocate
# updatedb
# locate mod_passenger.so
..../usr/lib/ruby/gems/1.8/gems/passenger-5.0.7/buildout/apache2/mod_passenger.so

CentOS yum groupinstall

yum grouplist
yum grouplist | less
yum groupinstall "Development Tools"
yum groupinfo "Web Server" | less

yum groupinstall "Web Server"
yum groupinstall "MySQL Database client" 
yum groupinstall "MySQL Database server" 
yum groupinstall "PHP Support"

You can also combine groups in one command. So you could type the following command, and then go for coffee:

yum groupinstall "Web Server" "MySQL Database client" "MySQL Database server" "PHP Support" -y

There are a few other Group commands that are worth knowing about:
  • yum groupremove "Group Name" – will remove all of the packages in the specified group (but does not remove the dependencies, that would be bad).
  • yum groupupdate "Group Name" – updates the packages in the specified group (yum groupinstall would do the same thing)

Puppet tutorial config

Как стать кукловодом или Puppet для начинающих tutorial

http://habrahabr.ru/post/163811/
Что такое система управления конфигурацией?

Предположим, что у вас есть парк серверов, выполняющих различные задачи. Пока серверов мало и вы не растёте, вы легко настраиваете каждый сервер вручную. Устанавливаете ОС (может быть, автоматизированно), добавляете пользователей, устанавливаете софт, вводя команды в консоль, настраиваете сервисы, правите конфиги ваших любимых текстовых редакторов (nanorc, vimrc), выставляете на них одинаковые настройки DNS-сервера, устанавливаете агент системы мониторинга, настраиваете syslog для централизованного сбора логов… Словом, работы довольно много и она не особенно интересна.

Я искренне верю, что хороший админ — ленивый админ. Он не любит делать что-то несколько раз. Первая мысль — написать пару скриптов, в котором будет что-то наподобие:

servers.sh
servers="server00 server01 server02 server03 server04"

for server in $servers ; do
  scp /path/to/job/file/job.sh $server:/tmp/job.sh
  ssh $server sh /tmp/job.sh
done

job.sh
#!/bin/bash
apt-get update
apt-get install nginx
service nginx start


Вроде всё стало легко и хорошо. Нужно что-то сделать — пишем новый скрипт, запускаем. Изменения приходят на все серверы последовательно. Если скрипт хорошо отлажен — всё станет хорошо. До поры.

Теперь представьте, что серверов стало больше. Например, сотня. А изменение долгое — например, сборка чего-нибудь большого и страшного (например, ядра) из исходников. Скрипт будет выполняться сто лет, но это полбеды.

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

Самое плохое — это то, что в подобных скриптах вы описываете действия, которые необходимо выполнить для приведения системы в определенное состояние, а не само это состояние. Значит, если система изначально находилась не в том состоянии, что вы предполагали, то всё обязательно пойдет не так. Манифесты Puppet декларативно описывают необходимое состояние системы, а вычисление, как к нему прийти из текущего состояния — задача самой системы управления конфигурацией.

Для сравнения: манифест puppet, выполняющий ту же работу, что и пара скриптов из начала топика:

nginx.pp
class nginx {
  package { 'nginx':
    ensure => latest
  }
  service { 'nginx':
    ensure => running,
    enable => true,
    require => Package['nginx']
  }
}
node /^server(\d+)$/ {
  include nginx
}

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


Что такое Puppet?
Puppet — система управления конфигурацией. Архитектура — клиент-серверная, на сервере хранятся конфиги (в терминах puppet они называются манифесты), клиенты обращаются к серверу, получают их и применяют. Puppet написан на языке Ruby, сами манифесты пишутся на особом DSL, очень похожем на сам Ruby.


Первые шаги
Давайте забудем о клиентах, серверах, их взаимодействии и т.п. Пусть у нас есть только один сервер, на котором установлена голая ОС (здесь и далее я работаю в Ubuntu 12.04, для других систем действия будут несколько отличаться).

Сначала установим puppet последней версии.

wget http://apt.puppetlabs.com/puppetlabs-release-precise.deb
dpkg -i puppetlabs-release-precise.deb
apt-get update
apt-get install puppet puppetmaster


Замечательно. Теперь у нас в системе установлен puppet и с ним можно играть.


Hello, world!
Создадим первый манифест:

/tmp/helloworld.pp
file { '/tmp/helloworld':
  ensure => present,
  content => 'Hello, world!',
  mode => 0644,
  owner => 'root',
  group => 'root'
}
И применим его:

$ puppet apply helloworld.pp 
/Stage[main]//File[/tmp/helloworld]/ensure: created
Finished catalog run in 0.06 seconds

Немного о запуске
Теперь посмотрите на содержимое файла /tmp/helloworld. В нём окажется (удивительно!) строка «Hello, world!», которую мы задали в манифесте.

Вы можете сказать, что можно было сделать echo "Hello, world!" > /tmp/helloworld, это было бы быстрее, проще, не пришлось бы думать, писать какие-то страшные манифесты и вообще это нафиг никому не нужно это как-то слишком сложно, но задумайтесь серьезнее. На самом деле, необходимо было бы написать touch /tmp/helloworld && echo "Hello, world!" > /tmp/helloworld && chmod 644 /tmp/helloworld && chown root /tmp/helloworld && chgrp root /tmp/helloworld, чтобы гарантированно добиться того же результата.

Давайте по строкам разберём, что именно содержится в нашем манифесте:

/tmp/helloworld.pp
file { '/tmp/helloworld':
    ensure  => present,          # файл должен существовать
    content => 'Hello, world!',  # содержимым файла должна являться строка "Hello, world!"
    mode    => 0644,             # права на файл - 0644
    owner   => 'root',           # владелец файла - root
    group   => 'root'            # группа файла - root
}


В терминах Puppet здесь описан ресурс типа файл с названием (title) /tmp/helloworld.


Ресурсы
Ресурс — это самая мелкая единица абстракции в Puppet. Ресурсами могут быть:

файлы;
пакеты (Puppet поддерживает пакетные системы многих дистрибутивов);
сервисы;
пользователи;
группы;
задачи cron;
и т. д.
Синтаксис ресурсов вы можете невозбранно подсмотреть в документации.

В Puppet есть возможность добавлять свои ресурсы. Поэтому если хорошенько заморочиться, можно докатиться до манифестов наподобие:

webserver.pp
include webserver;
webserver::vhost { 'example.com':
    ensure => present,
    size   => '1G',
    php    => false,
    https  => true  
}

Puppet при этом будет создавать logical volume размером в 1 ГиБ на сервере, монтировать его куда положено (например в /var/www/example.com), добавлять нужные записи в fstab, создавать нужные виртуальные хосты в nginx и apache, рестартовать оба демона, добавлять в ftp и sftp пользователя example.com с паролем mySuperSecretPassWord с доступом на запись в этот виртуальный хост.

Вкусно? Не то слово!

Причем, самое вкусное, на мой взгляд — это не автоматизация рутины. Если вы например, идиот, и постоянно пересетапливаете ваши серверы в продакшне, Puppet позволит подхватить старый любовно созданный набор пакетов и конфигов с нуля в полностью автоматическом режиме. Вы просто устанавливаете Puppet-агент, подключаете его к вашему Puppet-мастеру и ждёте. Всё придёт само. На сервере волшебным (нет, правда волшебным!) образом появятся пакеты, разложатся ваши ssh-ключи, установится фаервол, придут индивидуальные настройки bash, сети, установится и настроится весь софт, который вы предусмотрительно ставили с помощью Puppet.
Кроме того, Puppet при старании позволяет получить самодокументируемую систему, ибо конфигурация (манифесты) сами же являются костяком документации. Они всегда актуальны (они же работают уже), в них нет ошибок (вы же проверяете свои настройки перед запуском), они минимально подробны (работает же).


Ещё немного магии


Немного о кроссдистрибутивности
В Puppet есть возможность использовать кроссдистрибутивные манифесты, это одна из целей, для которых он создавался. Я намеренно никогда не пользовался этим и вам не рекомендую. Парк серверов должен быть максимально гомогенным в плане системного ПО, это позволяет не думать в критические моменты «айблин, тут
rc.d, а не init.d» (реверанс в сторону ArchLinux) и вообще позволяет меньше думать на рутинных задачах.

Многие ресурсы зависят от других ресурсов. Например, для ресурса «сервис sshd» необходим ресурс «пакет sshd» и опционально «конфиг sshd»
Посмотрим, как это реализуется:
file { 'sshd_config':
    path    => '/etc/ssh/sshd_config',
    ensure  => file,
    content => "Port 22
    Protocol 2
    HostKey /etc/ssh/ssh_host_rsa_key
    HostKey /etc/ssh/ssh_host_dsa_key
    HostKey /etc/ssh/ssh_host_ecdsa_key
    UsePrivilegeSeparation yes
    KeyRegenerationInterval 3600
    ServerKeyBits 768
    SyslogFacility AUTH
    LogLevel INFO
    LoginGraceTime 120
    PermitRootLogin yes
    StrictModes yes
    RSAAuthentication yes
    PubkeyAuthentication yes
    IgnoreRhosts yes
    RhostsRSAAuthentication no
    HostbasedAuthentication no
    PermitEmptyPasswords no
    ChallengeResponseAuthentication no
    X11Forwarding yes
    X11DisplayOffset 10
    PrintMotd no
    PrintLastLog yes
    TCPKeepAlive yes
    AcceptEnv LANG LC_*
    Subsystem sftp /usr/lib/openssh/sftp-server
    UsePAM yes",
    mode    => 0644,
    owner   => root,
    group   => root,
    require => Package['sshd']
}

package { 'sshd':
    ensure => latest,
    name   => 'openssh-server'
}

service { 'sshd':
    ensure    => running,
    enable    => true,
    name      => 'ssh'
    subscribe => File['sshd_config'],
    require   => Package['sshd']
}


Здесь используется инлайн-конфиг, который делает манифест некрасивым. На самом деле так почти никогда не делается, существует механизм шаблонов, основанный на ERB, и возможность просто использовать внешние файлы. Но нас не это интересует.

Самые вкусные строчки здесь — это строчки зависимостей — require и subscribe.

Puppet поддерживает много вариантов описания зависимостей. Подробно, как всегда, можно прочитать в документации.


Require означает ровно то, что ожидается. Если ресурс А зависит (require) от ресурса Б, то Puppet сначала обработает ресурс Б, а потом вернётся к ресурсу А.
Subscribe даёт чуть более хитрое поведение. Если ресурс А подписан (subscribe) на ресурс Б, то Puppet сначала обработает ресурс Б, а потом вернётся к ресурсу А (поведение как у require), и далее при изменениях Б, будет заново обрабатываться А. Это очень удобно для создания сервисов, зависящих от их конфигов (как в примере выше). Если конфиг изменяется, сервер перезапускается, не нужно самому об этом беспокоиться.

Существуют также notify, before, но мы их здесь касаться не будем. Интересующимся — в уже упопомянутуюдокументацию.


Итог
На текущий момент мы уже научились писать простые манифесты с указанием зависимостей между ресурсами. Очень многие простые демоны ложатся в модель «пакет-конфиг-сервис», поэтому даже в таком виде puppet уже годится для использования.
В последующих топиках будет описано, как использовать более мощные возможности puppet при создании сферического LAMP-хостинга в вакууме (если есть другие идеи сферического проекта для обучения — добро пожаловать в личку или в комментарии).


Ссылки по теме

Документация
Официальный сайт
Сборник шаблонов
Википедия

14.05.2015

Nutanix Community Edition


Теперь вы можете получить облачное решение высочайшего уровня функциональности, включая уникальное распределенное управление гипервизором KVM, резервирование данных, компрессию, дедупликацию и прочее (сотни «фич») на практически любом серверном оборудовании (для тестов я например попробовал на HP G7 DL380 — все работает прекрасно). Бесплатно.

Скриншот — «кластер» из одного нода.

image


1cloud.ru хостинг-провайдер статьи

linkssearch

Bookmarks

12.05.2015

Жизненный цикл атаки (CPL malware)

Цепочка компрометации пользователя начинается с распространения злоумышленниками файлов вредоносной программы через сообщения электронной почты. Такое сообщение может включать в себя вложение, либо содержать в тексте гиперссылку на файл, расположенный на удаленном сервере. Как правило, сама вредоносная DLL упакована в ZIP-архив (вложение сообщения электронной почты).


Рис. Жизненный цикл атаки с использованием CPL malware.

Zarp инструмент для атаки сетей

NETWORK ATTACK TOOL https://github.com/hatRiot/zarp
Zarp — это инструмент для атаки сетей, заточенный под атаки в локальных сетях. Это не просто набор эксплойтов для конкретных уязвимостей — инструмент использует в своей работе архитектурные недостатки сетей, протоколов и так далее. Программа может работать с не сколькими системами одновременно и все делать параллельно: отравлять трафик, снифать,
дампить важную информацию и просто атаковать напрямую. Различные сниферы включают
автоматический парсинг имен пользователей и паролей из различных протоколов, как HTTP,
так и других. Есть также и грубые атаки, такие как DoS. Инструмент полностью написан на Python и для своей работы еще использует известную библиотеку Scapy. Также для полной функциональности программы может потребоваться наличие следующих инструментов:

airmon-ng suite,
tcpdump, libmproxy, paramiko, nfqueue-bindings.

Программа может работать как в режиме командной строки, так и в интерактивном режиме.
Основные группы возможностей:
• Poisoners;
• DoS Attacks;
• Sniffers;
• Scanners;
• Parameter;
• Services;
• Attacks;
• Sessions.
В текущей версии программы представлено
34 модуля.

PYPHISHER позволяющий проводить фишинговые email-рассылки

PYPHISHER https://github.com/sneakerhax/PyPhisher

PyPhisher — это до безобразия простой Pythonскрипт (67 строчек кода), позволяющий проводить фишинговые email-рассылки. Скрипт имеет commandline-интерфейс и всего несколько параметров, что позволяет его легко использовать и масштабировать.
Данный инструмент был создан для задач фишинговых рассылок при тестах на проник-
новение. Скрипт на вход берет прегенеренный HTML-код (например, полностью скопированная версия письма от магазина или платежной системы) письма, заменяет в нем все ссылки на необходимые и отправляет жертве. Ранее в подобных программах приходилось в основном заменять ссылки вручную.

Параметры запуска:
• -server — имя сервера;
• -port — номер порта;
• -html — текст письма;
• -url_replace — замененная ссылка;
• -subject — тема письма;
• -sender — отправитель письма;
• -sendto — получатель письма.
Пример использования:

PyPhisher.py --server mail.server.com --port 25 --username user --password password --html phish.txt --url_replace phishlink.com --subject Read --sender important@phish.com --sendto target@company.com

WordPress

Исследованием безопасности WordPress занялись не вчера, поэтому существует достаточное количество инструментов, позволяющих автоматизировать рутинные задачи.

Nmap:
• определение версии и темы с помощью скрипта http-wordpress-info
(goo.gl/1qyyQv)
nmap -sV --script http-wordpress-info <ip>
• подбор пароля по словарям
nmap -p80 --script http-wordpress-brute --script-args 'userdb=users.txt,passdb=passwords.txt' example.com

Metasploit:
• модуль для определения версии: auxiliary/scanner/http/wordpress_scanner;
• модуль для определения имени пользователя auxiliary/scanner/http/wordpress_login_enum.

WPScan:
• перечисление установленных плагинов: wpscan --url www.exmple.com --enumerate p;
• перечисление установленных тем: wpscan --url www.exmple.com --enumerate t;
• перечисление установленного timthumbs: wpscan --url www.example.com --enumerate tt;
• определение имени пользователя: wpscan --url www.example.com --enumerate u;
• подбор пароля по словарю для пользователя admin: wpscan --url www.example.com --wordlist wordlist.txt --username admin;
• подбор пароля с использованием связки имя пользователя / пароль
с числом потоков, равным 50: wpscan --url www.example.com --wordlist wordlist.txt --threads 50.

Docker команды

Установка докера:
sudo yum install docker-io

Запуск команд в контейнере:
sudo docker run -t ubuntu:latest /usr/bin/top

Зайти в контейнер и установить нужный софт:
$ sudo docker run -t -i ubuntu:latest /bin/bash
# apt-get update
# apt-get install nginx
# <CTRL+D>

Что, если мы хотим запустить Firefox внутри вир-
туального окружения? Нет ничего проще, открываем
Docker Hub (hub.docker.com) в браузере, нажимаем
Browse & Search и вбиваем firefox. На экран вывалится
список результатов. Смотрим, kennethkl/firefox вро-
де вполне подходит. Клацаем по нему и видим инфу,
как все это дело запустить. Автор говорит нам выпол-
нить такую команду:

$ sudo docker run -d --name firefox -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix kennethkl /firefox

На этом же примере, кстати, можно ознакомиться с еще четырьмя полез-
ными опциями команды docker run:

• -d — «демонизирует» контейнер, то есть просто отключает
Docker от STDOUT виртуального окружения и позволяет
ему работать в фоне;
• --name — имя контейнера, которое он получит вместо
идентификатора;
• -e — позволяет «пробросить» в виртуалку переменную
окружения;
• -v — пробрасывает указанный файл или каталог (формат
/файл/на/хост/системе:/файл/в/виртуалке или просто
/файл/на/хост/системе, если пути совпадают).

более простой способ поиска образов Docker, с помощью команды docker search:
$ sudo docker search nginx

Единственный способ запустить Docker
в OS X или Windows — это установить его
в виртуальную машину. Не обязательно
делать это вручную, можно воспользо-
ваться уже готовым решением, например
boot2docker. Это набор скриптов, которые
позволяют быстро развернуть виртуальную
машину с Linux и Docker внутри VirtualBox
и запустить ее с автоматическим открытием
доступа по SSH. Инструкцию по его исполь-
зованию и сам инсталлятор можно найти
на официальном сайте Docker (docs.docker.com/installation).

Juniper SRX: Обновляем версию JunOS


Сегодня я хотел бы рассказать как можно обновить версию JunOS на вашем Juniper SRX. Я буду экспериментировать с SRX240B.

Пост будет полезен начинающим администраторам, матерые гуру не найдут тут ничего интересного.

Заинтересовало? Прошу под кат.


Для начала необходимо скачать свежую версию JunOS. Сделать это можно на официальном сайте или…

Рекомендую посмотреть SHA1 хэш файла, чтобы убедиться в его целостности:
image

Берем обычную USB флешку, форматируем ее в FAT32 (JunOS понимает только FAT16/FAT32 на USB накопителях) и копируем туда скачанный с сайта образ. На всякий случай проверим его SHA1 хэш:
iMac:~ Cartman$ diskutil list /dev/disk1
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.0 GB     disk1
   1:                 DOS_FAT_32 PQI                     1.0 GB     disk1s1
iMac:~ Cartman$ ls -la /Volumes/PQI/
total 302912
drwxrwxrwx@ 1 Cartman  staff       4096 Jul 22 22:02 .
drwxrwxrwt@ 6 root     admin        204 Jul 22 22:01 ..
-rwxrwxrwx  1 Cartman  staff  155083241 Jun  5 02:09 junos-srxsme-12.1X46-D20.5-domestic.tgz
iMac:~ Cartman$ openssl sha1 /Volumes/PQI/junos-srxsme-12.1X46-D20.5-domestic.tgz 
SHA1(/Volumes/PQI/junos-srxsme-12.1X46-D20.5-domestic.tgz)= 98076db582d6e6e4dbd39657aff8756acda263b4


Подключаемся к устройству через консоль или SSH под учетной записью root (допустим мы подключаемся по SSH не под root):
cartman@gw-jsrx240> start shell 
% su -
Password: YOUR_ROOT_PASSWORD
root@gw-jsrx240% whoami
root
root@gw-jsrx240% id
uid=0(root) gid=0(wheel) groups=0(wheel), 5(operator), 10(field), 31(guest), 73(config)
root@gw-jsrx240% 

Посмотрим какие устройства уже созданы:
root@gw-jsrx240% ls /dev/da*
/dev/da0        /dev/da0s1a     /dev/da0s2      /dev/da0s2c     /dev/da0s3c     /dev/da0s3f     /dev/da0s4a     /dev/da0s4e
/dev/da0s1      /dev/da0s1c     /dev/da0s2a     /dev/da0s3      /dev/da0s3e     /dev/da0s4      /dev/da0s4c


Теперь подключим нашу USB флешку в любой свободный порт и посмотрим на список устройств еще раз:
root@gw-jsrx240% ls /dev/da*
/dev/da0        /dev/da0s1c     /dev/da0s2c     /dev/da0s3e     /dev/da0s4a     /dev/da1
/dev/da0s1      /dev/da0s2      /dev/da0s3      /dev/da0s3f     /dev/da0s4c     /dev/da1s1
/dev/da0s1a     /dev/da0s2a     /dev/da0s3c     /dev/da0s4      /dev/da0s4e


Сравнивая вывод двух команд находим, что флешка определилась как /dev/da1, а единственный на ней раздел как/dev/da1s1.

Теперь создадим каталог и смонтируем туда нашу флешку (не под учетной записью root команда mount не отработает):
root@gw-jsrx240% mkdir /var/tmp/usbflash
root@gw-jsrx240% mount -t msdos /dev/da1s1 /var/tmp/usbflash
root@gw-jsrx240% cd /var/tmp/usbflash/
root@gw-jsrx240% ls -l
total 302912
-rwxr-xr-x  1 root  wheel  155083241 Jun  5 06:09 junos-srxsme-12.1X46-D20.5-domestic.tgz


Дело осталось за малым, перейдем в Operational Mode и установим прошивку:
root@gw-jsrx240% cli
cartman@gw-jsrx240> request system software add junos-srxsme-12.1X46-D20.5-domestic.tgz


После ввода этой команды в консоль начнет вываливаться лог установки ОС, после чего SRX перезагрузится.

Проверим, что JunOS обновлен:
cartman@gw-jsrx240> show version 
Hostname: gw-jsrx240
Model: srx240b
JUNOS Software Release [12.1X46-D20.5]


Если вы любите хайку, то можно немножко себя развлечь:
cartman@gw-jsrx240> show version and haiku 
Hostname: gw-jsrx240
Model: srx240b
JUNOS Software Release [12.1X46-D20.5]


        IS-IS sleeps.
        BGP peers are quiet.
        Something must be wrong.

Результаты исследования, оказались не слишком оптимистичны.


10.05.2015

Тестирование Fireeye EX в режиме MTA + URL Dynamic Analysis / Test Fireeye EX MTA + URLDA

Были добавлены следующие настройки - URL Dynamic Analysis.
URL Dynamic Analysis - позволяет EX анализировать URL-адреса, которые указывают на объекты, такие как ZIP, EXE, PDF,DOC и DOCX файлы. Основываясь на набор внутренних правил безопасности, электронная EX будет скачать объект из ссылочного URL и предавать объект в свой MVX для анализа.(Не NX !) Если объект является вредоносными, то EX может
немедленно заблокировать электронную почту не доходя до конечного потребителя.

Прописываем ip на интерфейс ether2:
no interface ether2 dhcp
interface ether2 duplex auto
interface ether2 ip address 192.168.1.232 /24
interface ether2 mtu 1500
no interface ether2 shutdown
interface ether2 speed auto
no interface ether2 zeroconf

Прописываем тот же ip в веб морду: