Debian server trochu netradične.
nano –w /etc/apt/sources.list
Doplníme repozitory a to tak že prekopírujeme dole uvedené repozizory do súboru čo sme si otvorili.
deb
security.debian.org/ lenny/updates main contrib
deb-src
security.debian.org/ lenny/updates main contrib
deb
ftp.debian.org/debian/ experimental main non-free contrib
deb-src
ftp.debian.org/debian/ experimental main non-free contrib
Keď to spravíme tak stlačíme ctrl + x a dáme to uložiť potom stačí napísať nasledovný príkaz:
apt-get update
WEB Server
apt-get install apache2
Konfiguračné súbory nájdeme v: /etc/apache2
Webovú stránku defaltné musíme nahrať sem: /var/www ( v nastaveniach sa to dá zmeniť )
Viac domén na web servery:
Sem tam sa stane že užívateľ potrebuje mať viac webov na linuxovom web servery a nevie ako na to. V tomto prípade sa nastavujú takzvane vhost.
Najskôr sa dostaneme do adresára kde sa nachádzajú nastavenia pre web server a to týmto príkazom:
cd /etc/apache2/
Keď si napíšeme do príkazového riadku „ls“ uvidíme viac súborov a adresáre ale nás budú zaujímať iba tieto: sites-available, sites-enabled
Chceme si vytvoriť doménu s názvom :
www.viem.to tak postup je nasledovný:
1, V adresary sites-available vytvoríme novy súbor s názvom
www.viemt.to a do prázdneho súboru zapíšeme dole uvedené premeny ( Ak neviete vytvoriť súbor s tím názvom tak stačí zadať do príkazového riadku: nano –w /sites-available/
www.viem.to ).
#
#
www.viemt.to
#
<VirtualHost *>
ServerAdmin
Táto e-mailová adresa je chránená pred spambotmi. Ak ju chcete vidieť, je potrebné aby ste mali zapnutý JavaScript.
ServerName
www.viem.to
ServerAlias
www.viem.to
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /var/www/viem.to/
# CGI Directory
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /var/www/
www.viemt.to/logs/error.log
CustomLog /var/
www.viem.to/logs/access.log combined
</VirtualHost>
Vysvetlivky:
ServerAdmin: Je adresa webmastera môžete tam napísať čo Vás napadne
ServerName a Server Alias: je webová adresa pre ktorú platí tento konfigurák
DocumentRoot: Určuje kde sa nachádza webová stránka je tam napísaná cesta k nej ak chceme dať napríklad web stránku vo vášho home adresáru priečinku tak môžeme použiť tento príklad:
cd /home/froshy/www
A všade potom do DocumentRoot napíšeme toto : /home/froshy/www to iste platí aj pre ScriptAlias, ErrorLog a CustonLog
Výhoda je že server nemusíme reštartovať a môžeme si ho pohodlne povoliť cez tento príkaz:
a2ensite
www.viem.to
/etc/init.d/apache2 reload
A mame funkčný webovú doménu keď budeme robiť ďalšie domény tak za a2ensite napíšeme namiesto
www.viem.to názov ďalšej domény čo sme spravili
PHPMYADMIN
V podstate sa jedna o webovú nadstavbu pre spravovanie My SQL serveru a to bez toho aby ste museli poznať cmd príkazy pre My SQL server. Samostatne bez My SQL serveru nefunguje a preto je potrebne ho inštalovať spolu s phpmyadmin. K tomuto sa moc napísať nedá a každý, ktorý sa vyzná trochu v My SQL to bude ovládať.
My SQL server
apt-get install phpmyadmin mysql-server
Keď prebehne inštalácia tak si bude od Vás pýtať heslo a cele to bude vypadať ako obrázok hore. Keď napíšete prvý kráť heslo a stlačíte enter. Nabehne ďalšia tabuľka do ktorej musíte napísať odnova to iste heslo a potom to cele prebehne do konca a mate na svete My SQL server.
Vysvetlivky:
Phpmyadmin – Je webové rozhranie, ktorý si vysvetlime v tomto článku
Mysql-server – My SQL server, ktorý si tiež vysvetlime v tomto článku
Bez SQL serveru sa nepohne žiadna web stránka alebo aplikácie, ktoré spolupracujú s SQL. Najrozšírenejším serverom je My SQL, ktorý je našťastie otvorený a ma za sebou aj dlhy vývoj. My SQL server ma naozaj premakany príkazový interface cez ktorý môžeme robiť čo nás napadne. V tejto časti popíšem iba tie najpoužívanejšie.
Prihlásenie do My SQL ako root:
mysql -u root -p
Prihlásenie ako užívateľ:
mysql -u meno_uzivatela -p
Zmena hesla pre root:
mysqladmin -u root password vaše_heslo
Zmena hesla pre iného užívateľa:
mysqladmin -u meno_uzivatela -p stare_heslo password nove_heslo
Zmenu hesla môžeme spraviť aj takto:
mysql -u root -p
Napíšeme : use mysql;
Potom takto zmámime heslo: update user set password=PASSWORD("nove_heslo") where User='meno_uzivatela';
Teraz je potrebne obnoviť privilégia a to spravili týmito príkazmi:
flush privileges;
quit;
Niekedy sa stane že zabudneme root heslo do My SQL a musíme ho reštartovať tak postup je nasledovný:
/etc/init.d/mysql stop
/usr/bin/mysqld_safe --skip-grant-tables &
mysql --user=root mysql
/etc/init.d/mysql start
Ako vidíte nasledovne príkazy sú pre začiatočníka dosť náročné a preto jednoznačne odporúčam používať phpmyadmin. Tieto príkazy sa dajú aj kombinovať tak že namiesto root napíšete meno užívateľa a tím pádom sa to bude vzťahovať len na toho užívateľa, ktorého ste zadali a táto kombinácia sa nesťahuje na reset root hesla.
Príkazy ktoré ešte môžeme použiť:
Vytvorenie databázy.
create database [meno_databazy];
Zobrazenie všetkých databáz na servery.
show databases;
Prepnúť sa na databázu.
use [db_meno];
Zobrazenie všetkých databáz v my SQL.
show tables;
Zmazanie databázy.
drop database [database_meno];
Zmazanie tabuľky v databáze.
drop table [tabulka_meno];
Zobraz všetky dáta v tabuľke.
SELECT * FROM [tabulka_meno];
FTP Server
Teraz potrebujeme nainštalovať My SQL server inštalácia je tiež jednoduchá úplné stačí si napísať do príkazového riadku:
apt-get install proftpd
Môj najobľúbenejší ftp server v Linuxe je proftpd a tém aj trochu popíšem v tomto článku. Ftp server, ktorý som spomínal sa dá pekne nastavovať a umožňuje prepojenie s My SQL kvôli tomu že tento článok je pre začiatočníkov nebudem rozpisovať jeho ďalšie možnosti ale iba nevyhnutne úpravy na to aby išiel.
Konfiguračné súbory nájdeme v: /etc/proftpd/proftp.conf
FTP priečinky nájdeme tú: /home/meno_uživatela ( v nastaveniach sa to dá zmeniť )
Funguje to tak že keď si spravím užívateľa s menom jb a dám mu heslo jb pomocou príkazu adduser. Tak proftpd keď zisti že sa prihlasuje jb s heslom jb tak zobrazí priečinky v /home/jb.
Jediná vec ktorá je potrebné spraviť je nastaviť: defaulroot ~
Ak to nespravíte tak hocikto kto sa prihlási na ftp môže behať po celom disku aj do iných kont určite by sa vám to nepáčilo keby niekto cudzí pozeral vaše veci a postup je nasledovný:
nano –w /etc/proftpf/proftpd.conf
Nájdeme si toto : # DefaultRoot ~
Jedine čo potrebujeme spraviť je odstrániť mriežku a potom uložiť nastavenie a reštartnut ftp server týmto príkazom:
/etc/init.d/proftpd restart
Fail2ban
Je to malý program, ktorý monitoruje pokúsi o pripojenie na SSH, FTP a ďalšie služby a keď niekto prekročí stanovený počet tak ho zabanuje na určenú dobu. Je to idelana utilita na ochranu pred BF útokom ( Bruce Force – Násilné vyhľadávanie hesla pomocou postupného generovania prístupových údajov).
V debiane je to štandardne prednastavene takže je to ideálny pre začínajúcich Linux administrátorov pre zaujímavosť nastavenie nájdete tu:
/etc/fail2ban/jail.conf
IPTables
Je to laicky povedané softwarový firewall aj keď to celkom pravda nie je. Pri nastavovaný si treba dávať pozor lebo keď sa popletiete tak sa už na Vás server nedostanete pokiaľ nereštartujete server alebo nepoužijete KVN over IP. Pri mojom nastavený nemáte čo pokaziť ak nezrušíte port 22.
Môj skrípt:
#!/bin/sh
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -F
iptables -A INPUT -s 127.0.0.1 -i lo \
-m state --state NEW -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# DOPLNENE PRAVIDLA
# Zablokovanie spanerov od gaya
iptables -A INPUT -s 213.215.86.0 - 213.215.86.127 -j DROP
# Povolenie portu 80 pre Web Server
iptables -A INPUT -p tcp --dport 80 \
-m state --state NEW -j ACCEPT
# Povolanie portu 21 pre SSH server
iptables -A INPUT -p tcp --dport 21 \
-m state --state NEW -j ACCEPT
# Povolenie portu 22 pre FTP server
iptables -A INPUT -p tcp --dport 22 \
-m state --state NEW -j ACCEPT
echo "Pravidla firewallu zavedene.."
Napríklad spustite si hub server ktorý pobeží na porte 412 a používate skrípt od mňa tak pravidlo doplníte nasledovne:
iptables -A INPUT -p tcp --dport 412 \
-m state --state NEW -j ACCEPT
Pri nastavovaný pravidiel je potrebne vedieť či to pracuje na UDP alebo TCP porte toto je vyjadrené buď takto –p tcp ( pre tcp port ) alebo –p udp ( pre udp port ). Port ktorý ma prepúšťať je nastavený touto premenou –dport 412 ( 412 je číslo portu ) a nakoniec ACCEPT znamená že ma prijímať spojenie keď dáte DROP tak bude zahadzovať pakety s daného portu.
Nezabúdajte že pravidlo pre port 21 nikdy neodstraňujete lebo sa nedostanete už na server !!!