waldi пишет:Я один с базой работаю через ssh
нет. Вы работаете через ssh, через порт 22 (если не изменили).
а вот демон sshd вам обеспечивает вход в shell, а уж shell локально запускает mysql (клиент БД). Потому, тут вы локально работаете с базой, удалённо только с ssh.
waldi пишет:Я понимаю, что ssh прикрыт от взлома динамическим портом и т д, но я не понял, как Вы закрыли наглухо порты мускуля (3306), postfix( у меня 25), pop3 dovecot - 110, imap -143.
Они у меня все открыты, откликаются на телнет.
mysql (3306) можно закрывать. Что касается остального - не знаю. Если вам действительно нужен там ещё и почтовый сервер (нужен?) то 25й и 110й порт закрывать НЕ надо. Что касается imap, то я не понял - хорошо, у вас там почтовый сервис, который принимает почту от других сервисов. Но зачем вам ДВА протокола? Оставьте один.
waldi пишет:Красиво, ничего не скажешь!
Подскажите, как закрыть порты и где вставить это самое "Кю OFF!!!"
Я бы еще добавил типа "scheise! fick dich!", чтобы всем понятно было
ну на 21ом порту висит сервер FTP (кстати, сегодня вышло обновление, я уже поставил). При попытке соединения, сервер выдаёт своё имя (ServerName, исправлять в конфиге), там обычно пишут OS - у меня Windows 666 server. Ну и версию самого сервера пишет. Вот только я с ходу не понял, где её менять. Но тоже где-то можно. Вроде-бы... (давно не занимался такой ерундой). Ну а дальше идёт аутентификация: логин/пароль. Если всё верно, то сервер выплёвывает welcom.msg из домашнего каталога юзера, который туда зашёл. Вот только, это видно лишь хакерам с телнетом. Обычные люди этого обычно не видят, а просто качают что надо.
Если вход неудачный, то выдаются другие сообщения. Программам важен лишь цифровой код (230 - вход успешный. В соотв. RFC можете глянуть всё остальное (коды, команды и прочее).
По SSH механизм примерно такой-же (только несколько сложнее - данные зашифрованы для избежания атаки MID) Но всё остаётся так-же.
Основной принцип:
Порт - это ворота на компьютер.
Предположим, на компьютер с IP 192.2.7.8 приходит пакет на порт 666. (IP и порт записаны в заголовке пакета, по дороге номер порта никого не волнует, волнует только IP).
Пакет попадает в стек TCP, и сохраняется там, пока ОС решает что с ним делать.
Прежде всего ОС смотрит на IP, руководствуясь правилами которые задаются программой iptables (эта программа ничего не делает, а лишь служит интерфейсом к ядру. С её помощью мы можем сказать ядру, что делать с пакетом). Возможны варианты:
1) ядро не знает, что делать с пакетом. Тогда этот пакет уничтожается. Тот, кто отправил этот пакет в известность не ставится. Отправитель отправил пакет как-будто в никуда.
2) ядро понимает, что этот пакет не ему. Но оно знает, кому. Тогда этот пакет отправляется адресату. При этом ядро может изменить параметры пакета, в том числе порт и IP получателя (NAT), а так-же может порезать/склеить пакеты.
3) ядро понимает, что пакет ему. Это значит, что IP адрес совпадает с каким-нибудь из наших (а у нас их много), и кроме того, существует программа, которая слушает порт, который записан в пакете (адрес "кому"). Тогда ядро отправляет пакет получателю.
Входящий порт называется "закрытым", если ядро имеет правило, которое запрещает прохождение пакета снаружи, внутрь этого компьютера.lsof -i
Но если порт "открыт", это не значит, что мы дождёмся ответа, нам нужна ещё и программа на этом сервере. Если пакет приехал на порт 666, и если порт 666 слушает какая-то программа, и если ядро соизволит его туда отправить, и если программа пожелает ответить, то только в этом случае отправитель получит ответ (если конечно он дойдёт до адресата, и не потеряется на обратной дороге). Т.о. имеем 6 необходимых условий для установления связи.
1,2) доступность получателя и отправителя. Т.е. наличие Сети у обоих (кстати, www может и не быть).
3) у получателя есть рабочий комп, причём его IP должен быть известным в Сети. Пускай и косвенно. Например мой IP 192.168.1.2, и никому в Сети не известен. За то у меня есть роутер, который с одной стороны знает про меня, с другой стороны он имеет известный всей Сети адрес.
4) У меня должна быть запущена программа, которая слушает конкретный порт.
5) Моё ядро отправит пакет этой программе.
6) Программа пожелает ответить (а она вовсе не обязана это делать).
Если все 6 условий выполнены, соединение установится. Клиент (который послал нам на сервер пакет) тоже открывает порт (случайный, 1024..65535), и его слушает. Этот порт называется входящим. Мы с сервера отправляем туда ответ, т.к. в принятом нами пакете есть обратный адрес клиента (IP:port).
А уж дальше происходит обмен информацией, и клиент сможет хоть что-то увидеть.
В итоге, если вы желаете, что-бы злобные хакеры что-то видели, вам придётся устанавливать с ними соединение. И ставить какой-то софт. Без этого никак...
ИМХО самое лучшее (не только ИМХО) это
1) отключить все программы, которые слушают порты. Список в lsof -i они помечены как LISTEN. Если есть что-то непонятное и LISTEN - читайте ман. В мане должно быть сказано, что это, и зачем надо.
2) вторая превентивная и необязательная мера (но паранойя рулит, потому так делают почти все) - указать ядру, что не надо переправлять пакеты на входящие порты, на все, кроме перечисленных.
Вообще-то п2 часто не является необязательным - если у вас своя локалка, вы возможно захотите, что-бы ваш FTP сервер был доступен домашним, но недоступен всем остальным. Кроме того, у нас ещё есть X сервер. Несмотря на то, что он откликается лишь на внутренние запросы (по умолчанию), но враг может подбросить какой-нить кривой пакет X серверу, которым он подавится, и сделает всё, что скажет враг. Конечно это страшная сказка, лучше от греха подальше вообще закрыть X. Да и всё остальное тоже.
Кроме того, злоумышленник может вам подбросить руткит, даже если и не знает пароля root'а. Этот вредонос будет слушать какой-то порт, но из пользовательского пространства (доступно 1024..65535й порт). Если перекрыть доступ к этим портам, то вредонос не сможет получать команды из "центра", что хотя и плохо для врага, но не смертельно (вредонос сможет сам выходить на связь как Штирлиц). Это тоже страшная сказка, но всё-же.
Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)