По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Привет! В голливудских фильмах про хакеров, ты наверняка видел как герой сидит перед компом, быстро набирая команды на клавиатуре. На черном экране бегут зеленые буквы, появляется надпись “HACKED!” и в результате у него получается за считанные секунды, обойти все системы защиты, открыть хранилище банка или и вовсе запустить ядерную боеголовку.
Ты можешь подумать, что в современном мире, где царит удобство, почти у всего есть приложение и графический интерфейс ввод команд в черный экран - это прошлый век. Но спешим тебя разубедить! Сетевой инженер, администратор, специалист по информационной безопасности и конечно же хакер точно также сидит перед компом и вбивает на клавиатуре команды, чтобы выполнить определенные задачи. Сейчас мы объясним, что это за черный экран такой и как с помощью него человек может взаимодействовать с сетевым устройством.
Когда компьюстеры только появлялись, у них не было ни дисплеев, ни клавиатуры, ни тем более мыши. Но их надо было как-то настраивать и заставлять их складывать большие числа, которые самому было складывать лень. Нужно было некое устройство, с помощью которого человек мог бы взаимодействовать с компьютером. Такое устройство - прослойку принято называть терминалом.
Видео: SSH/Telnet/Терминал/Консоль
Заценили ролик? Продолжаем.
На первых порах ими стали телетайпы. Это такие печатные машинки, которые соединяются по электрическому каналу для отправки и получения текстовых сообщений на простом листе бумаги. Да-да, раньше этим хакерским черным экраном был простой лист с командами! Это было дико неудобно и медленно, но идея ввода и вывода информации построчно затем легла в основу будущих интерфейсов.
Позднее, посредством электронно-лучевой трубки, строку для ввода команд вывели на экран и плюс-минус в таком виде она добралась до наших дней. Таким образом, мы теперь вбиваем команды не на печатной машинке, а на клавиатуре и видим эти команды не на листе бумаги, а на мега тонком UltraHD мониторе, но модель взаимодействия осталась такой же как и 60 лет назад.
Вообще совокупность устройств для взаимодействия с человека и компьютера называют консолью. Это может быть клавиатура, мышь, монитор, дисплей, микрофон, джойстик, но с одной оговорочкой. Всё это должно быть подключено непосредственно к компу и ты должен находиться прямо перед ним.
А вот если ты сидишь в удобном отремонтированном кабинете с кондиционером и через промежуточное устройство подключаешься к серверу, который стоит в подвале здания, то это уже терминал. Улавливаешь суть? Консоль - это когда ты сидишь прямо перед устройством и юзаешь перефирию подключенную прямо к нему. Терминал - это когда ты через что-то ещё (зачастую удаленно) подключаешься к консоли взаимодействуешь с ней.
Супер, разобрались. Ну и что, можно взаимодействовать с компами только если за ними сидеть или через какой-то промежуточный девайс? Конечно нет!
Для этого был придуман протокол Telnet (телетайп нетворк).
С помощью него можно удаленно по сети подключиться к сетевому устройству и заниматься его администрированием. По умолчанию, телнет использует TCP порт 23.
При подключении по телнет ты с помощью текстовых команд можешь говорить удаленному серверу что делать - запускать программы, создавать и удалять файлы и директории, управлять сетевыми параметрами, гонять гусей короче вообще всё на что хватит прав, а самое главное ты при этом можешь находиться на другом конце планеты.
Всё было бы просто замечательно, если бы телнет не был разработан в 69 году, как следует из названия - для тех самых телетайпов. А в те времена, на безопасность было вообще пофиг. Дело в том, что все команды, которые ты вбиваешь по телнет, включая логины и пароли передаются в открытом виде, а значит любой, кто перехватит твой телнет трафик сможет узнать всё что ты делал в рамках сессии.
Поэтому сегодня использование телнет для доступа к удаленным устройствам в профессиональном сообществе считается зашкваром. “Ну блеск, и как же теперь лазить на удаленные компы, сервера и прочий сетевой хлам”? - спросите вы. Тут хочется ответить тремя буквами - SSH (Secure Shell) или защищенная оболочка, хотя так никто не говорит.
Этот парень создан для защищенного удаленного администрирования и внимательно слушает TCP порт 22. Все команды, которые ты введешь в рамках сессии, включая логины и пароли, будут зашифрованы уникальным ключом и даже если хацкеры перехватят твой трафик, то вряд ли им удастся его расшифровать. Мало того, он ещё и целостность переданной информации будет проверять, чтоб ничего не потерялось и не побилось. Благодаря своей надёжности, SSH также применяется для защищенной передачи файлов, (SFTP - SSH File Transfer Protocol, SCP - Secure Copy) и туннелирования других протоколов.
Чтобы иметь возможность подключаться к девайсам как по телнет, так и по SSH нужно 2 вещи:
Удаленное устройство должно выступать как Telnet/SSH - сервер, то есть иметь некое ПО, которое будет понимать эти протоколы
У тебя должен быть Telnet/SSH клиент, с помощью которого ты сможешь инициировать соединение.
Обычно, в качестве такого клиента выступает эмулятор терминала. Это такая программа, которая даёт тебе возможность подключиться к устройству (по сети или напрямую) и выводит в отдельном окошке его консоль. Примером такой программы может служить PuTTY.
Nginx - это популярный HTTP-веб-сервер с открытым исходным кодом. Программное обеспечение использует масштабируемую управляемую событиями асинхронную архитектуру, которая обрабатывает запросы по одному за раз. Помимо веб-сервера, он также работает в качестве обратного прокси-сервера, почтового прокси, HTTP-кэша и балансировщика нагрузки.
Nginx является частью стека LEMP, набора программного обеспечения с открытым исходным кодом, используемого для разработки веб-приложений и веб-сайтов. LEMP является популярной альтернативой традиционному стеку LAMP. Единственная разница между ними состоит в том, что первый использует Nginx, а второй использует Apache в качестве своего веб-сервера.
Мы уже рассказывали как установить Nginx на Windows. В этом руководстве вы узнаете, как установить Nginx на Linux.
Установка Nginx
Рассмотрим установку Nginx для разных дистрибутивов Linux.
Установка Nginx на CentOS 8
Перед любой установкой всегда обновляйте локальный репозиторий, чтобы убедиться, что вы загружаете последнюю версию программного обеспечения. Используйте команду:
sudo yum update
Вы можете проверить пакет Nginx, прежде чем добавить его в свою систему. Запросите просмотр метаданных RPM, включенных в каждый пакет RPM:
sudo yum info nginx
Затем установите Nginx на CentOS 8 с помощью команды:
sudo yum install nginx
Установка Nginx на CentOS 7
Пакеты Nginx доступны в репозиториях EPEL. Если у вас не установлено хранилище EPEL, наберите:
sudo yum install epel-release
Затем установите Nginx при помощи команды:
sudo yum install nginx
Если вы устанавливаете пакет из EPEL в первый раз, то yum может предложить вам импортировать ключ GPEL EPEL:
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
Userid : "Fedora EPEL (7) "
Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
Package : epel-release-7-9.noarch (@extras)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Is this ok [y/N]:
Тут вам нужно нажать y и затем Enter.
Установка Nginx на Ubuntu и Debian
Пакеты Nginx доступны в репозиториях Ubuntu и Debian по умолчанию.
Поэтому для установки сначала обновим список пакетов:
sudo apt update
А затем установим сам Nginx:
sudo apt install nginx
Запуск nginx
Запуск nginx осуществляется следующей командой:
sudo systemctl start nginx
Чтобы включать службу при загрузке системы, используйте:
sudo systemctl enable nginx
Если вы проверите статус сервиса, то в выводе должно быть указано, что Nginx активен - active (running):
sudo systemctl status nginx
Остановить можно Nginx с помощью команды:
sudo systemctl stop nginx
Перезапустить Nginx:
sudo systemctl restart nginx
Перезагрузить файлы конфигурации, не останавливая службу:
sudo systemctl reload nginx
Настройка firewall
Nginx включает в себя служебные файлы firewalld, которые указывают, что служба использует порты 80 (HTTP) и 443 (HTTPS) для веб-трафика. Поэтому вам необходимо открыть и включить эти порты, чтобы разрешить постоянный доступ.
Настройка firewall в CentOS
Откройте порт HTTP и HTTPS с помощью команд:
sudo firewall-cmd --permanent --zone=public --add-service=http --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-services --zone=public
Настройка firewall в Ubuntu и Debian
Если вы используете UFW (Uncomplicated Firewall) для управления брандмауэром, вам необходимо открыть порты, включив профиль Nginx Full, который включает правила для обоих портов:
sudo ufw allow 'Nginx Full'
Если вы используете nftables, то используйте следующую команду:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Проверка доступа
Используйте netstat, чтобы вывести список всех открытых портов и убедиться, что вы успешно открыли 80 и 443:
netstat -tulpn
Найдите IP-адрес и скопируйте его. Чтобы увидеть IP-адрес вашего сервера, введите в терминале следующую команду:
ip addr
Затем откройте веб-браузер и вставьте IP-адрес (или имя домена) в строку URL. Откроется страница приветствия Nginx, подтверждающая, что вы успешно установили и настроили сервер.
Настройка Nginx
Вам не нужно настраивать Nginx после установки. Однако будет полезно знать расположение файлов конфигурации и корневого каталога Nginx на случай, если вам нужно изменить конфигурацию. Если вы хотите изменить файл глобальной конфигурации, вы должны открыть его в текстовом редакторе и применить изменения.
Каталог конфигурации Nginx: /etc/nginx
Корневой каталог Nginx: /usr/share/nginx/html
Основной файл конфигурации: /etc/nginx/nginx.conf
Файлы логов Nginx (access.log и error.log): /var/log/nginx/
Теперь вы можете установить корневую директорию вашего домена. Вы можете сделать это в любом месте, которое вы хотите. Наиболее распространенные места включают в себя:
/home/user_name/site_name
/var/www/site_name
/var/www/html/site_name
/opt/site_name
В этом руководстве мы опишем некоторые из наиболее часто используемых команд управления службами Apache (HTTPD) , которые полезно знать, разработчику или системному администратору, и держать эти команды под рукой. Мы покажем команды для Systemd и SysVinit.
Убедитесь, что следующие команды должны выполняться от имени пользователя root или sudo и работать с любым дистрибутивом Linux, таким как CentOS, RHEL, Fedora, Debian и Ubuntu.
Про Linux за 5 минут