Contact Preferences; Opt-In and Opt-Out
We would like to keep in touch with you in ways that you find to be beneficial. If you don’t want us to use your contact information to communicate with you for promotional purposes, please tell us that when you provide your contact information. You can also let us know your preference later by clicking on this link and following the instructions on that page or by following the instructions in various communications that we may send you. Keep in mind that these preferences regarding promotional contacts do not mean that we might not contact you for other reasons, such as those related to an order you placed, an inquiry you made, a legally required notice and so on.
Top Alternatives to ngrok
-
nginx is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018. …
-
Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling. …
-
PageKite is a system for exposing localhost servers to the public Internet. It is most commonly used to make local web servers or SSH servers publicly visible, although almost any TCP-based protocol can work if the client knows how to use an HTTP proxy. …
-
It is the only complete API development environment, used by nearly five million developers and more than 100,000 companies worldwide. …
-
The #1 cross-platform terminal with built-in ssh client which works as your own portable server management system in any situation. …
-
It can be installed under macOS and Windows with just a few clicks. It provides them with all the tools they need to run WordPress on their desktop PC for testing or development purposes, for example. It doesn’t matter if you prefer Apache or Nginx or if you want to work with PHP, Python, Perl or Ruby. …
-
GoTTY is a simple command line tool that turns your CLI tools into web applications. …
-
warp
warp lets you securely share your terminal with one simple command: warp open. When connected to your warp, clients can see your terminal exactly as if they were sitting next to you. You can also grant them write access, the equivalent of handing them your keyboard. …
ABI
Прежде чем пытаться перехватывать вызовы, нужно понять, как передаются интересующие нас параметры. Для этого напишем простую программу на Go, использующую библиотеку (в качестве принимающей стороны будет выступать netcat):
Итак, для перехвата траффика нас интересуют:
- Уникальный идентификатор потока (нужен для того, чтобы различать несколько одновременно активных потоков).
- Указатель на буфер с данными.
- Длина буфера с данными.
В выводе objdump на функции github.com/inconshreveable/muxado.(*stream).Write (Забавно, что разработчики Go, похоже, не заморачивались с name mangling.) отчетливо видна загрузка аргументов со стека:
Осталось понять, где именно на стеке лежат нужные нам значения. Для этого воспользуемся gdb и выведем состояние стека на момент вызова функции.
Первый элемент данного массива — адрес возврата, и в передаче аргументов он принимать участие не может. Два последних, очевидно, представляют из себя адрес массива и его длину; так как указатель на поток идет в списке аргументов первым, логично предположить, что именно он находится во второй ячейке. Его можно (с оговорками) использовать в качестве уникального идентификатора потока.
Итак, теперь мы знаем, как расположены в памяти аргументы функции (*stream).Write (для (*stream).Read всё точно так же, так как у функций одинаковый прототип). Осталось реализовать сам перехват.
Правильное время
Настраиваем временную зону:
timedatectl set-timezone Europe/Moscow
* В данном примере мы задаем зону по московскому времени.
* Список всех доступных зон можно посмотреть командой timedatectl list-timezones. Если мы увидим только одну зону UTC, скорее всего, у нас установлена минимальная версия Ubuntu. Для установки всех зон вводим apt-get install tzdata.
Устанавливаем утилиту для синхронизации времени, разрешаем запуск демона и стартуем его.
а) если на системе Ubuntu / Debian:
apt-get install chrony
systemctl enable chrony
б) если на системе Rocky Linux / CentOS / Red Hat:
yum install chrony
systemctl enable chronyd —now
Acceptable Use.
You agree that any of the below activities are considered prohibited usage and will result in immediate account suspension or cancellation without a refund and the possibility that ngrok will impose fees; and/or pursue civil remedies without providing advance notice.
The ngrok Services may only be used for lawful purposes. Transmission, distribution, or storage of any information, data or material in violation of United States or state regulation or law, or by the common law, is prohibited. This includes, but is not limited to, material protected by copyright, trademark, trade secret, or other intellectual property rights. The Services may not be used to facilitate infringement of these laws in any way.
Устанавливаем sqlmap
Цитата с официального сайта: «Sqlmap — это инструмент для тестирования на проникновение с открытым исходным кодом, который автоматизирует обнаружение и использование недостатков SQL-инъекций и захват серверов баз данных».
Подробнее о sqlmap ты можешь прочесть в архивной статье 2011 года «Sqlmap: SQL-инъекции».
С установкой все элементарно. Перед тобой есть выбор: поставить стабильную версию 1.4.3 или самую новую 1.4.5.34. Первая ставится проще некуда:
И все. Чтобы запустить утилиту, пропиши команду
Sqlmap 1.4.3
Или же ты можешь поставить себе более новую версию, которая еще находится в разработке. Для этого нужно клонировать официальный проект sqlmap с GitHub:
Далее переходи в папку с sqlmap:
И, используя , запускай sqlmap с таким же обязательным параметром:
Sqlmap 1.4.5.34
Теперь больше половины баз данных интернета могут оказаться в твоем смартфоне! Но не забывай, что, применяя этот мощный инструмент, ты рискуешь нажить проблемы с законом.
ngrok Description
The ngrok program makes local services available on the Internet even if the computer does not have a white IP address and is located behind NAT and firewalls. Using ngrok, any port on your local computer will be accessible through a secure tunnel from the Internet. For example, you can make your local web server accessible from the Internet through a direct link without additional configuration.
How the program works
You download and run the program on your machine and specify the network service port, usually a web server.
The program connects to the ngrok cloud service, which gives you the generated address (third-level domain). If you open this address in a web browser, the traffic will be redirected to your local network service or to any address that you specified.
What is ngrok suitable for?
- Demonstration of web sites without deployment on real hosting
- Create web hooks on your computer for software development
- Testing mobile applications connected to a locally running backend
- Stable addresses for connected devices deployed in the field
- Launching personal cloud services from your home
Author: Keith Rarick
License: Apache License
Your California Privacy Rights
California Do Not Track Notice: Because there are not yet common, industry accepted “do not track” standards and systems, our website does not respond to Do Not Track signals. In addition, we may allow third parties to collect personal data from your activity on our website, as described in the “Information Collection and Use” section above.
California Disclosure Information: Although we do not disclose to any third parties for their marketing purposes any personally identifiable information, California residents are entitled to receive the following disclosure information under California law:
EXCLUSION OF WARRANTIES
YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICE IS AT YOUR SOLE RISK AND THAT THE SERVICES ARE PROVIDED «AS IS» AND «AS AVAILABLE.»
NOTHING IN THESE TERMS, SHALL EXCLUDE OR LIMIT NGROK’s WARRANTY OR LIABILITY FOR LOSSES WHICH MAY NOT BE LAWFULLY EXCLUDED OR LIMITED BY APPLICABLE LAW.
NGROK MAKES NO EXPRESS WARRANTIES AND DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES REGARDING THE SERVICES, INCLUDING EXPRESS AND IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. WITHOUT LIMITING THE GENERALITY OF THE FOREGOING, NGROK DOES NOT REPRESENT OR WARRANT TO YOU THAT: (A) YOUR USE OF THE SERVICES WILL MEET YOUR REQUIREMENTS, (B) YOUR USE OF THE SERVICES WILL BE UNINTERRUPTED, TIMELY, SECURE OR FREE FROM ERROR.
ngrok paid plans
Some features are only available with a paid plan. Here is a list of those features.
reserved tunnels
Reserved Domains
Reserve your ngrok.io subdomains so that they are never provisioned to another user and are always available for your use. This allows you to stop and restart your tunnels at will and always maintain a persistent endpoint for your clients.
ngrok http -subdomain myapp 80
Reserved TCP Addresses
Reserve a unchanging IP and port exclusive for your use. Perfect for personal cloud services or anything you expose via ngrok TCP tunnels.
ngrok tcp —remote-addr 1.tcp.ngrok.io:21011 22
domain customization
Custom Subdomains
Your app will appear on https://myapp.ngrok.io instead of on a randomly chosen subdomain. These subdomains are reserved for your account and give you a persistent endpoint to drop into your clients.
ngrok http -subdomain myapp 80
Tunnels on Your Own Domains
Go one step further and run tunnels over your own domain names! CNAME your own domain to your reserved ngrok tunnel and easily put the power of ngrok behind your own brand.
ngrok http -hostname myapp.mydomain.com 8080
Wildcard Domains
Tunnel HTTP requests for all of your subdomains to a local service with just a single command.
ngrok http -hostname *.yourname.com 8080
greater control
End-to-End TLS Tunnels
Tunnel HTTPS (or other TLS) traffic to your local services end-to-end encrypted with your own SSL certificate and private key. You can even run them over your own domains!
ngrok tls -hostname yourdomain.com 443
TLS Client Termination
Use ngrok’s TLS tunnels with end-to-end encryption even if your local service doesn’t support TLS termination by offloading it to the ngrok client!
ngrok tls -crt tls.crt -key tls.key 443
IP Whitelisting
Whitelist access to your tunnel endpoints by IP address or IP range for additional security of your tunneled services. Prevent unauthorized clients from ever connecting to your tunnel endpoints.
guaranteed scale
Scaled Usage
Paid plans offer higher throughput and
resource limits across all of ngrok’s feature set.
ngrok’s plans are designed to scale with your needs and
guarantee that as your traffic ramps, up ngrok’s features scale with you.
Dedicated Support
Having a problem with ngrok? With dedicated
support you get answers and help faster.
start Help
Name:
start starts tunnels by name from the configuration file.
Usage:
ngrok start
Description:
Starts tunnels by name from the configuration file. You may specify any number of tunnel names. You may start all tunnels in the configuration file with the —all switch.
Examples:
Start tunnel named ‘dev’ in the configuration file:
ngrok start dev
Start tunnels named ‘web’ and ‘blog’:
ngrok start web blog
Start all tunnels defined in the config file:
ngrok start --all
Options:
--all start all tunnels in the configuration file --authtoken ngrok.com authtoken identifying a user --config path to config files; they are merged if multiple --log "false" path to log file, 'stdout', 'stderr' or 'false' --log-format "term" log record format: 'term', 'logfmt', 'json' --log-level "info" logging level --none start running no tunnels --region ngrok server region (default: us)
Библиотека muxado
Проверим, действительно ли ngrok использует библиотеку muxado:
Из вывода этой команды можно сделать несколько выводов (простите за тавтологию):
- ngrok действительно использует данную библиотеку.
- Автор не пытался как-либо обфусцировать исполняемый файл, так как в нем оставлены символы.
Также заметим, что ошибка от сервера была получена по защищенному (TLS) соединению, что означает, что протокол muxado используется внутри TLS-сессии. Это позволяет предположить, что поверх muxado данные передаются открытым текстом, так как дополнительное шифрование было бы избыточным. Таким образом, чтобы снять незашифрованный дамп траффика, достаточно перехватить вызовы (*stream).Read и (*stream).Write.
Agreement
These Terms of Service (the «Terms») cover your use of the services ngrok provides, including the ngrok.com website (the «Site»), the ngrok API, the ngrok tunneling service, the ngrok client software, and any other software or services offered by ngrok in connection with any of the above services (the «ngrok Services» or the «Services»). «ngrok» means the owner and operator of the ngrok Services which distributes the ngrok software and services.
You must agree to the Terms in order to use the Services. Your use of the ngrok Services means your acceptance of and agreement to the Terms. ngrok will treat your use of any portion of the Services as acceptance of, and agreement to, the Terms from that point on.
ngrok may make changes to the Terms from time to time. We will provide notice on the dashboard of the ngrok service if the Terms change in any substantive way. We will provide at least seven (7) days’ notice before the changes take effect, during which period of time you may reject the changes by terminating your account.
We may terminate or suspend access to the Services immediately, without prior notice or liability (other than refunding pre-paid fees to the extent we terminate based on no action or omission on your part), for any reason whatsoever, including, but not limited to, if you breach any of the Terms. All provisions of the Terms which, by their nature, should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnifications and limitations of liability.
В чем разница между Linux и Android
Те, кто активно пользуется операционной системой Linux на своем персональном компьютере или ноутбуке, знает, что она довольно сильно отличается от мобильной ОС андроид. Очевидно, что это две разные платформы, одна из которых ориентирована на ПК, а другая — на портативные гаджеты. Android больше ориентирован для сенсорных экранов и взаимодействие с ними, то время как Линукс по большей части способен лишь выполнять операции через мышь и клавиатуру.
Девайсы с Ubuntu for Android
Мало кто знает, но есть у них и много общего. Мобильная платформа создана на ядре Linux и использует собственную реализацию Java Virtual Machine от компании Google. Это их объединяющая черта, которая связывает системы по многих параметрам. Так, например, права суперпользователя на мобильных девайсах появились вследствие создания учетной записи администратора (root) на Unix-подобных системах.
Андроид — очень многофункциональная система, что объясняется наличием поддержки Java-модулей. Чистый линукс можно представить как ОС, которая идеально подходит для устройств с ограниченными функциям: тостеров, холодильников, стиральных машин и т. д. Она позволяет этим приборам использовать всю мощь и оптимизацию Unix, которая может быть дополнена огромным количеством программ и функций для работы с периферией и датчиками.
К сведению! Смартфоны не являются однофункциональными гаджетами и часто искажают традиционные представления о линукс. Однако андроид позволяет производителям и пользователям использовать собственные схемы его использования для обновления, корректировки ОС под себя и т. д.
Поставить линукс на телефон сегодня вполне возможно
Справка по команде http
Имя:
http запускает HTTP туннель.
Использование:
ngrok http
Описание:
Запускает туннель, прослушивающий HTTP/HTTPS трафик с указанным именем хоста. Заголовок HTTP Host на входящих публичных запросах проверяется, чтобы определить, какой туннель ему подходит.
Конечные точки HTTPS завершают трафик TLS на сервере ngrok с помощью сертификатов ngrok.io. Затем расшифрованный HTTP-трафик направляется через безопасный туннель, а затем на ваш локальный сервер. Если вы не хотите, чтобы ваш трафик TLS заканчивался на сервере ngrok, используйте туннель TLS или TCP.
Примеры:
Перенаправляет субдомен ngrok.io на локальный порт 80:
ngrok http 8080
Перенаправляет трафик на example.com:9000:
ngrok http example.com:9000
Запрашивает имя субдомена: ‘bar.ngrok.io’:
ngrok http -subdomain=bar 80
Запрашивает туннель ‘ex.com’ (DNS CNAME):
ngrok http -hostname=ex.com 1234
Запрашивает basic аутентификацию на конечной точке тоннеля:
ngrok http -auth='falken:joshua' 80
Переписывает заголовок Host на ‘ex.com’:
ngrok http -host-header=ex.com 80
Открывает доступ из интернета к локальным файлам в /var/log:
ngrok http file:///var/log
Перенаправляет на локальный https сервер:
ngrok http https://localhost:8443
Опции:
--auth включает basic аутентификацию на конечной точке туннеля, 'ПОЛЬЗОВАТЕЛЬ:ПАРОЛЬ' --authtoken токен ngrok.com для аутентификации пользователя --bind-tls "both" прослушивать http, https или both: true/false/both --config путь до конфигурационных файлов; если указано несколько, то они используются все --host-header установить заголовок Host; если 'rewrite' использовать локальный адрес в качестве имени хоста --hostname туннель хоста на произвольном имени (требует DNS CNAME) --inspect включить/отключить интроспекцию (самоанализ) http --log "false" путь до файла журнала, 'stdout', 'stderr' или 'false' --log-format "term" формат записи журнала: 'term', 'logfmt', 'json' --log-level "info" уровень журнала --region регион сервера ngrok (по умолчанию: us) --subdomain разместить туннель на указанном субдомене
Что нужно знать и сделать перед установкой
Первое, о чем следует позаботиться, — это права root. Без них некоторые функции установленных нами утилит могут не поддерживаться или работать некорректно. Поэтому настоятельно рекомендую их заполучить. Особенно это касается пользователей с Android 10 и более поздних версий.
Получение root в каждом случае уникально, ведь оно напрямую зависит от конкретной модели устройства и версии Android. Я в этой статье буду использовать свой старенький Samsung Galaxy S6 (SM-G920F) на Android 7.0 Nougat, для рута в котором уже есть специальный инструмент. В остальных случаях придется погуглить и узнать, как получить рут конкретно на твоем устройстве. На форуме 4PDA почти всегда есть нужная инструкция.
Также нам понадобится Termux — простой и удобный терминал, дающий многие возможности среды Linux, который и позволит исполнять наши команды в подходящей среде и не возиться с предварительной настройкой окружения.
Рекомендую также установить утилиту tsu, которая предоставит тебе возможность выполнять команды от рута. Если она не работает должным образом, загляни в GitHub-репозиторий, который настраивает работу рута в Termux. Это нужно, чтобы Termux сразу имел рут-доступ, который может понадобиться для дальнейших операций.
Важный момент: при использовании в качестве рута Magisk (а на большинстве современных устройств альтернатив нет и не предвидится) не забудь в его настройках разрешить Termux рут-доступ, а также добавить в исключения для Magisk Hide, иначе все наши действия будут бесполезны.
Также рекомендую обновить список пакетов, как мы обычно делаем это в десктопе Kali:
Пара слов о Kali NetHunter
Если ты один из тех счастливчиков, чье устройство оказалось в списке поддерживаемых, рекомендую обратить внимание на проект Kali NetHunter. Это платформа, созданная разработчиками Kali Linux специально для телефонов на Android. В NetHunter сразу доступно много рабочего софта из десктопной версии Kali
Образы можно найти на официальном сайте. Это более мощный набор, чем тот, что ты можешь получить с помощью Termux
В NetHunter сразу доступно много рабочего софта из десктопной версии Kali. Образы можно найти на официальном сайте. Это более мощный набор, чем тот, что ты можешь получить с помощью Termux.
Подробнее о Kali NetHunter читай в статье «Атака со смартфона: знакомимся с Kali NetHunter».
Copyright Policy
ngrok respects the intellectual property rights of others, and requests that users of the ngrok website and Service do the same. All content, including copyrightable works, trademarks, service marks, and patentable inventions, on the ngrok website are the property of ngrok or ngrok licensors unless explicitly stated otherwise. No right, title, or interest to the content is granted by your use of the Site, other than a right to review the content using a conventional Internet browser (i.e., ordinary web browsing). Any other uses, including making copies of any content, are strictly prohibited.
If you believe that your work has been copied on the ngrok Site in a way that constitutes copyright infringement, please provide ngrok’s Copyright Agent with a “Notification of Alleged Infringement.” Details and requirements for a Notification of Alleged Infringement are available at the U.S. Copyright Office Website at http://www.copyright.gov. It is ngrok’s policy to respond to clear Notifications of Alleged Infringement.
The address for ngrok’s registered Copyright Agent is: copyright@ngrok.com
Устанавливаем ngrok
Ngrok — это кросс-платформенный софт для создания защищенных сетевых туннелей от общедоступной конечной точки до локально работающей сетевой службы. Также утилита собирает весь трафик и логирует его для анализа.
Перед дальнейшими действиями убедись, что интернет подключен (через «мобильные данные») и активирована точка доступа, так как это необходимо для корректной работы ngrok.
Для начала обновляемся и ставим Python 2:
Теперь нам нужно зарегистрировать свой аккаунт ngrok.
Как только зарегистрируешься, тебя перебросит на страницу личного кабинета, где нужно будет найти и скопировать свой токен аутентификации, как показано на скриншоте.
AuthToken for ngrok
Далее надо скачать архив с ngrok для Linux-based-систем с архитектурой ARM.
Download ngrok
Дальше заходи в Termux и иди в ту директорию, куда скачал архив с ngrok. К примеру:
Введи команду и проверь, что архив здесь. Теперь нам нужно разархивировать его:
После этого еще раз введи и проверь, появился ли у тебя исполняемый файл ngrok. Если его нет, то перед следующим шагом зайди в директорию с ним:
И перемести исполняемый файл в домашний каталог Termux:
Посмотри, куда был перемещен файл, и отправляйся туда с помощью команд и .
Теперь тебе нужно установить флаг исполнимости файла:
И сделать первый запуск:
Помнишь, ты копировал свой токен для аутентификации? Впиши эту команду, чтобы ngrok знал, кто его использует:
И запускай сервер:
Ты увидишь экран как на скриншоте.
Ngrok
Отлично, теперь ты готов атаковать любые цели!
URLCrazy | Инструменты Kali Linux
Описание URLCrazy
Генерирует и тестирует различные опечатки и вариации написания имён доменов для выявления и осуществления захвата созвучных адресов, увод URL, фишинга и корпоративного шпионажа.
Использование
— Выявите захватчиков с неправильно написанным доменом, которые извлекают выгоду из созвучности с вашим доменным именем — Защитите ваш бренд регистрацией популярных опечаток и вариаций вашего домена — Идентифицируйте созвучные доменные имена, которые будут получить трафик, предназначенный для другого домена — Выполните фишинговые атаки во время тестирования на проникновение
Особенности
— Генерирует 15 типов вариантов доменов — Знает более 8000 популярных опечаток — Поддерживает неожиданные вариации, полученные перестановкой бит — Поддержка нескольких раскладок клавиатуры (qwerty, azerty, qwertz, dvorak) — Проверяет, является ли действительным вариант домена — Тестирует, используется ли вариант домена — Приблизительная популярность варианта домена (нужен Linux и интерпретатор Ruby).
https://youtube.com/watch?v=RgQbaDaVGnk
Usage Example ngrok
Create a tunnel from the generated subdomain accessible via a public link to the local port 80 (web server):
ngrok http 80
Create a tunnel to the specified HOST:PORT (foo.dev:80) instead of localhost:
ngrok http foo.dev:80
Make the local HTTPS server accessible from the Internet:
ngrok http https://localhost
Tunneling arbitrary TCP traffic on port 22:
ngrok tcp 22
Creating a tunnel (http) to the hackware.ru site using the https protocol (https://hackware.ru) with replacing the Host HTTP header with hackware.ru (-host-header=hackware.ru):
ngrok http https://hackware.ru -host-header=hackware.ru
tcp Help
Name:
tcp starts a TCP tunnel.
Usage:
ngrok tcp
Description:
Starts a tunnel which forwards all TCP traffic on a public port to a local address. This is extremely useful for exposing services that run non-HTTP traffic (ssh, sip, rdp, game servers, etc).
A TCP tunnel binds a public address on the remote ngrok server. Any services which require a stable public address should use the —remote-addr option. ngrok.com requires that you reserve a TCP tunnel address for your account before you can use it.
Examples:
Forward a port to your local ssh server:
ngrok tcp 22
Expose an RDP server on a specific public address that you reserved:
ngrok tcp --remote-addr=1.tcp.ngrok.io:27210 3389
Options:
--authtoken ngrok.com authtoken identifying a user --config path to config files; they are merged if multiple --log "false" path to log file, 'stdout', 'stderr' or 'false' --log-format "term" log record format: 'term', 'logfmt', 'json' --log-level "info" logging level --region ngrok server region (default: us) --remote-addr bind remote address (requires you reserve an address)
LIMITATION OF LIABILITY
YOU EXPRESSLY UNDERSTAND AND AGREE THAT NGROK SHALL NOT BE LIABLE TO YOU UNDER ANY LEGAL THEORY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL CONSEQUENTIAL OR EXEMPLARY DAMAGES WHICH MAY BE INCURRED BY YOU, HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY. THIS SHALL INCLUDE, BUT NOT BE LIMITED TO, ANY LOSS OF PROFIT (WHETHER INCURRED DIRECTLY OR INDIRECTLY), ANY LOSS OF GOODWILL OR BUSINESS REPUTATION, ANY LOSS OF DATA SUFFERED, COST OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR OTHER INTANGIBLE LOSS.
TO THE EXTENT THAT OUR LIABILITY MAY NOT BE SO LIMITED, YOU ACKNOWLEDGE THAT NGROK’S LIABILITY UNDER ANY LEGAL THEORY MAY NOT IN ANY EVENT EXCEED AN AMOUNT EQUIVALENT TO THE CHARGES ACTUALLY PAID BY YOU FOR SERVICES DURING THE SIX MONTH PERIOD PRECEDING THE EVENT GIVING RISE TO SUCH LIABILITY. IN NO EVENT SHALL NGROK BE LIABLE FOR ANY SPECIAL OR CONSEQUENTIAL DAMAGES.
THE LIMITATIONS ON NGROK’S LIABILITY TO YOU IN SHALL APPLY WHETHER OR NOT NGROK HAS BEEN ADVISED OF OR SHOULD HAVE BEEN AWARE OF THE POSSIBILITY OF ANY SUCH LOSSES ARISING.
Безопасность
Для Debian или Ubuntu стоит настроить брандмауэр. А для Rocky Linux / CentOS — отключить SELinux (если только мы не собираемся его настраивать).
Debian / Ubuntu
По умолчанию, в системах на базе deb брандмауэр работает по принципу полного разрешения. Желательно, это поправить. Введем стартовые настройки.
Разрешаем SSH:
iptables -I INPUT -p tcp —dport 22 -j ACCEPT
* если мы подключаемся к SSH по нестандартному порту, то меняе 22 на нужное значение.
Создаем правила для нормальной работы apt-get или yum:
iptables -I INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT
Разрешаем ICMP (для выполнения команды ping):
iptables -I INPUT -p icmp -j ACCEPT
Разрешаем все входящие на адрес локальной петли:
iptables -I INPUT -i lo -j ACCEPT
Ставим политику запрета на входящие и разрешаем все исходящие:
iptables -P INPUT DROP
Для сохранения правил ставим пакет iptables-persistent:
apt-get install iptables-persistent
Для сохранения правил вводим команду:
netfilter-persistent save
Rocky Linux / CentOS
В системах на базе RPM брандмауэр работает на запрет пакетов и не требует начальной настройки. Но в данных системах используется SELinux. Его, чаще, предпочитают отключать. Это делается двумя командами:
setenforce 0
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
Подробнее в инструкции Как отключить SELinux. Если мы хотим его настроить, читаем инструкцию Настройка SELinux в CentOS.
Настройка vi (Debian или Ubuntu)
Некоторые дистрибутивы Linux используют версию vi, с которой работать не совсем удобно. Как правило, это относится к системам на основе deb.
Многие пользователи используют другие редакторы, например, nano. Но если мы хотим использовать, именно, vi, попробуем сделать работу с ним приятнее.
Tiny vi
Ставим пакет:
apt-get install vim vim.tiny
Выбираем редактор по умолчанию:
update-alternatives —config editor
Выбираем вариант с vim.tiny, например:
* 3 /usr/bin/vim.tiny 15 manual mode
* в данном примере, выбираем 3.
Выбираем вариант vi:
update-alternatives —config vi
Также выбираем вариант с vim.tiny, например:
* 2 /usr/bin/vim.tiny 15 manual mode
* в данном примере, выбираем 2.
Вводим команду:
alias vi=»vim.tiny»
Добавим в файл:
vi /etc/bash.bashrc
* для всех.
… или:
vi ~/.bashrc
* для текущего пользователя.
… строку:
alias vi=»vim.tiny»
Готово.
Set paste (вставка json и yaml)
При вставке текста с форматом специального назначения, например json и yaml, vi неправильно определяет синтаксис, что приводит к сбиванию формата строк.
Для решения проблемы нужно ввести команду :set paste.
Можно немного упростить процесс — добавляем в конфиг опцию set pastetoggle=<F3>.
а) для настройки всем пользователям:
vi /etc/vim/vimrc
б) только для текущего:
vi ~/.vimrc
Добавим строку:
set pastetoggle=<F3>
* в данном примере мы настроим быструю клавишу F3, при нажатии которой мы введем опцию set paste.
Теперь переходим в редактор, нажимаем F3, переходим в режим вставки (i) — можно вставлять код.
Позиция курсора после выхода из vim
В Debian после выхода из редактора vi, позиция курсора оказывается в верхней части экрана и на него накладывается предыдущий текст. Данное поведение мешает работать.
Для решения проблемы открываем на редактирование:
а) для настройки всем пользователям:
vi /etc/vim/vimrc
б) только для текущего:
vi ~/.vimrc
Добавим строку:
set t_ti= t_te=