Mga tip upang maprotektahan ang iyong Linux server mula sa panlabas na pag-atake

Ang mga taong nagmamaneho yata Mga server ng Linux alam nila at alam ang tungkol sa TanggihanHOSTS y Fail2ban. Para sa mga hindi nakakakilala sa kanya gagawin ko ipaliwanag kaunti tungkol sa dalawang ito application.

Si John Fredy Perez ay isa sa nagwagi ng aming lingguhang kompetisyon: «Ibahagi ang alam mo tungkol sa Linux«. Binabati kita! Balisa tungkol sa lumahok at magbigay ng iyong kontribusyon sa pamayanan, tulad ng ginawa ni John?

I-install at i-configure namin ang dalawang application na ito upang maiwasan ang kasunod na sakit ng ulo. Una sa lahat ipapaliwanag namin kung ano ang dalawang application na ito at kung ano ang kanilang pag-andar:

Fail2Ban

Ito ay isang log analyzer na naghahanap ng mga nabigong pagtatangka sa pagpaparehistro at hinaharangan ang mga IP kung saan nagmula ang mga pagtatangkang ito. Ipinamamahagi ito sa ilalim ng lisensya ng GNU at karaniwang gumagana sa lahat ng mga system na nakikipag-ugnay sa isang system ng control control o isang lokal na firewall.

Ang Fail2Ban ay may mahusay na pagsasaayos at maaari ring lumikha ng mga panuntunan para sa mga programa
pagmamay-ari o pangatlong partido.

TanggihanHOSTS

Ito ay isang tool sa seguridad na nakasulat sa sawa na sinusubaybayan ang mga pag-access ng mga log ng server upang maiwasan ang pag-atake ng malupit na puwersa sa isang virtual server. Gumagana ang programa sa pamamagitan ng pagbabawal sa mga IP address na lumampas sa isang tiyak na bilang ng mga nabigong pagtatangka sa koneksyon.

Ang mga application ng Linux na ito - DenyHosts at Fail2ban - ay maaaring magamit nang hiwalay o magkasama. Sa aking kaso, mayroon silang pareho na nagtutulungan.

Ang pag-install at pagsasaayos ng bawat isa ay nakasalalay sa pamamahagi na iyong ginagamit. Ang post na ito ay nakatuon sa CentOS 6.3, kahit na ang mga pagkakaiba sa pagitan ng iba pang mga distrito ay hindi gaanong minarkahan.

Kung gayon, magtrabaho tayo.

Pag-install ng Fail2Ban at Pag-configure

Ang application na ito ay bumubuo ng mga pabagu-bagong patakaran sa Linux firewall mismo, at responsable para sa paglikha ng mga live na panuntunan sa IpTables.

Instalasyon

Para sa pag-install a:

yum install fail2ban 

Kung ang pakete ay hindi lilitaw, dapat naming idagdag ang kinakailangang imbakan:

rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm

Sa pamamagitan nito dapat mong simulang i-install ang application kasama ang mga dependency nito.

Ngayon kailangan naming i-configure ang Fail2Ban upang pag-aralan ang mga tala na gusto namin at i-block
IP's, nagpapadala ng mga abiso sa pamamagitan ng e-mail. Para dito dapat nating baguhin ang file ng jail.conf na nakita namin sa / etc / fail2ban

cd / etc / fail2ban
nano kulungan.conf

Ang sumusunod ay dapat gawin sa file na ito:

  • Ang pagbabago ay ang halaga ng bantime, tinutukoy ng halagang ito ang oras sa mga segundo na ma-block ang IP ng magsasalakay, sa pamamagitan ng default ang halaga ay dumating sa 600 segundo.
  • Hanapin ang halagang maxretry na magiging bilang ng mga beses na ang isang IP ay maaaring magkaroon ng isang nabigong pagpapatotoo bago ma-block.
  • Idagdag ang aming mga ip sa parameter na huwag pansinin. Dito ay hindi papansinin ng application ang aming mga napatunayan na IP sa parameter na iyon.
[DEFAULT]
Ang # "huwag pansinin" ay maaaring isang IP address, isang CIDR mask o isang host ng DNS. Ang Fail2ban ay hindi
# ban ang isang host na tumutugma sa isang address sa listahang ito. Maraming mga address ay maaaring maging
# tinukoy gamit ang space separator.
huwag pansinin = 127.0.0.1

