Pokazywanie postów oznaczonych etykietą Debian. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Debian. Pokaż wszystkie posty

niedziela, 27 listopada 2016

SSH Jak skonfigurować i zabezpieczyć


Plik konfiguracyjny serwera SSH możemy znaleźć w /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Ze względów bezpieczeństwa sprawdzamy a wrazie potrzeby zmieniamy tak aby był wersji 2

# Protocol 2,1
należy ją zmieniać na:
Protocol 2

Blokujemy zdalne logowanie dla konta root’a

# PermitRootLogin yes 
na
PermitRootLogin no

 Teraz zajmeimy się portem (standardowo jest 22 a dobrze by było zmienić na port powyżej 5000 np na port 43212)

# Port 22
i zamieniamy na
Port 43212

No i restart usługi:

service sshd restart

Te kilka kroków pozwoli nam zabezpieczyć połączenie z serwerem przez SSH. Dodatkowo warto zainteresować się narzędziem fail2ban które po np. trzech nieudanych próbach zablokuje nam niechcianego intruza. Jeżeli jeszcze bardziej chcemy zabezpieczyć dostęp do naszego komputera należy ustawić odpowiednią regułę dostępu w IPTABLES aby dostęp był z konkretnego adresu IP.

poniedziałek, 21 listopada 2016

Debian - Jak automatycznie uruchamiać i wyłączać procesy w screen

Witajcie. Dzisiaj pokażę wam w jaki sposób automatycznie wywoływać jakiś proces co godzinę który będzie działał w tle.

Pierwsze co musimy zrobić to napisać skrypt który będzie nam uruchamiał daną aplikację w powłoce screena i zostawiał ją włączoną w tle.

Tworzymy nasz skrypt:
nano /home/ts3/iHelp

Poniższe polecenie uruchomi nam program iHelp w oknie o takim samym tytule.
screen -AmdS iHelp mono iHelp.exe localhost 10011 serveradmin password 1 0

Drugie co trzeba zrobić to dodać skrypt który będzie nam sprawdzać czy nasze okno jest aktywne i jaki ma PID procesu. Następnie zabija nasz proces.
PROCESS=$(screen -ls |grep iHelp) 
kill $(echo $PROCESS |cut -f1 -d'.')

Gotowy skrypt:
PROCESS=$(screen -ls |grep iHelp) 
kill $(echo $PROCESS |cut -f1 -d'.')
cd /home/ts3/iHelp
screen -AmdS iHelp mono iHelp.exe localhost 10011 serveradmin password 1 0

Teraz dodajemy w cronie wpis mówiący aby nasz skrypt uruchamiał się co godzinę:
crontab -e

Oraz dodajemy wpis:

  0 * * * * /home/ts3/iHelp/iHelp

Zapisujemy Ctrl+O, Ctrl+X
Restartujemy crona:
service cron restart

Dla pewności sprawdzamy czyt zmienia się nasz ID procesu co godzinę:
Rysunek 1 - Podgląd screena o pełnej godzinie

Mam nadzieję że ten szybki poradnik pomógł. Jeżeli macie jakieś sugestie to piszcie w komentarzach.



środa, 2 listopada 2016

phpIPAM - menager adresów oraz sieci


Na pewno z czasem posiadania domowego Laba wasza sieć się rozrasta. Kto zapamięta te wszystkie adresy i sieci ? Robicie notatki ? Nie każdemu się chce. Z pomocą przyjdzie darmowe narzędzie phpIPAM. Specjalnie dla moich czytelników przygotowałem wersję copy & paste. Cały proces instalacji zajmie nam kilka do kilkunastu minut. Zacznijmy od instalacji czystego Debiana lub dla leniwych gotowa template na moim Chomiku gotowa do zaimportowania w ESXI.

Teraz przejdźmy do komend krok po kroku:

1. Instalujemy niezbędne pakiety oraz restartujemy apache:
apt-get install mysql-server mysql-client apache2
apt-get install php5 libapache2-mod-php5 phpmyadmin
service apache2 restart

2. Pobieramy phpIPAM i rozpakowujemy do głównego folderu stron www:
tar -xvf phpipam-1.1.010.tar /var/www/html/

