Увеличете сигурността на GNU / Linux

Здравейте приятели от DesdeLinux, обещаното е дълг и ето публикация за как да максимизираме защитата на Linux системите и останете така безопасно от натрапници в допълнение към защитата на информацията на вашите сървъри, компютри или лаптопи !!!!

Comenzando

Fail2ban: е приложение, написано на Python за предотвратяване на проникване в система, която действа чрез наказване или блокиране на отдалечени връзки, които се опитват да получат груба сила.

Инсталация:

Fedora, RHEL, CentOS:

yum install fail2ban

Debian, Ubuntu:

apt-get install fail2ban

Настройка:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local

В частта, наречена [ПО подразбиране], ние коментираме и модифицираме #bantime = 3600, оставяйки го така:

#bantime = 3600 bantime = 604800

В частта [sshd] въвеждаме enabled = true, оставяйки го така:

#enabled = вярно активирано = вярно

Спестяваме с CTRL + O и затваряме с CTRL + X

Стартираме услугата:

Fedora, RHEL, CentOS:

systemctl активира fail2ban.service systemctl стартира fail2ban.service

Debian, Ubuntu:

услуга fail2ban старт

Отказ на root достъп чрез ssh:

За да защитим нашата машина, ще откажем ssh чрез root потребителя. За целта редактираме файла / etc / ssh / sshd_config, както следва:

cp sshd_config sshd_config.bck nano / etc / ssh / sshd_config

Ние коментираме и се променяме

# Протокол 2 Протокол 2

Ние коментираме и се променяме

#PermitRootLogin да PermitRootLogin не

Спестяваме с CTRL + O и затваряме с CTRL + X

Стартираме услугата:

Fedora, RHEL, CentOS:

systemctl активира sshd.service systemctl стартира sshd.service

Debian, Ubuntu:

услуга sshd старт

Откажете достъпа до ssh сървър с помощта на ключ и разрешете ssh само с RSA ключове

Ако искаме да се свържем с PC1 към Server1, първото нещо, което трябва да направим, е да генерираме нашия ключ на PC1. С нашия потребител и без root на PC1 изпълняваме:

ssh-keygen -t rsa -b 8192 (това генерира повече от сигурен ключ, тъй като обикновено се използват ключове от 1024 до 2048)

След като получим нашата парола, я качваме на Server1:

ssh-copy-id потребител @ server_ip

След като това стане, ще се свържем с нашия Server1 и ще модифицираме файла nano / etc / ssh / sshd_config с права на root:

ssh потребител @ Server1 nano / etc / ssh / sshd_config

Променяме реда, който казва #PasswordAuthentication да на това:

#PasswordAuthentication да
Парола Аутентификационен номер

Спестяваме с CTRL + O и затваряме с CTRL + X

Рестартираме услугата ssh:

Fedora, RHEL, CentOS:

systemctl рестартирайте sshd.service

Debian, Ubuntu:

услуга sshd рестартиране

Променете ssh порта за слушане

Отново редактираме / etc / ssh / sshd_config и в частта, отнасяща се до порта, го оставяме така:

# Порт 22 Порт 2000 (или всяко друго число, по-голямо от 2000 г. В нашите примери ще използваме това.)

Спестяваме с CTRL + O и затваряме с CTRL + X

Рестартираме услугата ssh:

Fedora, RHEL, CentOS:

systemctl рестартирайте sshd.service

Debian, Ubuntu:

услуга sshd рестартиране

Ако използват fail2ban, е необходимо да промените конфигурацията по отношение на sshd за настройка на порта.

nano /etc/fail2ban/jail.local

[sshd]
port    = ssh, 2000

[sshd-ddos]
port    = ssh, 2000

[dropbear]
port    = ssh, 2000

[selinux-ssh]
port    = ssh, 2000

Спестяваме с CTRL + O и затваряме с CTRL + X

Ние подновяваме услугата:

Fedora, RHEL, CentOS:

systemctl рестартирайте fail2ban.service

Debian, Ubuntu:

услуга fail2ban рестартиране

Firewall

Fedora, RHEL, CentOS:

Selinux и Iptables се активират по подразбиране на тези системи и препоръчвам да продължите по този начин. Как да отворите порт с iptables? Нека да видим как да отворим новия порт 2000 на ssh порта, който сме променили преди:

Отворено:

nano / etc / sysconfig / iptables

и ние модифицираме реда, отнасящ се до по подразбиране ssh порт 22 и го оставяме така:

# -A INPUT -m състояние - състояние НОВО -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m състояние - състояние NEW -m tcp --dport 2000 -j ACCEPT

Спестяваме с CTRL + O и затваряме с CTRL + X

Рестартираме услугата:

systemctl рестартирайте iptables

Debian, Ubuntu:

В Debian или Ubuntu и дериватите имаме защитна стена UFW, която ще улесни живота ни, тъй като много лесно управлява Netfilter.

Инсталация:

apt-get install ufw ufw enable

За да видите състоянието на отворените портове, които изпълняваме:

ufw статус

За да отворите порт (в нашия пример това ще бъде новият ssh порт 2000):

