Съвети за сигурност на GNU / Linux системи

Е, подготвях този пост Моят блог за известно време ми го предложиха в DesdeLinux, и поради липса на време, той не е бил в състояние или желание. Ако съм малко мързелив ????. Но сега те стачкуват, както казваме в Куба ...

Това е компилация от основни правила за сигурност за системните администратори, в този случай за тези, които като мен управляват мрежи / системи, базирани на GNU / Linux ... Може да има повече и всъщност има повече, това е просто извадка от моите приключения в света на Linux ...

0- Поддържайте нашите системи актуализирани с най-новите актуализации на защитата.

0.1- Пощенски списъци с критични актуализации [Slackware съветник по сигурността, Debian съветник по сигурността, в моя случай]

1- Нулев физически достъп до сървърите от неоторизиран персонал.

1.1- Прилагане на парола за BIOS от нашите сървъри

1.2- Без зареждане от CD / DVD

1.3- Парола в GRUB / Lilo

2- Добра политика за пароли, буквено-цифрови знаци и други.

2.1- Остаряване на паролите [Стареене на паролата] с командата “chage”, както и броя дни между смяната на паролата и датата на последната промяна.

2.2- Избягвайте да използвате предишни пароли:

в /etc/pam.d/common-password

password sufficient pam_unix.so use_auth ok md5 shadow remember 10

Така че вие ​​променяте паролата и тя ви напомня за последните 10 пароли, които потребителят е имал.

3- Добра политика за управление / сегментиране на нашата мрежа [рутери, суичове, vlans] и защитна стена, както и правила за филтриране INPUT, OUTPUT, FORWARD [NAT, SNAT, DNAT]

4- Активирайте използването на черупки [/ etc / shells]. Потребителите, които не трябва да влизат в системата, получават / bin / false или / bin / nologin.

5- Блокирайте потребителите при неуспешно влизане [дневник на грешки], както и контролирайте системния потребителски акаунт.

passwd -l pepe -> блокиране на потребителя pepe passwd -v pepe -> деблокиране на потребителя pepe

6- Активирайте използването на "sudo", НИКОГА не влизайте като root от ssh, "НИКОГА". Всъщност трябва да редактирате ssh конфигурацията, за да постигнете тази цел. Използвайте публични / частни ключове на вашите сървъри със sudo.

7- Приложете в нашите системи „Принцип на най-малката привилегия".

8- Проверявайте нашите услуги от време на време [netstat -lptun], за всеки от нашите сървъри. Добавете инструменти за наблюдение, които могат да ни помогнат в тази задача [Nagios, Cacti, Munin, Monit, Ntop, Zabbix].

9- Инсталирайте IDS, Snort / AcidBase, Snotby, Barnyard, OSSEC.

10- Nmap е ваш приятел, използвайте го, за да проверите вашата подмрежа / подмрежи.

11- Добри практики за сигурност в OpenSSH, Apache2, Nginx, MySQL, PostgreSQL, Postfix, Squid, Samba, LDAP [тези, които най-често използват] и някои други услуги, от които се нуждаете във вашата мрежа.

12- Шифровайте цялата комуникация, докато е възможно в нашите системи, SSL, gnuTLS, StarTTLS, дайджест и др ... И ако боравите с чувствителна информация, криптирайте твърдия си диск !!!

13- Актуализирайте нашите пощенски сървъри с най-новите правила за сигурност, черен списък и антиспам.

14- Регистриране на дейности в нашите системи с logwatch и logcheck.

15- Познаване и използване на инструменти като top, sar, vmstat, безплатно, наред с други.

sar -> доклад за системната активност vmstat -> процеси, памет, система, i / o, активност на процесора и др. iostat -> i / o състояние на CPU mpstat -> състояние на мултипроцесор и употреба pmap -> използване на паметта от свободни процеси -> iptraf памет -> трафик в реално време от нашия мрежов статистически статус -> базиран на конзола ethernet статистически монитор etherape -> графичен мрежов монитор ss -> статус на сокета [tcp информация за сокета, udp, необработени сокети, DCCP сокети] tcpdump -> Подробен анализ на трафика vnstat -> монитор на мрежовия трафик на избрани интерфейси mtr -> инструмент за диагностика и анализ на претоварване в мрежи ethtool -> статистика за мрежовите карти

Засега е всичко. Знам, че има хиляда и още едно предложение за сигурност в този тип среда, но това са тези, които ме впечатлиха най-много или че в даден момент ми се наложи да кандидатствам / упражнявам в среда, която съм администрирал .

