У овом упутству на ЦентОС 7 минимал инсталацији на неком тамо VPS-у ћемо инсталирати LAMP (Apache, MariaDB, PHP) као и phpMyAdmin, поставити основну заштиту као што су промена ssh порта, основна firewall заштита. У овом примеру претпоставићемо да је у питању један сајт, па се нећемо играти виртуалним хостовима и слично.
# Ажурирање система
yum update -y
# Додавање нон-root корисника, забрана логина за root, промена порта
useradd kompjuteras
passwd kompjuteras
gpasswd -a kompjuteras wheel
su - kompjuteras
sudo sed -i s/"#PermitRootLogin yes"/"PermitRootLogin no"/g /etc/ssh/sshd_config
sudo sed -i s/"#Port 22"/"Port 53535"/g /etc/ssh/sshd_config
sudo systemctl reload sshd
# Замена firewalld са iptables: https://kompjuteras.com/kako-zameniti-firewalld-sa-iptables-om-na-centos-7/
##########################################################################################################
vi FIREWALL.sh # Додати у фајл ово испод до тарабица
#!/bin/sh
service iptables stop
iptables -F
iptables -X
service iptables save
# Јавни портови -------------------------------------------------------------------
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 53535 -j ACCEPT
# Per IP izmene
-----------------------------------------------------
iptables -A INPUT -s 222.222.222.222 -p ICMP --icmp-type 8 -j ACCEPT # промени својом IP
# ОСТАЛО - ------------------------------------------------------------------
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Drop svega sto nije ovo gore i reload
iptables -A INPUT -j DROP
service iptables save
service iptables restart
exit 0
###########################################################################################################
sudo chmod +x FIREWALL.sh
sudo ./FIREWALL.sh
# Инсталација LAMP i phpmyadmin
sudo rpm -iUvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install httpd mariadb-server mariadb php php-mysql phpmyadmin vim
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
sudo systemctl start mariadb
sudo mysql_secure_installation
sudo systemctl enable mariadb.service
sudo vim /etc/httpd/conf.d/phpMyAdmin.conf # Изменити приступне адресе
sudo systemctl restart httpd
elementhttp
10/06/2016 @ 19:00
Evo pitanje koje gde se svi na netu raspravljaju:
DROP vs REJECT
„Setting to DROP has the benefit of preventing responses to the source (which could indicate a live host) but can also cause sockets to remain open for incomplete handshakes. REJECT drops the packet, responds with a destination unreachable and will close connections pretty quick. REJECT is the typical choice used.“
„Employing a default DROP rule for all ports except the ones originally intended(for a website these are 80/443) reduces the attack surface of the given stations on the network. It’s much more convenient(and cheaper) to drop packets instead of configuring a service so that it is secure with regards to a given policy.“
Pa mi ti sad reci da li je bolja prasetina ili piletina ? 😀
Компјутераш блог
11/06/2016 @ 13:04
Поставиш испред сервера неки pfSense који ће преусмеравати саобраћај на портовима 80 и ssh на web сервер а сав остали на reject…а на web server-у поставиш firewall са drop statementom и bug fixed 😀
elementhttp
11/06/2016 @ 19:12
I tako ti ja počeo da treniram prase (Snort) da se bije po mreži 😀