Showing posts with label server. Show all posts
Showing posts with label server. Show all posts

Tuesday, March 3, 2015

Apache 2.2 mod-authnz-external UNIX user auth howto with pwauth


This howto is for Debian linux, and for Apache version 2.2. Directories and installation types may differ on other distributions.

1. Install apache module (it will also install pwauth as a dependency)

apt-get install libapache2-mod-authnz-external

2.Enable apache2 module

a2enmod authnz_external

3.Check if module is loaded:

apache2ctl -M | grep  authnz_external

should see:

 authnz_external_module (shared)

4. Set up vhost:

4.1: In the selected directory:
 
AuthType Basic
AuthName Your-Site-Name
AuthBasicProvider externalAuthExternal pwauthrequire valid-user


4.2: In the beginning of the vhost file:

AddExternalAuth pwauth /usr/sbin/pwauth
SetExternalAuthMethod pwauth pipe


Possible problems:

Invalid AuthExternal keyword (pwauth)

You have no pwauth installation or you pwauth is not in the /usr/sbin directory, search it!


 Action 'configtest' failed.
The Apache error log may have more information.
 failed!


You have misspelled some command in the configuration file, check it!

Wednesday, August 7, 2013

Install NATdet

I haven't found any tutorials about installing NATDet yet, so I just made one, it's very simple. Here is the official NATDet site: http://elceef.itsec.pl/natdet/ , there is a little documentation about it.

So, how to install: 


1. You need to install some packages:
  • pcap
  • bison

2. Install tcpdump
http://www.tcpdump.org/

3. Install ncurses

4. Download and install NATDet
Install:

./configure
make
make install 


How to use it:


First, you should set your network interface to promisc mode, if you want it to be automated, set it:
/etc/network/interfaces

auto eth1
iface eth1 inet manual
        up ifconfig eth1 promisc up
        down ifconfig eth1 promisc down

Then:

/etc/init.d/networking restart && ifup eth0 && ifup eth1

Now, your network interface reads every packages, so you can start using natdet:

As shown in the readme:

natdet -v -i eth0 'RULES'

-v : verbose
-vv : more verbose
-i : set interface
-l : set log file
-d : run in background

- RULES : You can set up rules like in tcpdump

And now, just wait, it needs some time to find users who use NAT.

Monday, July 15, 2013

Postfix behind Iptables masquerade (NAT)


I've been working on a mail server behind iptables masquerade for some days, and it just didn't work, but I found the solution, it may help you.

If you use SMTP server behind NAT, and you get the following errors:
  • mail postfix/smtp[7854]: warning: host gmail-smtp-in.l.google.com[173.194.70.26]:25 greeted me with my own hostname mail.example.com
  • mail for gmail.com loops back to myself
you should check your iptables configuration. A proper port-forward config:



iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d PUBLICIP --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -t nat -A PREROUTING -p tcp --dport 25 -i eth0 -j DNAT --to MAILSERVERPRIVATEIP:25

