Архив автора: admin

Немаршрутизируемые в Интернет адреса (bogon networks) и безопасность

 




После прочтения заметки о даркнетах , у многих, наверное, возник вопрос: а какие именно IP-адреса не должны маршрутизироваться в Интернет и почему? И немалая часть публики, естественно, может ответить на этот вопрос, не задумываясь, но я, на всякий случай, перечислю список наиболее статичных диапазонов, которые IETF предписывает не использовать в глобальной сети Интернет. Зарезервированные диапазоны также называются Bogon/bogus networks. Официальный перечень описан в RFC6890 , RFC5735 и некоторых других. Также по ссылкам (english) доступны описание и перечень bogon подсетей от Team Cymru.




0.0.0.0/8 
Диапазон описан в RFC1122 , RFC3330 и RFC1700 как “Этот хост в этой сети” (this host on this network), хотя, учитывая варианты применения, правильнее было бы назвать его как “любой адрес”. В частности, IP-адрес 0.0.0.0 используется для:- обозначения в конфигурационных файлах серверов и выводе netstat информации о том, что определенный сервис “слушает” запросы на всех IP-адресах данного сервера;- конфигурации маршрута по умолчанию на активном сетевом оборудовании;- использования в качестве src address в запросах на получение IP-адреса (DHCPDISCOVER);- обозначения IP-адреса в суммаризованных событиях безопасности IDS/IPS/WAF/etc (например, TCP Host Sweep – обозначение dst host в случае инициации коннектов к большому количеству IP-адресов).




10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
Три вышеописанных диапазона не маршрутизируются в Интернет, поскольку зарезервированы под организацию локальных сетей ИТ-инфраструктуры компаний. Описаны изначально в RFC1918 . При этом любая организация вправе использовать любой из вышеописанных диапазонов для IP-адресного плана либо все вместе на свое усмотрение. Для взаимодействия с внешними ресурсами и партнерами во избежание пересечения адресного пространства должен использоваться NAT.




100.64.0.0/10
В соответствии с RFC6598 , используется как транслируемый блок адресов для межпровайдерских взаимодействий и Carrier Grade NAT. Особенно полезен как общее свободное адресное IPv4-пространство RFC1918, необходимое для интеграции ресурсов провайдеров, а также для выделения немаршрутизируемых адресов абонентам. Конечно, в последнем случае никто не мешает использовать RFC1918 – на откуп сетевым архитекторам.




127.0.0.0/8
В случае, если сервису необходим для работы функционирующий сетевой стек, который не будет давать сбоев при отключении от сети, используются loopback-адреса. Выделение 127.0.0.0/8 под внутренние loopback-адреса определено в RFC1122 . В отличие от адресов RFC1918 и RFC6598, адреса для loopback не должны присутствовать и обрабатываться ни в одной сети, только во внутренней таблице маршрутизации хоста.




169.254.0.0/16
В соответствии с RFC3927 , определен как Link-Local для автоматической конфигурации. Думаю, каждый человек хоть раз в жизни, но успел столкнуться с ситуацией, когда ПК, не получив IP-адрес от DHCP-сервера, присваивает сам себе непонятный и нигде не прописанный ранее IP, начинающийся на 169.254… Это и есть реализация рекомендаций из RFC3927.




192.0.0.0/24
Блок не встречается в повседневной жизни, поскольку зарезервирован под IANA для нужд IETF в соответствии с RFC6890 .




192.0.2.0/24 198.51.100.0/24 203.0.113.0/24
Эти три подсети, в соответствии с RFC5737 , зарезервированы для описания в документах. Многие, думаю, сталкивались с ситуацией, когда для статьи в журнале либо презентации на конференции нужно показать некоторое адресное пространство, которое, с одной стороны, не должно ассоциироваться с локальными RFC1918-адресами и как бы показывать Интернет, но, в то же время, и не принадлежать никому, чтобы не было лишних вопросов со стороны владельца адресов. Для этого и были выделены три подсети /24 по принципу “дарю, пользуйтесь”.




192.88.99.0/24
Частный случай из подсети 192.0.0.0/24, описанной выше, но заслуживает отдельного описания из технологического интереса. В связи с необходимостью взаимодействия новых IPv6-облаков между собой в преобладающем IPv4-транзите необходим NAT 6to4. При этом некоторые межконтинентальные сервисы, наиболее критичные из которых – корневые сервера DNS, используют технологию anycast. Наверное, это тема для отдельной заметки, но вкратце: подсеть, выделенная под anycast, может терминироваться в любой автономной системе для обеспечения отказоустойчивости. В RFC3068 был выделен пул адресов 192.88.99.0/24 для NAT 6to4 сервисов, использующих anycast. Как видим, выделен был этот пул еще в 2001 году, после чего, нахлебавшись проблем на практике, в 2015 году издаетсяRFC7526 , отменяющий RFC3068, но при этом подсеть 192.88.99.0/24 остается зарезервированной под нужды IETF.




198.18.0.0/15
Диапазон выделен под лаборатории нагрузочного тестирования (Benchmarking) в соответствии с RFC2544 и уточнением в RFC6815 , что данный диапазон не должен быть досутпен в Интернет во избежание конфликтов. Опять же, никто при этом не отменяет использование RFC1918, но для больших сетей с крупными лабораториями лишний блок /15 явно не помешает.




