Това са няколко причини защо това е грешно и опасно за сигурността ви.
За начало изглежда правилно - как ще атакувате порт който не го знаете - вие не може да ги атакувате всички? Но, ако дочетете нататък ще видите, че това е повече от голяма грешка, и ако продължавате да мислите, че това е добра идея - вие просто трябва да не сядате зад компютър....завинаги..
Но ето няколко причини, защо това е лоша идея и една от най-важнити причини е свързана с TCP/IP портовете които биват контролирани от Linux. Когато влезнете в системата като non-root (без root права) потребител (никой не е UID 0), вие не може да "слушате" портовете под 1024. Това е защото, всички портове под 1024 са зададени като "резервирани" (системни) и могат да бъдат викани само от потребител с root права. За сравнение - вашият уеб сървър (apache, nginx и т.н) стартира и работи като root потребител и започва да "слуша" всички свързано с порт 80 (този порт се използва по подразбиране в HTTP трафика, като за сравнение във cs-bg.info се използва порт 80). След като порта е отворен и всичко е преминало като root потребител нормално, уебсървъра праща всичко към non-root потребител (като например www-data, apache или някой друг потребител). От тази точка нататък ако нещо "лошо" се случи, потребителите имат ограничения върху какви действия може да извършват.
Но да се върнем към SSH-а ни :
Когато ние отворим SSH сървър върху порт 22, ние знаем че това се извършва от потребител с root права, докато никой друг потребител не може да отвори този порт никога и за нищо. Но какво ще стане ако преместим SSH сървъра ни на порт 2222? Този порт може да бъде отворен от потребител без root права и дефакто, аз мога да създам скрипт който просто да слуша всичко върху порт 2222 и да го накарам да записва всички команди (включително и паролите ни). Това е изпълнимо с прости знания и "инструменти" които ги има във всяка linux система/сървър. Затова, отварянето на SSH сървър от non-root потребител може да създаде ОГРОМНА дупка в СИГУРНОСТТА. Вие нямате представа дали този порт е отворен от вас или от някой който желае да ви компрометира и само тази причина е достатъчна, вие да не използвате НИКОГА ПОВЕЧЕ non-root порт за пускането на вашият SSH сървър.
Друга причина: доста от компаниите имат входящи/изходящи ограничения от firewall-owe, които не позволяват да се ходи към никакви сайтове или случайни портове. Някои защитени портове, като порт 22 са изключения, докато останалите портове като 25 или 2222 са блокирани.
Така, нека да си представим, че вие ОЩЕ ИСКАТЕ да смените порта, поради причината, че имате много атаки върху вашият SSH сървър.
Но помислете и за това:Първо - Можете ли да влезнете като root? Ако можете - оправете този пропуск веднага.
Второ - Използвате ли пароли? Ако използвате - оправете този пропуск веднага и преминете към public key ауторизация.
Ако знам, че около къщата ми има натрапник който желае да пробие моята защита - аз ще направя всичко възможно за да не може да влезне в моята къща. Това е все едно да оставя вратата отворена, докато някой просто случайно не влезе вътре да каже здрaати (и да разбие цялото място всичко или по лошо).Представете си, че това е вашата къща и много хора минават пред нея - това проблем ли е? - те са просто тези които тестват вашите защити!
Но ако вие НАИСТИНА сте притиснени от този натрапник, по добрият начин е да скриете вратата от това да я местите. Може да използвате port-knocking (почукване на порта (може ли да влязаа)). Може да използвате много удобен модул в IPtables наречен "recent" който ви позволява да създавате прости port-knocking връзки.
Прост пример:
Code: Select all
${IPTABLES} -A INPUT -p tcp --dport 2222 -m recent --set --name csbg
${IPTABLES} -A INPUT -p tcp --syn --dport 22 -m recent --rcheck \
--seconds 60 --name csbg-j ACCEPT
Така, недейте да копирате директно това върху вашата firewall защита, просто ви показваме колко лесно е да "скриете" вашите портове. Вие може да създадете и серия от "почуквания" през различни портове, ако ви допада, това е просто досадно за потребителите и не печелите нищо от това.
Отново, това не променя НИЩО върху факта дали вашият порт е отворен или не. И моля към всички хостинг компании, системни администратори или дори разработчици - не казвайте на другите, че смяната на SSH порта е добра идея. Защото не е, и никога няма да бъде
Автор: Георгиос Стамос (аз), нека ако някой разпространява урока да ми напише името... просто от уважение... както и за авторски права.. - you know