Ang # "bantime" ay ang bilang ng mga segundo na ipinagbabawal ng isang host.
bantime = 600

# Ang isang host ay pinagbawalan kung nakalikha ito ng "maxretry" sa huling "findtime"
# segundo.
oras ng paghahanap = 600

Ang # "maxretry" ay ang bilang ng mga pagkabigo bago ma-ban ang isang host.
maxretry = 3

Ang isang halimbawa ng kung paano ito maaaring maging ay ang mga sumusunod:

huwag pansinin = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maxretry = 2

I-configure ang Fail2Ban at SSH

Upang maghanap ng mga nabigong mga pagtatangka sa pag-login ng SSH, binago namin ang file hanggang sa magmukhang ang sumusunod:

[ssh-iptables] 
pinagana = totoo
filter = sshd
action = iptables [name = SSH, port = 22, protocol = tcp] sendmail-whois [name = SSH, dest=FredySnake@outlook.com, sender = fail2ban @ localhost] logpath = / var / log / secure # Ito ang mag-log na parse fail2ban
maxretry = 3 # anumang IP na may tatlo o higit pang mga nabigong pagtatangka ay mai-block.
bantime = 86400 # 24 na oras ng pagbabawal na ipinahayag sa segundo

Huwag kalimutan na kung binago mo ang port kung saan nakikinig ang SSH, dapat mo ring baguhin ang parameter ng port.

Ang application na ito ay hindi lamang gumagana para sa hindi awtorisadong pag-access sa SSH, ngunit din para sa apache, upang mabasa ang mga Asterisk log, atbp.

Itanggi ang Pag-install at Pag-configure

Ang operasyon nito ay batay sa paggamit ng /etc/hosts.deny file, iyon ay, sa pagharang sa mga address ng "umaatake" na mga host, na lumilikha ng isang listahan ng mga tinanggihan na host.

Ang pag-install mula sa mga repository ay maaaring makuha sa sumusunod na utos:

yum i-install ang mga denyhost 

Ang file ng pagsasaayos ay matatagpuan sa /etc/denyhosts.conf

Bago magpatuloy, dahil bilang mga tao maaari tayong magkamali at gawin ang tipikal na "Layer 8" kapag na-access ang alinman sa mga serbisyo at hinaharangan ang ating sarili. Upang maiwasan iyon, i-edit namin ang /etc/hosts.allow file at idagdag ang mga IP ng mga machine mula sa kung saan hindi namin nais na mapigilan dahil sa isang pagkabigo sa pag-access.

Baguhin ang denyhosts.conf file

Upang hindi malayo sa mga setting, sa file na ito ay mag-e-edit at mai-kompromiso namin ang ilang mga parameter. Ito ang:

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1h
SYNC_UPLOAD = oo
SYNC_DOWNLOAD = oo
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5h

Sa gayon, iiwan namin ang isang pagsasaayos na praktikal bilang default, ngunit may mahusay na seguridad laban sa mga pag-atake ng SSH.

nano /etc/hosts.allow

Halimbawa:

sshd:127.0.0.1 
sshd:192.168.1.10
sshd: 192.168.0. *

Pagkatapos nito, i-restart namin ang serbisyo:

/etc/init.d/denyhosts mag-restart

Sa pamamagitan nito nagbibigay kami ng pahintulot sa isang IP, isang saklaw ng IP at syempre sa aming loopback interface. Isang bagay na hindi ko pa nasubukan - samakatuwid hindi ko alam kung gumagana ito - ay upang magdagdag ng mga DNS sa file na ito; iyon ay, na may mga serbisyo tulad ng DynDNS. Kung gagawin ko ito, sasabihin ko sa iyo kung paano ito nangyari.

Sa ilang mga pagpipilian at pagsasaayos ay titiyakin din namin na pagkatapos ng tagal ng panahon na isinasaad namin sa pagsasaayos ng DenyHOSTS, malinis ang mga nakaimbak na address, at nai-update ang mga ito sa iba pang mga listahan na ginawa ng iba -kung ipinahiwatig namin na nagbibigay ito ng pahintulot na mag-access ang server ng DenyHOSTS.

Upang linisin ang mga nakaimbak na address nang pana-panahon, tulad ng na-configure, dapat na patakbuhin ang daemon na may parameter na –purge:

/etc/init.d/denyhosts magsisimula --lipat

Bilang karagdagan sa ito, dapat namin itong isama sa pagsisimula ng system:

chkconfig denyhosts sa

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.