• Pivoting или проброс портов

    Наткнулся на статью "SSH-туннели — пробрасываем порт" и захотелось ее дополнить.

    Итак, какие еще способы тунеллирования есть:

    1. Динамический доступ через SSH


    Допустим мы имеем SSH доступ в сеть, и хотим получить доступ к другим хостам/портам в этой сети. Способ уже описанный в вышеупомянутой статье предполагает знание хоста: порта куда мы хотим получить доступ. Но что если мы не знаем этого?

    Тут может пригодиться динамический доступ через SSH. Для его конфигурации используется опция ssh -D.

    ssh -D 127:0.0.1:2222 user@remotehost
    

    После подключения вы получите динамический socks4 прокси-сервер, слушающий на своей машине на порту 2222 и предоставляющий доступ к удаленной сети.

    Как воспользоваться этим доступом? Один из вариантов — использовать proxychains.

    • Устанавливаем Proxychains:

      apt-get proxychains
      

    • Конфигурируем proxychains для использования порта 2222 (на нем слушает наш прокси). Для этого редактируем файл /etc/proxychains.conf и меняем текущую конфигурацию в разделе [ProxyList] с socks4 127.0.0.1 9050 на socks4 127.0.0.1 2222
    • Теперь мы можем использовать proxychains с (почти) любой утилитой. Например, можно запустить сканирование всей удаленной сети при помощи nmap:

      proxychains nmap -sT -sV -v -P0 адрес_подсети маска_подсети
      

    Читать дальше →
    • +12
    • 22,9k
    • 7
  • Очень большой Postgres

    Так уж случилось, что последнее время приходилось заниматься оптимизацией и масштабированием различных систем. Одной из задач было масштабирование PostgreSQL. Как обычно происходит оптимизация БД? Наверное, в первую очередь смотрят на то, как правильно выбрать оптимальные настройки для работы и какие индексы можно создать. Если обойтись малой кровью не вышло, переходят к наращиванию мощностей сервера, выносу файлов журнала на отдельный диск, балансировке нагрузки, разбиению таблиц на партиции и к всякого рода рефакторингу и перепроектированию модели. И вот уже все идеально настроено, но наступает момент, когда всех этих телодвижения оказывается недостаточно. Что делать дальше? Горизонтальное масштабирование и шардинг данных.


    Читать дальше →