ufw позволи 2000

За да откажете порт (в нашия случай това ще бъде портът по подразбиране 22 на ssh):

ufw отказ 22 ufw изтриване отказ 22

И готови приятели. По този начин те ще пазят вашите машини в безопасност. Не забравяйте да коментирате и до следващия път: D.


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

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

*

*

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

  1.   грешник каза той

    и система за криптиране като: https://www.dyne.org/software/tomb/

    1.    грешник каза той

      А също и потребителите на клетки в дома ви, ако се свържат чрез tty:
      http://olivier.sessink.nl/jailkit/index.html#intro
      https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (лесният начин)

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

      Много по-добре и по-сигурно е да шифровате цялата файлова система.

    3.    петерчеко каза той

      За следния урок относно сигурността в Linux ще го взема предвид: D.

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

        Също така би било добре да поговорим за втвърдяване на ядрото чрез sysctl, активиране на произволната купчина и Exec-Shield в ядрата, които го поддържат, разрешаване на достъп до dmesg и файловата система / proc, стартиране на демон за одит, активиране на TCP защита SYN, ограничаване достъп до / dev / mem, деактивиране на опциите за стека на TCP / IP, които могат да бъдат опасни или опасни за системата (пренасочване, ехо, маршрутизиране на източника), използвайте pam_cracklib за потребителите да генерират силни пароли, важността на използването на MAC система като Tomoyo, AppArmor и SELinux.

  2.   Кук каза той

    много полезно!!!! точно това, което търсех, благодаря 🙂

    1.    петерчеко каза той

      Добре дошъл приятел :).

  3.   ангелблейд каза той

    Ако се използва apache, не пречи да се добавят правила с mod_rewrite, за да се избегнат ботове. Много полезно

    http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/

    1.    Rolo каза той

      а за nginx има ли някакъв трик или конфигурация?

  4.   Rolo каза той

    В debian 8 файлът / etc / ssh / sshd_config вече има активен протокол 2 и функцията PermitRootLogin е с опцията без парола (можете да въведете root само с ключа за удостоверяване и от компютъра, който има частния ключ)

    pd в debian 8 firewalld вече е пристигнал, което го оставя малък за ufw

    1.    dhunter каза той

      Виждали ли сте ферм? Харесва ми как са дефинирани правилата.

      http://ferm.foo-projects.org/download/examples/webserver.ferm

    2.    петерчеко каза той

      Е, радвам се, че Debian 8 използва firewalld, тъй като е много много много добър ...

  5.   dhunter каза той

    Пазете се от fail2ban, че нападателят произвежда пакети с ip на локалния компютър и прави DOS много лесен.

    1.    Hery каза той

      Човекът, локалният IP на компютъра и обратният IP са изключени от списъка Fail2ban.
      Ако не, можем да имаме фалшиви положителни резултати.

  6.   Джейсън Сото каза той

    Добри и много ефективни препоръки ... Разбира се, в сървърната среда и ако хостваме уебсайт, това включва допълнителни стъпки .... Понастоящем поддържаме проект, наречен JackTheStripper, който не е нищо повече от bash Script, който подготвя и осигурява сървър с GNU / Linux следвайки най-добрите практики за сигурност, за уеб приложения ... можете да знаете проекта на http://www.jsitech.com/jackthestripper ....

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

      Хубав скрипт, въпреки че обичам да запазвам стойността на kernel.randomize_va_space = 2

      1.    Джейсън Сото каза той

        Хубавото е, че преди да го стартирате, можете да го модифицирате малко според вашите нужди ..... A Здравейте ...

    2.    петерчеко каза той

      Здравейте, разбира се, моят пост се занимава с осигурена база и всеки трябва да се защити горе-долу в зависимост от услугите, които е инсталирал в своите системи като LAMP или FTP, SFTP, BIND и дълги и други:) ...

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

      Благодаря за положителната обратна връзка :).

  7.   следващ каза той

    @petercheco, вашите ръководства са отлични, би било добре ръководство за криптиране за системата FreeeBSD, не знам кога ще правите втората част за FreeBSD, за конфигуриране и персонализиране на настолни компютри, за защитна стена, за създаване и конфигуриране на безжична мрежа.

    1.    петерчеко каза той

      Здравей приятел,
      Малко съм зает, както показва рядкото публикуване, но ще го имам предвид при следващата публикация на FreeBSD.

      Поздрав :).

  8.   Солрак Rainbowarrior каза той

    Това се изравни в коментарите, нямам идея или за какво говорите, никой xD
    Страхотна статия!

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

    Това действие за сигурност предполага ограничаване на оборудването по някакъв начин?

    1.    петерчеко каза той

      Не ... Нормалното използване на системата изобщо не е ограничено.

  10.   грешник каза той

    И забавното (трагичното) нещо е, че както току-що видяхме при машините на Lenovo, ако фърмуерът на bios е подправен със злонамерен софтуер, нищо, което правите, няма значение.

    1.    петерчеко каза той

      Докато използвате Windows, предварително инсталиран от производителя ...

      1.    грешник каза той

        грешка: не забравяйте, че са го инсталирали във фърмуера на bios, тоест той започва със системата при всяко рестартиране, преди операционната система, преди демоните, преди всичко и не ви позволява да правите нищо срещу него. атакува малко може да се направи, поради което идеята на uefi е добра по принцип.

  11.   Пабло каза той

    Интересна статия, ще я прочета по-внимателно днес следобед. Благодаря ти.

    1.    петерчеко каза той

      Моля :). Радвам се.

  12.   Карлос Бест каза той

    Отлична статия, забавлявах се цял следобед, четейки я. Оценявам времето, което отделяте, за да обясните всичко много внимателно,

    Поздрави от Чили
    Карлос

    1.    петерчеко каза той

      Здравей Карлос,
      Благодаря много :).

  13.   Брайън каза той

    Машините на Lenovo, ако изглежда, че фърмуерът на bios се намесва със злонамерен софтуер, машините (лаптоп PC-настолен компютър) винаги се инсталират с Windows от производителя, като се има предвид горното ... прави ли пост ... .petercheco?

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

      Дори и без да прави всичко това, той работи, тъй като зловредният софтуер е създаден за Windows, а не за Linux.

  14.   SynFlag каза той

    Много неща и трикове липсват в iptables, като замаян nmap, така че от всички отворени портове, лъже, че това е компютър с Windows, използващ ttl и размера на прозореца, scanlogd, apache mod security, grsec, selinux или нещо подобно. Заменете ftp с sftp, ограничете броя на връзките на IP към всяка услуга в X порт, за да избегнете, че преди DDoS те да ни оставят без услуги, както и да блокират IP адресите, които изпращат повече от толкова много UDP за толкова много секунди.

    1.    петерчеко каза той

      С примерите, които представихте, нов потребител ще полудее, когато го чете ... Не можете да поставите всичко в една публикация. Ще направя няколко записа :).

  15.   шини-кире каза той

    Получавам грешка в archlinux в този момент, когато давам стартовата услуга, давам й статус и това излиза:
    sudo systemctl статус fail2ban
    ● fail2ban.service - услуга Fail2Ban
    Заредено: заредено (/usr/lib/systemd/system/fail2ban.service; активирано; предварително зададено от доставчика: деактивирано)
    Активно: неуспешно (резултат: начален лимит) от петък 2015-03-20 01:10:01 CLST; Преди 1 сек
    Документи: man: fail2ban (1)
    Процес: 1695 ExecStart = / usr / bin / fail2ban-client -x start (код = излязъл, статус = 255)

    20 март 01:10:01 Gundam systemd [1]: Неуспешно стартиране на услугата Fail2Ban.
    20 март 01:10:01 Gundam systemd [1]: Устройството fail2ban.service влезе в неуспешно състояние.
    20 март 01:10:01 Gundam systemd [1]: fail2ban.service се провали.
    20 март 01:10:01 Gundam systemd [1]: заявката за старт се повтаря твърде бързо за fail2ban ... ice
    20 март 01:10:01 Gundam systemd [1]: Неуспешно стартиране на услугата Fail2Ban.
    20 март 01:10:01 Gundam systemd [1]: Устройството fail2ban.service влезе в неуспешно състояние.
    20 март 01:10:01 Gundam systemd [1]: fail2ban.service се провали.
    Съвет: Някои линии бяха елиптирани, използвайте -l, за да ги покажете изцяло.
    малко помощ? Д:

    1.    петерчеко каза той

      Здравейте, ако сте активирали fail2ban със systemctl enable fail2ban.service и systemctl start fail2ban.service, проблемът ще бъде в конфигурираната от вас затвор. Моля, проверете затвора си и се уверете, че всичко е наред.

      поздравления
      Петерчеко

      1.    Майкел Франко каза той

        Преди всичко добър урок. Много неща липсват, но вие сте се съсредоточили върху основите.

        shini-kire, проверете вашия /var/log/fail2ban.log

        Поздрави.

      2.    петерчеко каза той

        Благодаря ти @Maykel Franco :).

  16.   jony127 каза той

    добър,

    fail2ban трябва ли да го инсталират на домашен компютър или това е повече за сървъри ???

    Благодаря.

    1.    петерчеко каза той

      По-скоро за сървърите, но ако сте на wifi, достъпен от повече хора от вас, е добре ...

  17.   Родриго каза той

    Здравейте приятелю, струва ми се добър пост за сигурност в частта от кратък пожар в дистрибуциите на Gnu / Linux.Пиша този коментар, защото го правя в дистрибуция на Ubuntu 14.04, знаейки, че вече е в 15.04 какво се случва е следният проблем, който въвеждам nano /etc/fail2ban/jail.local като root и нямам визуализация в sshd частта и запазвам В частта, наречена [DEFAULT], ние коментираме и модифицираме #bantime = 3600 и
    В частта [sshd] въвеждаме enabled = true, оставяйки го така:
    #enabled = вярно
    enabled = true
    Не изглежда, че на sshd това може да е, защото работя предишната версия, благодаря