Ssh server для простых смертных (безопасное использованию сервера OpenSSH)

Для начало вспомним наши конфигурационные файлы:
/etc/ssh/sshd_config — конфигурационный файл сервера OpenSSH
/etc/ssh/ssh_config — конфигурационный файл клиентской части OpenSSH
~/.ssh/ – конфигурационная директория пользователей ssh.
Расмотрим несколько советов по безопасному использованию сервера OpenSSH.
Открываем наш конфиг и смотрим:
$ nano /etc/ssh/sshd_config
1. SSH порт, используемый по умолчанию: : TCP 22 ssh server, меняем так как многие brute forcing заточен под 22 порт и по крайней мере введет в заблуждения «кул хацкеров»
# What ports, IPs and protocols we listen for
Port 2280

По умолчанию sshd принимает подключения на всех интерфейсах, если не требуется заходить на сервер «из вне», то можно ограничить его нужным нам IP адресам, (например 192.168.100.1).
Внимание: это указание ssh-демону, какой ip-адрес использовать для входящих соединений. Т.е. если твой сервер имеет два интерфейса:
– внешний (подключение в Интернет) — с реальным ip-адресом,
– внутренний (локальная сеть) — с приватным (например 192.168.100.1) и ты хочешь, чтоб по ssh к серверу можно было добраться только c хостов, находящихся в локальной сети — в конфиге указываешь ListenAdress — адрес на котором сервер принимает запросы на соединение. И этот параметр не имеет почти никакого отношения к ограничению доступа к серверу по протоколу ssh !
ListenAddress 192.168.100.1
Дополнительно через двоеточие можно указать и номер порта. В данном примере используется значение порта, заданное глобально параметром Port.
2. Используйте только протокол SSH 2
Protocol 2
3. Ограничение доступа ssh server суперпользователя
В большинстве дистрибутивов в целях безопасности доступ суперпользователю(root) по SSH закрыт (PermitRootLogin no), и при попытке зарегистрироваться под root получаем сообщение об ошибке. Для выполнения задач, требующих привилегий администратора, приходится заходить под обычным пользователем и использовать su или sudo. Красиво выйти из ситуации поможет директива Match. В качестве аргумента ей передается критерий отбора (User, Group, Host, Address), его значение и параметр, который нужно применить. Для примера разрешим подключение под root только с localhost и из локальной подсети 192.168.100.0/24:
PermitRootLogin no
Match Host 192.168.100.*,127.0.0.1
PermitRootLogin yes

или просто запрещаем региться под root’oм
PermitRootLogin no
4. Ограничение доступа пользователей ssh server через SSH
Будет полезно всем, кто заводит пользователей в системе например для mail или ftp и etc,во многих системах по умолчанию пользователям разрешено иметь доступ через SSH с использованием пароля или открытого ключа.AllowUsers (пользователи, которым разрешен доступ).
Для того, чтобы доступ в систему через SSH был разрешен только пользователям user1,user2 и тд:
AllowUsers user1 user2
так же возможно использовать и такую конструкцию с IP-адресом
AllowUsers *@192.168.2.*
Так же можно, наоборот, разрешить всем пользователям, но для определенных запретить:
DenyUsers user10 user20
5. Авторизация и подключения
LoginGraceTime 45
Параметр LoginGraceTime определяет, по истечению какого времени простаивающее подключение будет разорвано (в секундах), т.е : позволенный для регистрации промежуток времени, за который надо ввести пароль, значение по умолчанию 120 явно завышено, думаю что будет 45 сек будет достаточно.
MaxStartups 2:50:10
Количество параллельных не идентифицированных подключений к серверу контролируется при помощи MaxStartups. Запись параметра имеет форму «start:rate:full». В нашем случае она означает отключение с вероятностью 50% при наличии двух не идентифицированных связей, с линейным ростом вероятности до 100% при достижении 10.
Для тех у кого будет много подключений по SSH можно сконфигурировать время закрытия неработающей сессии:
ClientAliveInterval 300
ClientAliveCountMax 0

устанавливаем таймаут в секундах (300 секунд = 5 минутам). После того, как указанное время истечет, бездействующий пользователь будет отключен от системы
6. Отключение прослушивания IPv6 адресов ssh server
ИМХО IPv6 пока ни неактуальный (по крайней мере, для меня), поэтому предлагаю его отключить
По умолчанию sshd слушает как на IPv4 так и на IPv6 адресах. Для того что бы его отключить необходимо изменить параметр AddressFamily (если значение AddressFamily не указано в конфигурационном файле, то оно принимается равным any):
AddressFamily any # default (IPv4 и IPv6)
AddressFamily inet # IPv4 only
AddressFamily inet6 # IPv6 only

Ну и на последок так же можно добавьте предупреждающий баннер, расскоментируйте строчку, в sshd_config, либо указать иной путь к своему баннеру :
Banner /etc/issue

Также можно ограничить доступ к нужному сервису через hosts

Edit /etc/hosts.allow and add your subnet

sshd : 192.168.0.

Edit /etc/hosts.deny , and deny all

ALL : ALL

(c)linuxjournal

Как закомментировать текст в vim

Закомментировать блок в vim

Для комментирования блока я всегда использовал режим визуального выделения, который вызывается по ctrl+v (в gvim для windows по умолчанию ctrl+q).

Нужно поставить курсор, например, в начале строки наверху выделяемого блока, нажать ctrl+v, переместить курсор в конец параграфа, нажав }, затем нажать I (shift+i), ввести символ комментария (например, #) и нажать ESC. Читать подобные пассажи очень неудобно, поэтому обычно люди, рассказывая о последовательности действий в vim’e, пишут так (вместо ctrl обычно ставят шапку ^):

^v } I # <ESC>

Выглядит это так:

gif animation c-v

Конечно, вместо } можно несколько раз нажать j, или 10j, или использовать любую другую команду перемещения.

Samba добавление и активация пользователя

Samba использует пользователей которые уже есть в системе, возьмем для примера имя user, допустим что он уже есть в системе, надо внести его в базу данных SMB и назначить пароль для доступа к общим ресурсам, сделаем это командой:

smbpasswd -a user

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

smbpasswd -e user

Далее создадим псевдоним для имени пользователя user что бы облегчить себе доступ с Windows машины на которой у нас например пользователь с именем Admin, для этого создадим и отредактируем файл /etc/samba/smbusers:

sudo touch /etc/samba/smbusers
sudo gedit /etc/samba/smbusers

Enable Root User on Ubuntu 16.04.1 LTS

Steps To Enable Root User On Ubuntu 16.04.1 LTS:

1) First of all login your account

2)Open terminal (Alt +Ctrl +T)

3)Set Root user Password 

technhit@technhit-virtual-machine:~$sudo passwd root
[sudo]password for technhit:
Enter UNIX password:
Retype UNIX password:
passwd:password updated successfully
technhit@technhit-virtual-machine:~$

enable-root-ubuntu1

4) Now open file 50-ubuntu.conf with nano command.

technhit@technhit-virtual-machine:~$sudo nano /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

enable-root-ubuntu2

5)Now Add the following line to the end of file:

greeter-show-manual-login=true

enable-root-ubuntu3

6) Press Ctrl +X then press Y to exit

7)Now restart your system and login as root.

enable-root-ubuntu4

Posts navigation

1 2
Scroll to top