Е, подготвях този пост Моят блог за известно време ми го предложиха в DesdeLinux, и поради липса на време, той не е бил в състояние или желание. Ако съм малко мързелив ????. Но сега те стачкуват, както казваме в Куба ...
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. - Приложете 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 или просто компилират код на живо от ненадеждни сайтове.
Ъъъъ, вкусно ... Добър коментар, добавете момчета ... 😀
Да приложите задължителен контрол на достъпа със SElinux?
много добра статия
Благодаря приятелю 😀
Здравейте и ако съм нормален потребител, трябва ли да използвам su или sudo?
Използвам su, защото не харесвам sudo, защото всеки, който има моята потребителска парола, може да промени каквото поиска в системата, вместо с su no.
На вашия компютър не се притеснява да използвате su, можете да го използвате без проблеми, на сървърите е силно препоръчително да деактивирате използването на su и да използвате sudo, мнозина казват, че това се дължи на факта на одита кой какво е изпълнил command и sudo прави тази задача ... Аз в частност, на моя компютър използвам неговия, точно като теб ...
Разбира се, всъщност не знам как работи на сървърите. Въпреки това, струва ми се, че sudo имаше предимството, че можете да дадете привилегии на потребителя на друг компютър, ако не се лъжа.
Интересна статия, шифровам някои файлове с gnu-gpg, както е тази на минималната привилегия, в случай че искате да изпълните например двоичен файл с неизвестен произход, загубен в необятните морета от информация на диска, как да премахна достъпа до определени функции?
Дължа тази част на вас, въпреки че мисля, че трябва да стартирате само като sudo / root, програми, които са надеждни, тоест те идват от вашето репо ...
Спомням си, че прочетох, че има начин да активирате коренните възможности в някакво ръководство за GNU / Linux и UNIX, ако го намеря, ще го сложа 😀
@andrew тук е статията, която споменах, и още малко помощ
http://www.cis.syr.edu/~wedu/seed/Labs/Capability_Exploration/Capability_Exploration.pdf
http://linux.die.net/man/7/capabilities
https://wiki.archlinux.org/index.php/Capabilities
а клетките за чаун да управляват непознати двоични файлове?
Използването на sudo по всяко време е много по-добре.
Или можете да използвате sudo, но ограничавайки времето за запомняне на паролата.
Подобни инструменти използвам за наблюдение на компютър, "iotop" като заместител на "iostat", "htop" отличен "диспечер на задачите", "iftop" мониторинг на честотната лента.
мнозина ще си помислят, че това е пресилено, но вече видях атаки за включване на сървър към ботнет.
https://twitter.com/monitolinux/status/594235592260636672/photo/1
пс: Китайски просяци и техните опити за хакване на моя сървър.
нещо, което също е удобно, е да се използват клетки за чауни за услугите, така че ако по някаква причина те бъдат атакувани, те няма да компрометират системата.
Използването на командата ps също е отлично за наблюдение и може да бъде част от действията за проверка на недостатъци в сигурността. изпълняващ ps -ef изброява всички процеси, той е подобен на top, но показва някои разлики. инсталирането на iptraf е друг инструмент, който може да работи.
Добър принос.
Бих добавил: SELinux или Apparmor, в зависимост от дистрибуцията, винаги активирани.
От моя собствен опит разбрах, че е лоша практика да деактивирам тези компоненти. Почти винаги го правим, когато ще инсталираме или конфигурираме услуга, с извинението, че тя работи без проблеми, когато наистина това, което трябва да направим, е да се научим да боравим с тях, за да разрешим тази услуга.
За поздрав.
1. Как да шифровам цялата файлова система? струва си??
2. Трябва ли да се дешифрира всеки път, когато системата ще се актуализира?
3. Криптирането на цялата файлова система на машината същото ли е като криптирането на всеки друг файл?
Как да разберете, че знаете за какво говорите?
Също така можете да поставяте програми в клетки и дори множество потребители. Въпреки че това е повече работа, но ако нещо се случи и имате предишно копие на тази папка, това е просто удряне и пеене.
Най-добрата и удобна политика за сигурност е да не бъдете параноични.
Опитайте, това е безпогрешно.
Използвам csf и при отключване на клиент, който е сгрешил паролата си при някакъв достъп, това забавя процеса, но го прави. Нормално е?
Търся командата за деблокиране от ssh ... всяко предложение