Пошто је ССХ приступ најважнија улазна тачка за администрацију вашег сервера, постао је широко коришћен вектор напада.
Основни кораци за обезбеђење ССХ-а укључују: онемогућавање роот приступа, потпуно искључење аутентикације лозинком (и коришћење кључева уместо тога) и промену портова (мало везе са безбедношћу осим минимизирања уобичајених скенера портова и нежељене поште у евиденцији).
Следећи корак би било решење ПФ заштитног зида са праћењем везе. Ово решење би управљало стањима везе и блокирало сваку ИП адресу која има превише веза. Ово одлично функционише и врло је лако за ПФ, али ССХ демон је и даље изложен Интернету.
Шта кажете на то да ССХ учините потпуно неприступачним споља? Овде долази спипед . Са почетне странице:
Spiped (pronounced "ess-pipe-dee") is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses, so that one may connect to one address (e.g., a UNIX socket on localhost) and transparently have a connection established to another address (e.g., a UNIX socket on a different system). This is similar to 'ssh -L' functionality, but does not use SSH and requires a pre-shared symmetric key.
Сјајно! На нашу срећу, има висококвалитетан ОпенБСД пакет који ради све припремне послове за нас, тако да можемо почети тако што ћемо га инсталирати:
sudo pkg_add spiped
Ово такође инсталира лепу инит скрипту за нас, тако да можемо да наставимо и да је омогућимо:
sudo rcctl enable spiped
И коначно започните:
sudo rcctl start spiped
Инит скрипта осигурава да је кључ креиран за нас (који ће нам ускоро требати на локалној машини).
Оно што сада треба да урадимо је да онемогућимо sshdслушање на јавној адреси, блокирамо порт 22 и дозволимо порт 8022 (који се подразумевано користи у инит скрипти).
Отворите /etc/ssh/sshd_configдатотеку и промените (и декоментирајте) ListenAddressред за читање 127.0.0.1:
ListenAddress 127.0.0.1
Ако користите ПФ правила за блокирање портова, обавезно проследите порт 8022 (и порт 22 можете да оставите блокираним), нпр.
pass in on egress proto tcp from any to any port 8022
Обавезно поново учитајте правила да бисте били активни:
sudo pfctl -f /etc/pf.conf
Сада све што нам треба је да копирамо генерисани спипед кључ ( /etc/spiped/spiped.key) са сервера на локалну машину и прилагодимо нашу ССХ конфигурацију, нешто у следећим редовима:
Host HOSTNAME
ProxyCommand spipe -t %h:8022 -k ~/.ssh/spiped.key
spipe/spipedОчигледно је да морате да инсталирате и на локалној машини. Ако сте копирали кључ и подесили имена/путања, требало би да будете у могућности да се повежете са том ProxyCommandлинијом у вашој ~/.ssh/configдатотеци.
Након што сте потврдили да ради, можемо поново покренути sshdна серверу:
sudo rcctl restart sshd
И то је то! Сада сте потпуно елиминисали један велики вектор напада и имате једну услугу мање која слуша на јавном интерфејсу. Ваше ССХ везе би сада требале изгледати као да долазе са локалног хоста, на пример:
username ttyp0 localhost Thu Nov 06 07:58 still logged in
Предност коришћења Вултр-а је што сваки Вултр ВПС нуди леп клијент типа ВНЦ на мрежи који је доступан који можемо користити у случају да се случајно закључамо. Експериментишите!