224.0.0.0/4
Этот диапазон в исторической классификации еще называется как Class D. Выделен под Multicast, уточнение специфики работы которого тоже вроде как отдельная заметка. ВRFC5771 подробно расписано использование подсетей внутри блока, но суть остается той же: эти адреса не закреплены ни за каким провайдером, и, соответственно, через Интернет не должны светиться.




240.0.0.0/4
В соответствии с RFC1122 , данный диапазон IP-адресов, исторически также известный как Class E, зарезервирован под использование в будущем. Юмор ситуации в том, что RFC1122 издавался еще в августе 1989 года, сейчас 2016 год, IPv4-адреса закончились, но для IETF будущее еще не наступило, потому что из всей большой подсети /4 до сих пор используется только один адрес. Но, наверное, если посчитать статистику по всем подсетям всех организаций мира, этот адрес окажется в лидерах, потому что сервисы, использующие broadcast, обращаются к адресу 255.255.255.255, который и принадлежит описанному диапазону.




Если собрать воедино описанный перечень, чем он будет полезен для безопасности сети? Рассматриваем только голый Интернет, а не локальные сегменты корпоративной сети. В корпоративных сетях, построенных на адресах RFC1918 и выходящих в Интернет через firewall, правила определения нелегитимности трафика будут несколько иными.
Итак, что делать с замеченными провайдером в “своем интернете” пакетами, в которых фигурируют bogon ip:




  1. Bogus адрес указан как destination – необходим анализ хоста-источника на заражение/компрометацию/hacktools.
  2. Src ip из зарезервированного диапазона (bogus) – необходим анализ причин спуфинга источника трафика, а также применение рекомендаций BCP38 на портах включения источника.
  3. Проверить наличие blackhole для bogon networks на своей сети.



2019-05-08T10:48:01
other

Выбираем VPN для Windows: 9 лучших сервисов с услугами виртуальной сети

Всеобщий доступ к интернету создаёт новые проблемы безопасности для простых пользователей. В интернете можно случайно запустить вредоносный скрипт или отправить пакеты данных по ненадёжному каналу, где их могут перехватить. Также нередко происходят неоправданные блокировки некоторых ресурсов сети. Со всеми этими проблемами может помочь справиться технология виртуальных частных сетей (VPN).

Читать

Разрешаем загрузку больших файлов в nginx/apache/php

Nginx




Директива client_max_body_size задаёт максимально допустимый размер тела запроса клиента, указываемый в строке «Content-Length» в заголовке запроса. Если размер больше заданного, то клиенту возвращается ошибка «Request Entity Too Large» (413). Следует иметь в виду, что браузеры не умеют корректно показывать эту ошибку.




sudo nano /etc/nginx/nginx.conf 




Далее находим или вставляем в секцию http следующую строчку:




client_max_body_size 100m;




После чего нужно будет не забыть перезагрузить nginx:




sudo service nginx reload




Apache/Php




Нужно изменить в php.ini сервера максимально разрешенный объём загружаемых файлов на нужное значение и  перезагрузить apache. Это параметры upload_max_filesize и post_max_size.







sudo nano /etc/php/8.1/apache2/php.ini




Находим и изменяем следующую директиву:




upload_max_filesize 100M




и эту:




post_max_size 100M




Сохраняем файл и перезагружаем apache:




sudo service apache2 reload




Nginx: timeout




Бывает такое, что загружаешь большой файл, а сайт отваливается по таймауту:




504 Gateway Time-out
nginx




Довольно неприятная ситуация. Ты сидишь и думаешь, а загрузился ли твой файл или нужно заново грузить… Так вот, есть и под это директива в nginx




sudo nano /etc/nginx/sites-available/yourdomain.ru




Добавляем/изменяем в секции location / {} следующие строчки (время в секундах):




location / {
...
proxy_connect_timeout 500;
proxy_send_timeout 500;
proxy_read_timeout 500;
...
}




Я указал 500 секунд, нужно понимать, что это фантастическая величина и она вам явно не нужна на сервере, но, вы можете поставить её на своё усмотрение!



2019-05-08T05:08:56
Настройка web сервера

Как легко включить TLS 1.3 в Nginx на Ubuntu 18.10, 18.04, 16.04, 14.04

Читаем статейку и настраиваем свой сервер :)



2019-05-08T02:24:48
Настройка web сервера

Кеширование исполняемого php-кода: OPCache

Обзор расширения OPCache для PHP можно почитать на хабре




Включение:




 sudo phpenmod opcache 




Выключение:




sudo phpdismod opcache 




Тут можно ознакомиться со скриптами для мониторигна работы OPCache




Тут можно почитать ещё одну полезную статью




И даже тут




А тут ещё одну 🙂



2019-05-08T02:08:19
Настройка web сервера

Основные команды SSH

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




ls




Выводит список файлов и папок в текущей директории.




ls -la или ll




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




cd




Переход в указанную директорию.
Вводится так: cd директория




mv




Перемещение или переименование файла или папки.
Вводится так: mv текущее_имя новое_имя




rm




Удаление файла или папки.
Вводится так: rm путь_к_файлу




cp




Копирование файла или папки в другое место.
Вводится так: cp имя_файла куда_скопировать




chmod




Изменяет права доступа на файл или папку.




chown




Изменяет владельца файла или папки.
Вводится так: chown пользовать:группа файл




mkdir




Создание директории по указанному пути.
Вводится так: mkdir путь




mc




Запускает файловый менеджер Midnight Commander.



2019-05-07T19:09:09
Настройка web сервера