Прегръдка и се надявам да ви служи 😀


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Корацуки каза той

    Каня ви в коментарите да ни разкажете за някакво друго правило, което сте приложили освен вече споменатите, за да увеличите знанията на нашите читатели 😀

    1.    Юкитеру каза той

      Ами бих добавил:

      1. - Приложете sysctl правила, за да избегнете dmesg, / proc, достъп до SysRQ, присвояване на PID1 на ядрото, активиране на защити за твърди и меки символни връзки, защити за TCP / IP стекове както за IPv4, така и за IPv6, активиране на пълен VDSO за максимални указатели за рандомизация и разпределение на пространството в паметта и подобряване на силата срещу препълване на буфера.

      2. - Създайте противопожарни стени от типа SPI (Stateful Package Inspect), за да предотвратите достъпа до системата на несъздадени или предварително разрешени връзки.

      3.- Ако нямате услуги, които да гарантират връзки с повишени привилегии от отдалечено местоположение, просто отнемете достъпа до тях с помощта на access.conf или, ако това не стане, разрешете достъп само до определен потребител или група.

      4. - Използвайте твърди ограничения, за да предотвратите дестабилизирането на вашата система за достъп до определени групи или потребители. Много полезно в среди, в които има истински многопотребител, активен през цялото време.

      5. - TCPWrappers е ваш приятел, ако сте в система с поддръжка за нея, използването му няма да навреди, така че можете да откажете достъп от всеки хост, освен ако не е конфигуриран преди това в системата.

      6. - Създайте SSH RSA ключове от поне 2048 бита или по-добре от 4096 бита с буквено-цифрови ключове с повече от 16 знака.

      7. - Колко сте световни за писане? Проверката на разрешенията за четене и запис на вашите директории изобщо не е лоша и е най-добрият начин да се предотврати неоторизиран достъп в многопотребителска среда, да не говорим, че затруднява някои неоторизирани достъпи да получат достъп до информация, която правите не искам никой друг да вижда.

      8. - Монтирайте всеки външен дял, който не го заслужава, с опциите noexec, nosuid, nodev.

      9. - Използвайте инструменти като rkhunter и chkrootkit, за да проверявате периодично дали системата няма инсталиран руткит или злонамерен софтуер. Разумна мярка, ако сте от тези, които инсталират неща от несигурни хранилища, от PPA или просто компилират код на живо от ненадеждни сайтове.

      1.    Корацуки каза той

        Ъъъъ, вкусно ... Добър коментар, добавете момчета ... 😀

    2.    Уилям Морено Рейес каза той

      Да приложите задължителен контрол на достъпа със SElinux?

  2.   АрмандоФ каза той

    много добра статия

    1.    Корацуки каза той

      Благодаря приятелю 😀

  3.   жоако каза той

    Здравейте и ако съм нормален потребител, трябва ли да използвам su или sudo?
    Използвам su, защото не харесвам sudo, защото всеки, който има моята потребителска парола, може да промени каквото поиска в системата, вместо с su no.

    1.    Корацуки каза той

      На вашия компютър не се притеснява да използвате su, можете да го използвате без проблеми, на сървърите е силно препоръчително да деактивирате използването на su и да използвате sudo, мнозина казват, че това се дължи на факта на одита кой какво е изпълнил command и sudo прави тази задача ... Аз в частност, на моя компютър използвам неговия, точно като теб ...

      1.    жоако каза той

        Разбира се, всъщност не знам как работи на сървърите. Въпреки това, струва ми се, че sudo имаше предимството, че можете да дадете привилегии на потребителя на друг компютър, ако не се лъжа.

    2.    Андрю каза той

      Интересна статия, шифровам някои файлове с gnu-gpg, както е тази на минималната привилегия, в случай че искате да изпълните например двоичен файл с неизвестен произход, загубен в необятните морета от информация на диска, как да премахна достъпа до определени функции?

      1.    Корацуки каза той

        Дължа тази част на вас, въпреки че мисля, че трябва да стартирате само като sudo / root, програми, които са надеждни, тоест те идват от вашето репо ...

      2.    Юкитеру каза той

        Спомням си, че прочетох, че има начин да активирате коренните възможности в някакво ръководство за GNU / Linux и UNIX, ако го намеря, ще го сложа 😀

      3.    Клоун каза той

        а клетките за чаун да управляват непознати двоични файлове?

    3.    Юкитеру каза той

      Използването на sudo по всяко време е много по-добре.

    4.    елав каза той

      Или можете да използвате sudo, но ограничавайки времето за запомняне на паролата.

  4.   Кевин Родригес каза той

    Подобни инструменти използвам за наблюдение на компютър, "iotop" като заместител на "iostat", "htop" отличен "диспечер на задачите", "iftop" мониторинг на честотната лента.

  5.   монитолинукс каза той

    мнозина ще си помислят, че това е пресилено, но вече видях атаки за включване на сървър към ботнет.

    https://twitter.com/monitolinux/status/594235592260636672/photo/1

    пс: Китайски просяци и техните опити за хакване на моя сървър.

  6.   клоун каза той

    нещо, което също е удобно, е да се използват клетки за чауни за услугите, така че ако по някаква причина те бъдат атакувани, те няма да компрометират системата.

  7.   Диаб каза той

    Използването на командата ps също е отлично за наблюдение и може да бъде част от действията за проверка на недостатъци в сигурността. изпълняващ ps -ef изброява всички процеси, той е подобен на top, но показва някои разлики. инсталирането на iptraf е друг инструмент, който може да работи.

  8.   Клаудио J. Concepción Certad каза той

    Добър принос.

    Бих добавил: SELinux или Apparmor, в зависимост от дистрибуцията, винаги активирани.

    От моя собствен опит разбрах, че е лоша практика да деактивирам тези компоненти. Почти винаги го правим, когато ще инсталираме или конфигурираме услуга, с извинението, че тя работи без проблеми, когато наистина това, което трябва да направим, е да се научим да боравим с тях, за да разрешим тази услуга.

    За поздрав.

  9.   GnuLinux ?? каза той

    1. Как да шифровам цялата файлова система? струва си??
    2. Трябва ли да се дешифрира всеки път, когато системата ще се актуализира?
    3. Криптирането на цялата файлова система на машината същото ли е като криптирането на всеки друг файл?

    1.    Юкитеру каза той

      Как да разберете, че знаете за какво говорите?

  10.   NauTiluS каза той

    Също така можете да поставяте програми в клетки и дори множество потребители. Въпреки че това е повече работа, но ако нещо се случи и имате предишно копие на тази папка, това е просто удряне и пеене.

  11.   тон каза той

    Най-добрата и удобна политика за сигурност е да не бъдете параноични.
    Опитайте, това е безпогрешно.

  12.   ангелбенити каза той

    Използвам csf и при отключване на клиент, който е сгрешил паролата си при някакъв достъп, това забавя процеса, но го прави. Нормално е?

    Търся командата за деблокиране от ssh ... всяко предложение