(Only forward packets from port 25 to your mail server's private IP port 25, if it comes from the outside.)

You can test it on your mail server by telnetting to a foreign smtp server for example:

telnet smtp.gmail.com 25

It should show:

Trying 173.194.70.108...
Connected to gmail-smtp-msa.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP r54sm45040303eev.8 - gsmtp

If you see


220- mail.yourdomain.com gsmtp

you config is not good yet.

Friday, January 18, 2013

Windows Server 2008 R2 RDP Port Change

You need to do 3 steps to enable and change RDP Port in Windows Server 2008, 2008R2, 2012. You need to do this, if you have more servers at the same IP address, behind a router.

1st step: Enable RDP in System settings. You can go there by right clicking on Computer -> Propreties. Choose Advanced System Settings from the left side menu.


2nd Step: Change RDP Port: Open the registry editor (regedit: open cmd -> regedit.exe). Select HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber . Change to decimal mode, and change the port number, then click ok.

3rd Step: Enable the new Port in the Firewall settings. Open Server Manager, Select Firewall Settings in the left menu, right click on Inbound Rouls -> New. Choose TCP, set Port number, and name it.


Thats all. After this you should restart your server, then everything should work fine. Default port for RDP is 3389 (TCP). Enjoy.




Sunday, August 26, 2012

Counter Strike: Global Offensive szerver készítés linuxon

A következő cikkben bemutatom, hogy hogyan lehet Counter Strike: GO szervert telepíteni Linuxra. Első lépésként, ha még nem tettük volna meg, telepítsük a SteamCMD-t.  A SteamCMD telepítéséről itt olvashatsz.

Telepítés:


Adjuk meg a telepítési útvonalat, például:
force_install_dir ./cs_go/

Némelyik Linux disztribúción hibásan működik, ha a telepítési útvonalban nagy betűket használunk, erre figyeljünk oda!

Adjuk meg, hogy melyik játékot szeretnénk telepíteni, ez CS:GO esetében 740-es kód:
app_update 740 validate

Ezután, ha a játék még nincs telepítve, akkor letölti a szükséges fájlokat, ha telepítve van, akkor megpróbálja frissíteni a játékot. Ha használjuk a validate kulcsszót, ellenőrzi a fájlok konzisztenciáját. (Később ezzel a paranccsal tudjuk frissíteni a szervert! Az útvonal megadása ez esetben is kötelező!)

Váltsunk a cs_go mappába:
cd cs_go

Beállítások:

A csgo mappán belül találjuk a beállításokat tartalmazó .txt kiterjesztésű fájlokat, itt főként a játékmenetet befolyásoló beállítások vannak.

A csgo/cfg mappán belül kell elhelyezni a server.cfg nevű fájlt, alap esetben nem hozza létre, ezt nekünk kell megtenni: ( Ha nem tesszük meg, semmi gond, az alap beállításokat fogja használni! ).

cd csgo/cfg
echo > server.cfg

Ide másoljuk be a következőket:

hostname "Counter-Strike: Global Offensive Dedicated Server" // a szervered neve
rcon_password "yourrconpassword" //rcon jelszó
sv_password "" //szerver jelszó
Ezeken felül további beállításokat is használhatsz:

mp_freezetime 5 //Vásárlási idő
mp_join_grace_time 15 //Mennyi ideig lehet még csatlakozni kezdés után
mp_match_end_restart 0 // Meccs végi pálya restart 
sv_cheats 0 //Csalás kikapcsolása
sv_lan 0 //LAN mód kikapcsolása

A következő bot beállítások a szerver alap beállításai:

bot_difficulty 1 
bot_chatter "off" 
bot_join_after_player 1
bot_quota 10 
bot_quota_mode "fill"

A következő beállításokkal bannolhatunk játékosokat a szerverről:

writeid 
writeip 
exec banned_user.cfg 
exec banned_ip.cfg


A csgo/config appán belül pedig a szerverrel kapcsolatos beállítások, például itt állíthatjuk be a szervert nevét, jelszavát.


Indítás


Az indításhoz lépjünk be a steam/cs_go mappába:
cd steam/cs_go

A játék 4 féle játékmódot támogat, ezek alapján a következőképpen lehet elindítani a szervert:


Classic Casual:
./srcds -game csgo -console -usercon +game_type 0 +game_mode 0 +mapgroup mg_bomb +map de_dust

Classic Competitive:
./srcds -game csgo -console -usercon +game_type 0 +game_mode 1 +mapgroup mg_bomb +map de_dust 

Arms Race:
./srcds -game csgo -console -usercon +game_type 1 +game_mode 0 +mapgroup mg_armsrace +map ar_shoots

Demolition:
./srcds -game csgo -console -usercon +game_type 1 +game_mode 1 +mapgroup mg_demolition +map de_lake



Egyéb

Igény esetén lehet saját MOTD-t beállítani:
csgo mappában

echo > motd.txt

ide írhatunk be pl. egy weblap címét, melyet böngésző-szerűen fog megjeleníteni

A játék admin oldali része, illetve beállításai szinte megegyeznek a Counter Strike: Source beállításaival.


A tutorial az eredeti Steam-es ajánlás alapján készült.



SteamCMD letöltése és beállítása linuxon

Az új Steam-es játékok telepítéséhez már nem tudjuk a HLDSUpdateTool -t használni, az új eszköz a SteamCMD lett. Telepítése roppant egyszerű, néhány lépés az egész:


Első lépésként töltsük le a becsomagolt telepítőt, majd csomagoljuk ki:
wget http://blog.counter-strike.net/wp-content/uploads//2012/04/steamcmd.tar.gz
tar xvfz steamcmd.tar.gz

Indítsuk el a telepítőt:
./linux32/steamcmd

Indítás után pedig a következő paranccsal tudunk belépni:
STEAMEXE=steamcmd ./steam.sh

Indítás után a már meglévő Steam felhasználónevünkkel és jelszavunkkal be kell lépni, ezt a következő formában tudjuk megtenni:
login <username> <password>

Ha belépéskor hibát jelezne, akkor az email-ben kapott SteamGuard  kódot is írjuk utána:
login <username> <password> <steam guard code>

Sikeres bejelentkezés után már telepíthetjük is a kiválasztott játékokat!

Ha Hardened Gentoo -t használunk, még kell néhány biztonsági beállítás.



Wednesday, August 1, 2012

Asterisk telepítés Debian-ra

Asterisk:


Az Asterisk egy ingyenes, open-source kommunikációs szoftver, főként Linux operációs rendszerekre. További információ található a hivatalos oldalon.

Az Asterisk-et kétféle módon telepíthetjük:


1. Telepítjük a csomagkezelő által felajánlott verziót. A csomagkezelő oldalán találhatunk információkat az éppen aktuális verzióról. A cikk írásakor a támogatott verzió az 1.6 volt, mely már egy kicsit elavultnak tekinthető, de ha valaki most ismerkedik a rendszerrel, annak tökéletes lehet, hiszen nem megy el idő a telepítési bajlódással. A telepítési fázisok itt érhetőek el.

2. Letöltjük a forráskódot és lefordítjuk a gépünkön. Ez egy kicsit több időt vesz igénybe, de éles rendszernél mindenképpen ajánlott kiválaszthatjuk, hogy milyen csomagokat (pl. codec-eket, és egyéb szolgáltatásokat) szeretnénk telepíteni, így csökkentve az erőforrás használatot. A telepítési fázisok itt érhetőek el.

Érdemes megemlíteni, hogy létezik egy FreePBX nevű eszköz, melyet egy telepített Asterisk-es rendszerhez kell kötnünk. Ez egy remek eszköz a rendszer monitorozására, illetve menedzselésére. A FreePBX telepítésére itt olvashatsz bővebben.



FreePBX telepítés Debian-ra

A FreePBX nem más, mint egy GUI az Asterisk vezérléséhez. Ha gyakran kell állítani a rendszeren, érdemes használni, hiszen nem kell a .conf fájlokban turkálni. Emellett elég sok adatot képes megjeleníteni a rendszerről: felhasználók, terhelés, elérhető frissítések, stb. .

A telepítése roppant egyszerű, szükséges hozzá PHP5, és MySQL. Állítólag a PHP5.4-et nem igazán kedveli, nekem nem volt vele problémám.

Letöltés/előkészítés:


Telepítsük a PHP-t, és MySQL-t:

apt-get install php5-mysql libapache2-mod-php5 mysql-server php-db php5-gd php-pear

Váltsunk a tmp mappába:
cd /tmp

Töltsük le az épp használatos verziót, jelenleg ezek közül lehet ávlasztnai:
A 2.9-es csak 1.8 ig támogatja az Asterisket!

wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz
wget http://mirror.freepbx.org/freepbx-2.10.0.tar.gz

Váltsunk az src mappába, csomagoljuk ki, és lépjünk bele:

cd /usr/src
tar xvfz /tmp/freepbx-2.10.0.tar.gz 
cd freepbx-2.10.0

Készítsük elő a MYSQL adatbázisokat:

mysql -u root -p
create database asterisk;
create database asteriskcdrdb;


GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';
GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109'; flush privileges; 
quit

Töltsük be a szükséges SQL táblákat:

mysql -u root -p asterisk < SQL/newinstall.sql 
mysql -u root -p asteriskcdrdb < SQL/cdr_mysql_table.sql

Szükséges felhasználó létrehozása

groupadd asterisk
useradd -c "PBX asterisk" -d /var/lib/asterisk -g asterisk asterisk
passwd asterisk


Ha még nem lennének meg a könyvtárak, akkor hozzuk létre:

mkdir /var/run/asterisk
chown asterisk:asterisk /var/run/asterisk


Adjuk hozzá az asterisk usert a www-data csoporthoz:

nano /etc/group
www-data:x:33:asterisk
(f2-vel tudsz menteni és bezárni)

nano /etc/apache2/apache2.conf
(ctrl+w- vel tudsz keresni)

Most be kell állítani, hogy az Apache az asterisk user nevében fusson:
Cseréld le a következő sorokat:
User www-data
Group www-data
erre:
User asterisk
Group asterisk

(Lehet, hogy a User és Group után valami $-os szöveg van, azt törölheted, de a legegyszerűbb ha simán kommenteled(#).

chown -R asterisk /var/lib/php5

Változtassuk meg a php.ini beállításait, kicsit ki kell bővíteni:

nano /etc/php5/apache2/php.ini
upload_max_filesize = 32M
max_execution_time = 120
max_input_time = 120


Fontos, hogy a telepítés megkezdése előtt mindenképpen készítsünk biztonsági mentést a modules.conf fájlról!

cp /etc/asterisk/modules.conf ~/asterisk-modules.conf


Telepítő elindítása:


./install_amp
A telepítő menet közben meg fog kérdezni néhány dolgot, a többségét hagyhatjuk alapbeállításon, egyedül az IP címet érdemes megváltoztatni, illetve a telepítés helyét. A telepítés helyénél figyeljünk arra, hogy a /var/www/mappanev helyre kerüljön, ha ezen belül egy almappába kerül, akkor még szöszölni kell vele.


Bug:
Előfordul, hogy Asterisk telepítésénél a ,,make sample" módot választjuk, ekkor legenerálja a sok .config fájlt, amire szükségünk lesz, és default beállításokkal szolgál. Viszont ezen verzió telepítője szépen kihagy néhány fájlt, ezért pl.: FreePBX nem képes csatlakozni Asterisk-hez (Asterisk nem képes feldolgozni a manager.conf fájlt). A FreePBX-es problémát a következő képpen tudjuk megoldani:

nano /etc/asterisk/manager.conf

A fájl végén látunk két include-ot (# az elején). Ezeket a fájlokat elfelejti létrehozni, ezért vagy hozzuk létre, vagy ;-vel kommentezzük ki. A fájlok tartalma nem létfontosságú, csak a szeparálhatóság végett fontos.


nano /etc/asterisk/sip.conf


A fájl végéhez adjuk hozzá:
#include sip_additional.conf


Ha minden jól ment, akkor kész a GUI, valami ilyesmit kéne kapni:






Sunday, July 22, 2012

PunkBuster Telepítés/Frissítés Linuxon (Debian)


Ez a cikk a kezdő játékszerver üzemeltetőknek szól. Szinte az összes játéknál elengedhetetlen, hogy a szerveren a legfrissebb PunkBuster fusson, ennek hiányában nagy mértékben csökkenhet a játékélmény, és csak fikázzák a klassz szerverünket. A PunkBuster telepítéséhez, és frissítéséhez szintén nincs szükség nagy Linux-os szakértelemre, a cikket végigkísérve sikeresen végrehajthatjátok.
Telepítés
Első lépésként hozzunk létre egy mappát, majd másoljuk be a pbsetup.run nevű fájlt, amelyet innen tudunk letölteni. A letöltött fájlt valahogy juttassuk el a szerverre (pl.: FTP).
mkdir /usr/local/games/pb
cd /usr/local/games/pb
Tegyük a letöltött fájlt futtathatóvá:
chmod +x pbsetup.run
Beállítás
A pbsetup.run indításával tudunk hozzáadni, törölni játékokat, illetve a szervereken frissíteni a PunkBustert, az -ag kapcsolóval válaszhatjuk ki a játék nevét (add-game), és az -apkapcsolóval az elérését (add-path). A játék neve legyen pl.: bf2 ( Battlefield 2), az elérése legyen: /usr/local/games/bf2.
./pbsetup.run -ag bf2 -ap /usr/local/games/bf2
Ezen sor ismétlésével adhatunk hozzá további játékokat is. A -u kapcsolóval  egyszerre frissíthetjük az összes szervert, a PunkBuster ezután elméletileg frissíti magát, gyakorlatilag nem biztos, ezért érdemes néha kiadni a parancsot, hogy mindenképpen frissüljön.
./pbsetup.run -u
További
A -l kapcsolóval kilistázhatjuk a telepített játékokat, és a verziókat.
./pbsetup.run -l

Battlefield 2 szerver készítés linuxon


A cikkben egy Battlefield 2 szerver létrehozását fogom bemutatni. Ha van egy kis Linux-os ismereted, akkor a leírás alapján a telepítés nem okozhat gondot, a témával kapcsolatos kérdéseket szívesen várom kommentként. A telepítéshez csak a Linux-os szerver telepítő szükséges, melynek legújabb verzióját a leírásban található linket keresztül le tudjátok tölteni.

Telepítés

Első lépésként hozzuk létre a mappát, ahova szeretnénk a szervert telepíteni.
cd /usr/local/games
mkdir battlefield2
cd battlefield2
Most szerezzük be a szükséges fájlokat, töltsük le a telepítőt. A telepítő letölthető innen. A következő lépésben tegyük futtathatóvá a fájlt:
chmod +x ./bf2-linuxded-1.5.3153.0-installer.sh
Majd indítsuk el a telepítést:
./bf2-linuxded-1.5.3153.0-installer.sh
Az indítás után a telepítő ellenőrzi, hogy nem sérült-e meg a fájl a letöltés során, illetve kicsomagolja azt, ez a szerver teljesítményétől függően eltarthat néhány percig. Ezután felszólít, hogy olvassuk el az EULA-t, nyomjunk egy ENTER-t, és olvasgassunk (ENTER nyomkodásával, van nyomva tartásával tudsz lefele haladni). Ha egyet értünk vele, irjunk be egy ,,accept” -et, majd ismét ENTER.
A következő lépés szinte ugyan az mint az előző, itt most a PunkBuster EULA-ját kell elolvasnunk és elfogadnunk, a különbség csak annyi, hogy a végén ,,yes“-t kell írni. Fontos, hogy a PunkBuster frissítve legyen, erről az egyik előző cikkben olvashattok.
A következő lépésben meg kell adnunk egy már létező könyvtárat, ahova szeretnénk telepíteni a játékot, fontos, hogy ez a könyvtár létezzen, és legyen is jogosultságunk írni bele. (ha a leírás elején létrehoztuk a mappát, akkor a következőt írjuk bele: /usr/local/games/battlefield2).

Beállítás

A szerver beállításához nyissuk meg a config fájlt:
vi ./mods/bf2/settings/serversettings.con

Néhány beállítás

sv.serverName "eKapocs Egyesuleti szerver"
sv.password "titkosjelszo"
sv.internet 1
sv.bandwidthChoke 0
sv.welcomeMessage "Die Hard"
sv.punkBuster 1
sv.allowFreeCam 0
sv.allowExternalViews 1
sv.allowNoseCam 1
sv.hitIndicator 0
sv.maxPlayers 64
sv.numPlayersNeededToStart 2
sv.notEnoughPlayersRestartDelay 15
sv.startDelay 15
sv.endDelay 15
sv.spawnTime 15
sv.manDownTime 15
sv.endOfRoundDelay 15
sv.ticketRatio 100
sv.roundsPerMap 3
sv.timeLimit 0
sv.scoreLimit 0
sv.soldierFriendlyFire 100
sv.vehicleFriendlyFire 100
sv.soldierSplashFriendlyFire 100
sv.vehicleSplashFriendlyFire 100
sv.tkPunishEnabled 1
sv.tkNumPunishToKick 3
sv.tkPunishByDefault 0
sv.votingEnabled 1
sv.voteTime 90
sv.minPlayersForVoting 2
sv.gameSpyPort 29900
sv.allowNATNegotiation 0
sv.interfaceIP ""
sv.autoRecord 0
sv.demoIndexURL http://
sv.demoDownloadURL http://
sv.autoDemoHook "adminutils/demo/rotate_demo.py"
sv.demoQuality 1
sv.adminScript "default"
sv.timeBeforeRestartMap 30
sv.autoBalanceTeam 0
sv.teamRatioPercent 100
A szervert beállíthatjuk úgy, hogy a játékosok közti hangátvitel a szerveren keresztül történjen, de ajánlottabb egy külön rendszert használni erre pl.: TeamSpeak, Mumble, Ventrilo stb.
sv.voipEnabled 0
sv.voipQuality 3
sv.voipServerRemote 0
sv.voipServerRemoteIP ""
sv.voipServerPort 55125
sv.voipBFClientPort 55123
sv.voipBFServerPort 55124
sv.voipSharedPassword ""

További beállítások

sv.useGlobalRank 1
sv.useGlobalUnlocks 1
sv.sponsorText "by Skeleton.hu"
sv.sponsorLogoURL "http://www.skeleton.hu/theme/banners/gyik.jpg"
sv.communityLogoURL ""
sv.radioSpamInterval 6
sv.radioMaxSpamFlagCount 6
sv.radioBlockedDurationTime 30

Egyéb beállítások

Előfordulhat, hogy néhány barátunk sehogy sem tud kapcsolódni a szerverre, ilyenkor a következő portokat tiltsuk le az alábbi parancsokkal:
iptables -A INPUT -m udp -p udp --sport 29910 -s 0/0 -j DROP
iptables -A INPUT -m udp -p udp --sport 139 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 29910 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 1433 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 1434 -s 0/0 -j DROP
iptables -A INPUT -m tcp -p tcp --sport 139 -s 0/0 -j DROP
Fontos, hogy a szerverre csak akkor tudnak csatlakozni, ha a játékosok az 1.5 -ös verziót használják, az 1.5-ös telepítés előtt mindenképpen telepíteni kell az 1.42-es verziót is!

A szerver távoli elérése (RCON)

Hozzunk létre egy admin beállításokat tartalmaz fájlt:
vi ./admin/default.cfg
A következőket írjuk bele:
port=4711
password=rconjelszo
Gratulálok, ha mindent jól csináltál, akkor már kész is van a saját, külön bejáratú játékszervered! Ha bármi kérdésed, problémád lenne, nyugodtan írj kommentként.