3. Dodajmy bazę danych za pomocą narzędzia phpmyadmin ( http://adres.ip/phpmyadmin )

4. Kopiujemy plik konfiguracyjny oraz dodajemy ustawienia naszej bazy danych i użytkownika:
cd /var/www/html
cp config.dist.php config.php
nano config.php

Rysunek 1 - Edycja pliku config.php

4. Doinstalujemy brakujące wtyczki oraz restart apache:
apt-get install libgmp-dev
apt-get install php5-gmp
service apache2 reload
a2enmod rewrite
service apache2 restart
apt-get install php-pear

5. Logujemy się do naszego narzędzia ( http://adres.ip ) i dodajemy nasze sieci.


Rysunek 2 - Przykładowe dane w phpIPAM

6. Ostatnie i w sumie najważniejsze nie zapomnijmy dodać zadań wyszukujących i pingujących automatycznie urządzenia np. co 15 minut.

crontab -e
*/15 * * * * /usr/bin/php /var/www/html/functions/scripts/pingCheck.php
*/15 * * * * /usr/bin/php /var/www/html/functions/scripts/discoveryCheck.php

Dziękuję za czytanie moich artykułów oraz zachęcam do pisania. Pozdrawiam.

niedziela, 30 października 2016

OBSERVIUM - Instalacja serwera do monitorowania przez protokół SNMP

Dzisiaj omówimy instalację oraz konfigurację serwera monitorującego urządzenia sieciowe poprzez protokół SNMP. W jednym z poprzednich wpisów omówiłem konfiguracje urządzeń pod kontem monitorowania. 

Co potrzebujemy? Jedyne co potrzebujemy to komputer lub wirtualną maszynę z systemem operacyjnym Debian i trochę czasu.

Na samym początku musimy zainstalować kilka niezbędnych pakietów, między innymi obsługę php oraz mysql. Zrobimy to za pomocą poniższej komendy:

apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-mcrypt php5-json php-pear snmp fping \
mysql-server mysql-client python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick

Jeżeli będziemy chcieli dodatkowo monitorować wirtualne maszyny na serwerach powinniśmy doinstalować pakiet libvirt:

apt-get install libvirt-bin

Teraz stworzymy odpowiedni katalog oraz przejdziemy do katalogu z którego będziemy instalować Observium:

mkdir -p /opt/observium && cd /opt

Teraz wystarczy pobrać i wypakować ostatnią paczkę z naszym narzędziem:

wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz

Po rozpakowaniu archiwum musimy skopiować i skonfigurować dostęp do naszej bazy danych:

cd observium
cp config.php.default config.php
nano config.php

Rysunek 1 - Konfiguracja pliku config.php

Przed zapisem danych dostępu do naszej bazy danych nalepiej zalogować się do naszego serwera mysql poprzez panel PHPMYADMIN i dodać odpowiednią bazę danych.

Rysunek 2 - Dodawanie bazy danych za pomocą phpmyadmin

Nie zapomnijmy dodać niezbędnych podfolderów w katalogu observium i nadać im odpowiednich praw:

mkdir logs
mkdir rrd
chown www-data:www-data rrd

Zainstalujmy podstawowy szablon bazy danych:

./discovery.php -u

Rysunek 3 - Instalacja podstawowego szablonu bazy danych

Jeszcze wykonamy wstępne odpytanie i wyszukanie urządzeń:

./discovery.php -h all
./poller.php -h all

Konfigurujemy VirtualHost w apache. Dodajemy wpis do pliku: /etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /opt/observium/html
    <FilesMatch \.php$>
      SetHandler application/x-httpd-php
    </FilesMatch>
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /opt/observium/html/>
            DirectoryIndex index.php
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
    </Directory>
    ErrorLog  ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog  ${APACHE_LOG_DIR}/access.log combined
    ServerSignature On
</VirtualHost>

Po wszystkim restartujemy apache i wchodzimy na stronę naszego observium http://IP/observium.

Rysunek 4 - Panel logowania użytkownika

Teraz możemy przystąpić do dodawania naszych urządzeń. Aby tego dokonać z menu wybieramy Devices >> Add Device i wypełniamy pole adresu Hostname oraz SNMP Community. 

Za jakiś czas powinny ukazać się nam ładne grafy jak na screenie poniżej.

Rysunek 5 - Panel zarządzania Observium

Gotowy obraz systemu z zainstalowanym i skonfigurowanym observium gotowy do pobrania pod adresem: http://chomikuj.pl/KlimasStudio/Wirtualizacja/VMware

Miłego testowania ;) Jeżeli macie jakieś propozycje co mogę dla Was opisać piszcie w komentarzach.

EDIT:

Zapomniałem dodać że trzeba dodać wpisy do CRONa
nano /etc/cron.d/observium

i dodać poniższe wpisy
* * * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1
* * * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1
* * * * *   root    /opt/observium/poller-wrapper.py 2 >> /dev/null 2>&1




środa, 13 lipca 2016

[SNMP] Instalacja usługi SNMP w systemie Windows oraz Linux

Simple Network Management Protocol – rodzina protokołów sieciowych wykorzystywanych do zarządzania urządzeniami takimi jak routery, przełączniki, komputery czy centrale telefoniczne za pośrednictwem sieci IP. Do transmisji wiadomości SNMP wykorzystywany jest głównie protokół UDP: standardowo port 161 wykorzystywany jest do wysyłania i odbierania żądań, natomiast port 162 wykorzystywany jest do przechwytywania sygnałów trap od urządzeń. Możliwe jest także wykorzystanie innych protokołów do przekazywania żądań, na przykład TCP[1].

Istnieją trzy wersje protokołu:
- SNMPv1 – pierwsza wersja, która została opublikowana w 1988 roku w dokumencie RFC 1067 (z późniejszymi zmianami w RFC 1098 oraz RFC 1157). W tej wersji protokołu bezpieczeństwo oparte jest na tak zwanych communities, które są pewnego rodzaju nieszyfrowanymi hasłami umożliwiającymi zarządzanie urządzeniem.
- SNMPv2 – eksperymentalna wersja protokołu, określana także SNMPv2c, opisana w dokumencie RFC 1901
- SNMPv3 – wspierająca uwierzytelnianie oraz szyfrowaną komunikację

Każdy komunikat dotyczy określonej zmiennej, tzw. OID (ang. Object IDentifier). Dla przykładu zmienna OID o nazwie sysUpTime (czas pracy urządzenia od ostatniego włączenia) ma postać 1.3.6.1.2.1.1.3.0, co odpowiada jej adresowi w drzewie MIB. (źródło: Wikipedia.com)

Instalacja usługi SNMP w systemie Windows XP
Przechodzimy do panelu sterowania następnie wybieramy "Dodaj usuń Programy" następnie przechodzimy do menu "Dodaj usuń składniki systemu Windows". W Kreatorze składników szukamy pozycji "Narzędzia zarządzania i monitorowania" i klikająć dwukrotnie zaznaczamy "Protokół SNMP"

Rysunek 1 - Windows XP Instalaja SNMP


Instalacja usługi SNMP w systemie Windows 7/8/10
W nowszych systemach podobnie wchodzimy w "Panel Sterowania", następnie "Włącz lub wyłącz Funkcje systemu Windows" i zaznaczamy "Protokół SNMP"


Rysunek 2 - Windows 7/8/10 Instalacja SNMP

Konfiguracja usługi SNMP w systemach Windows
Po zainstalowaniu serwisu musimy go skonfigurować. W tym celu przechodzimy do "Narzędzi administratora" znajdujących się w "Panelu sterowania" i uruchamiamy narzędzie "Usługi" Z listy usług odszukujemy "SNMP Service". Upewniamy się czy nasza usługa jest uruchamiana automatycznie z systemem.

Rysunek 3 - Okno konfiguracji SNMP

Kolejnym krokiem jest konfiguracja naszego Agenta. Czyli informacje które będą prrzysyłane o naszym komputerze oraz jego nazwa i lokalizacja.

Rytsunek 4 - Okno konfiguracji Agenta

Pragnę zauważyć że warto sobie lokalizację podzielić w jakiś hierarchiczny sposób co ułatwi nam grupowanie komputerów i urządzeń w naszym programie do monitoringu. Ostatnim krokiem jest nadanie praw dostępu oraz "społeczności" którą można też traktować jak hasło dla naszego serwera monitoringu.

Rysunek 5 - Konfiguracja zabezpieczeń SNMP

Dla większego bezpieczeństwa można ustawić akceptację dla hosta serwera oraz zabezpieczenia typu TRAP tzw. "pułapka".

Instalacja usługi SNMP w systemie Linux Debian
W systemie Debian cała instalacja sprowadza się do wydania kilku prostych komend.

sudo apt-get update 
sudo apt-get install snmp snmpd snmp-mibs-downloader

Konfiguracja usługi w systemie Linux Debian
Konfiguracja sprowadza się do edycji dwóch plików i restarcie serwisu.

nano /etc/snmp/snmpd.conf  

Edytujemy/dodajemy poniższe linie:
agentAddress  udp:161
rocommunity nazwa_społeczności  default    -V systemonly
sysLocation    lokalizacja_komputera
sysContact     nazwa_komputera
view   systemonly  included   .1.3.6.1.2.1.2

W pliku snmpd.conf ustawiamy protokół i port dostępu, nazwe społeczności, nazwę komputera, lokalizację oraz zasoby które mają być udostępnione przez protokół SNMP. W celu zapoznania sie z zmiennymi OID polecam witrynę: http://www.alvestrand.no/objectid/1.3.6.1.2.1.html

nano /etc/snmp/snmp.conf       
.
W tym pliku tylko należy zakomentować linijkę "mibs:" znakiem "#". Po zapisaniu plików konfiguracyjnych resetujemy nasz servis komendą

service snmp restart

Przykład dodawania urządzenia lub komputera do serwera monitoringu SNMP.

Rysunek 6 - Przykład dodawania urządzenia lub komputera do serwera SNMP

Po dodaniu nowego sprzętu należy odczekać trochę czasu aż nasze dane statystyczne zostaną zebrane w naszym serwerze. Po jakimś czasie ukażą nam się ładne kolorowe grafy oraz wykresy. Dzięki temu będziemy mieli monitoring i wgląd nad wszystkimi urządzeniami w jednym miejscu.

Rysunek 7 - Monitoring na przykładzie Observium

Mam nadzieję że artykuł był zrozumiały. W jednym z następnych zajmę się instalacją serwera który będzie gromadził dane za pomocą protokołu SNMP.

piątek, 28 sierpnia 2015

[Upgrade VMWare Tools Linux Debian] Aktualizacja VMWare Tools Linux Debian

Każda aktualizacja systemu VMWare ESXI wiąże się z aktualizacją narzędzi VMWare tools. W systemach Windows odbywa się ten proces automatycznie w Linuxie natomiast trzeba wykonać ręcznie ten proces. Zaczniemy od uruchomienia konsoli systemu w VMWare vSphere Client. Na górnej belce menu wybieramy: VM -> Guest -> Install/Upgrade VMWare Tools.

Foto 1 - Konsola systemu Linux.

Po chwili powinna nam się zamontować płyta z najnowszymi Toolsami.

Foto 2 - Zamontowany obraz VMWareTools.

Teraz musimy wykonać kilka poleceń z terminala systemu Linux.

root@linux-games:~$ su
root@linux-games:~# mount /dev/cdrom /mnt/cdrom
mount: punkt montowania /mnt/cdrom nie istnieje
root@linux-games:~# mkdir /mnt/cdrom
root@linux-games:~# mount /dev/cdrom /mnt/cdrom
mount: urzÄ…dzenie blokowe /dev/sr0 jest zabezpieczone przed zapisem, montowanie tylko do odczytu
root@linux-games:~# cd /tmp/
root@linux-games:/tmp# ls
ssh-NkxjYqYN0qbh  vmware-root
root@linux-games:/tmp# tar zxf /mnt/cdrom/VMwareTools-9.10.0-2476743.tar.gz 
root@linux-games:/tmp# ls
ssh-NkxjYqYN0qbh  vmware-root  vmware-tools-distrib
root@linux-games:/tmp# umount /dev/cdrom 
root@linux-games:/tmp# cd vmware-tools-distrib/
root@linux-games:/tmp/vmware-tools-distrib# ./vmware-install.pl 
The installer has detected an existing installation of open-vm-tools on this 
system and will not attempt to remove and replace these user-space 
applications. It is recommended to use the open-vm-tools packages provided by 
the operating system. If you do not want to use the existing installation of 
open-vm-tools and attempt to install VMware Tools, you must uninstall the 
open-vm-tools packages and re-run this installer.
The installer will next check if there are any missing kernel drivers. Type yes
if you want to do this, otherwise type no [yes] yes

A previous installation of VMware Tools has been detected.

The previous installation was made by the tar installer (version 4).

Keeping the tar4 installer database format.

You have a version of VMware Tools installed.  Continuing this install will 
first uninstall the currently installed version.  Do you wish to continue? 
(yes/no) [yes] yes

Uninstalling the tar installation of VMware Tools.

Stopping services for VMware Tools

Stopping VMware Tools services in the virtual machine:
   Unmounting HGFS shares:                                             done
   Guest filesystem driver:                                            done

update-rc.d: using dependency based boot sequencing
update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64
The removal of VMware Tools 9.4.0 build-1280544 for Linux completed 
successfully.

Installing VMware Tools.

In which directory do you want to install the binary files? 
[/usr/bin] 

What is the directory that contains the init directories (rc0.d/ to rc6.d/)? 
[/etc] 

What is the directory that contains the init scripts? 
[/etc/init.d] 

In which directory do you want to install the daemon files? 
[/usr/sbin] 

In which directory do you want to install the library files? 
[/usr/lib/vmware-tools] 

The path "/usr/lib/vmware-tools" does not exist currently. This program is 
going to create it, including needed parent directories. Is this what you want?
[yes] yes

In which directory do you want to install the documentation files? 
[/usr/share/doc/vmware-tools] 

The path "/usr/share/doc/vmware-tools" does not exist currently. This program 
is going to create it, including needed parent directories. Is this what you 
want? [yes] yes

The installation of VMware Tools 9.10.0 build-2476743 for Linux completed 
successfully. You can decide to remove this software from your system at any 
time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".

Before running VMware Tools for the first time, you need to configure it by 
invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want 
this program to invoke the command for you now? [yes] yes

The file /usr/bin/vmware-hgfsclient that this program was about to install 
already exists.  Overwrite? [no] yes

Initializing...


Making sure services for VMware Tools are stopped.

Stopping VMware Tools services in the virtual machine:
   VMware User Agent (vmware-user):                                    done
   Unmounting HGFS shares:                                             done
   Guest filesystem driver:                                            done


The module vmsync has already been installed on this system by another 
installer or package and will not be modified by this installer.

The module vmci has already been installed on this system by another installer 
or package and will not be modified by this installer.

The module vsock has already been installed on this system by another installer
or package and will not be modified by this installer.

The module vmxnet3 has already been installed on this system by another 
installer or package and will not be modified by this installer.

The module pvscsi has already been installed on this system by another 
installer or package and will not be modified by this installer.

The module vmmemctl has already been installed on this system by another 
installer or package and will not be modified by this installer.

The VMware Host-Guest Filesystem allows for shared folders between the host OS 
and the guest OS in a Fusion or Workstation virtual environment.  Do you wish 
to enable this feature? [yes] yes

The module vmhgfs has already been installed on this system by another 
installer or package and will not be modified by this installer.

The module vmxnet has already been installed on this system by another 
installer or package and will not be modified by this installer.

VMware automatic kernel modules enables automatic building and installation of
VMware kernel modules at boot that are not already present. This feature can
be enabled/disabled by re-running vmware-config-tools.pl.

Would you like to enable VMware automatic kernel modules?
[yes] yes

Creating a new initrd boot image for the kernel.
update-initramfs: Generating /boot/initrd.img-3.2.0-4-amd64
   Checking acpi hot plug                                              done
Starting VMware Tools services in the virtual machine:
   Switching to guest configuration:                                   done
   VMware Automatic Kmods:                                             done
   VMware User Agent:                                                  done
The configuration of VMware Tools 9.10.0 build-2476743 for Linux for this 
running kernel completed successfully.

Enjoy,

--the VMware team

root@linux-games:/tmp/vmware-tools-distrib# 

Komendy które należy użyć zostały pogrubione w powyższym tekście. Cały proces zajmie nam maksymalnie kilka minut. Na Foto 3 widać że nasze VMWareTools są aktualne i działają poprawnie.

Foto 3 - Podgląd na naszą maszynę po aktualizacji.