<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aovtsinn</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aovtsinn"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Aovtsinn"/>
	<updated>2026-05-07T03:10:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I805_Authentication_and_Authorization&amp;diff=118025</id>
		<title>Category:I805 Authentication and Authorization</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I805_Authentication_and_Authorization&amp;diff=118025"/>
		<updated>2017-02-22T06:46:42Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Responsibilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Authentication and Authorization=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
In this course we continue where we left off with [https://wiki.itcollege.ee/index.php/Category:I802_Firewalls_and_VPN_IPSec#Firewalls_and_VPN.2FIPSec Firewalls and VPN/IPsec] course.&lt;br /&gt;
&lt;br /&gt;
Relevant topics for research and implementation in the lab.&lt;br /&gt;
Lectures coming up for most of the topics:&lt;br /&gt;
&lt;br /&gt;
* File based password stores eg. /etc/shadow, .htaccess&lt;br /&gt;
* Signing and encrypting e-mail using GPG&lt;br /&gt;
* Active Directory protocols: LM, NTLM, Kerberos, GSSAPI, SPNEGO, LDAP&lt;br /&gt;
* More TLS and client side authentication in particular&lt;br /&gt;
* Filesystem permissions: access control lists, selinux, apparmor&lt;br /&gt;
* RADIUS&lt;br /&gt;
* Multi-factor authentication: smartcards, Yubikey, Mobile-ID, etc&lt;br /&gt;
* Contactless cards&lt;br /&gt;
* On the web: Cookies, OAuth, OpenID, iPizza, &lt;br /&gt;
&lt;br /&gt;
Intro slides &amp;amp; video recording:&lt;br /&gt;
&lt;br /&gt;
https://docs.google.com/presentation/d/1NzY8AspqZwrYxoJ3Qi-pBWsMDdiIUeA4lgZnwZGTMVg/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
https://echo360.e-ope.ee/ess/echo/presentation/54eb478c-f6ae-4629-b1e3-c43f5a2f6842?ec=true&lt;br /&gt;
&lt;br /&gt;
=Equipment=&lt;br /&gt;
&lt;br /&gt;
* 3pcs Sun server in the college server room&lt;br /&gt;
* TP-Link WDR3600 wireless router routed to 172.16.*.*&lt;br /&gt;
* HP Probook dual-boot laptop&lt;br /&gt;
* iMac in 412, use admin/admin to log in with local account&lt;br /&gt;
* Robotics Club (wireless) network, routed to to 172.16.*.*&lt;br /&gt;
&lt;br /&gt;
If you forget (local) Windows password use System Rescue CD to reset the password:&lt;br /&gt;
http://www.howtogeek.com/howto/windows-vista/change-your-forgotten-windows-password-with-the-linux-system-rescue-cd/&lt;br /&gt;
&lt;br /&gt;
=Requirements=&lt;br /&gt;
&lt;br /&gt;
Every service should use accounts from Active Directory.&lt;br /&gt;
To achieve that try to use LDAP protocol first.&lt;br /&gt;
Via LDAP you can retreieve the data about accounts.&lt;br /&gt;
If the service machine is not joined to domain create&lt;br /&gt;
a service account in AD to access LDAP interface first.&lt;br /&gt;
It really depends on the software how you need to configure it.&lt;br /&gt;
&lt;br /&gt;
For fileserver/SSH/FTP/mail server first join to domain using winbind: https://help.ubuntu.com/community/ActiveDirectoryWinbindHowto#Join_AD_domain&lt;br /&gt;
For NextCloud, rocket.chat, OwnCloud and most web services configure&lt;br /&gt;
LDAP plugin to retrieve accounts from AD and LDAP bind authentication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Responsibilities=&lt;br /&gt;
&lt;br /&gt;
Everybody should have a task, prepare a howto on the college wiki and have a topic for presentation:&lt;br /&gt;
&lt;br /&gt;
* Mohanad - AD up and running, routing, howto for setting up Active Directory on Windows Server; nagios accounts from AD, possibly with Kerberos SSO&lt;br /&gt;
* Etienne - NextCloud server set up, howto for configuring client/app&lt;br /&gt;
* Taavi - Wiki accounts from AD, possibly using Kerberos SSO&lt;br /&gt;
* Madis Lugus - Gogs accounts from AD, possibly using Kerberos SSO and also SSH public keys from AD&lt;br /&gt;
* Joosep - enos.itcollege.ee clone, web server and MySQL with accoutns from AD&lt;br /&gt;
* Meelis - rocket.chat with accounts from AD via LDAP, possibly with Kerberos SSO, howto for configuring apps&lt;br /&gt;
* Sheela - mailserver with accounts from AD via LDAP, with GSSAPI authentication, howto for configuring Thunderbird/Evolution&lt;br /&gt;
* Artur - mailserver with AD accounts via LDAP + e-mail encryption with GPG, howto for average users&lt;br /&gt;
* Ardi - OpenVPN with ID-card auth, isikukood from AD attribute, howto for configuring client&lt;br /&gt;
* Marvin - secondary AD, routing, Samba backup DC?&amp;lt;insert topic of your interest&amp;gt;&lt;br /&gt;
* Arti - Samba as third DC, setting up fileserver on ZFS with SSD-s as journal/cache&lt;br /&gt;
* Kustas - pentest&lt;br /&gt;
* Ender - pentest&lt;br /&gt;
* Mikus - pentest&lt;br /&gt;
* Keijo - how are you going to pass the course?&lt;br /&gt;
* Anton - how are you going to pass the course?&lt;br /&gt;
* Tarvo - OpenVPN authentication using Estonian ID-card(s)&lt;br /&gt;
* Ats - how are you going to pass the course?&lt;br /&gt;
* Nazmul - how are you going to pass the course?&lt;br /&gt;
&lt;br /&gt;
=Presentations=&lt;br /&gt;
&lt;br /&gt;
Presentation of up to 45min should cover what you did in order to get the service running in the desired state, what problems you had, how others can use your service and what can be done to improve the setup.&lt;br /&gt;
&lt;br /&gt;
This should be more or less in logical order:&lt;br /&gt;
&lt;br /&gt;
* 28. feb - Mohanad, Etienne&lt;br /&gt;
* 7. mar - Taavi, Madis, Artur&lt;br /&gt;
* 14. mar - backup slot&lt;br /&gt;
* 21. mar - Joosep, Meelis&lt;br /&gt;
* 5. apr - Sheela, Ardi&lt;br /&gt;
* 12. apr - backup slot&lt;br /&gt;
* 19. apr - Marvin, Arti&lt;br /&gt;
* 26. apr - Kustas &amp;amp; Ender&lt;br /&gt;
&lt;br /&gt;
=Milestones=&lt;br /&gt;
&lt;br /&gt;
This is just to keep activities in sync&lt;br /&gt;
&lt;br /&gt;
==Milestone 1==&lt;br /&gt;
&lt;br /&gt;
Domain controller is working.&lt;br /&gt;
In the internal network and over VPN connection blah.office.lan DNS requests work as expected.&lt;br /&gt;
&lt;br /&gt;
On a Linux box command line users can authenticate with kerberos client utils:&lt;br /&gt;
&lt;br /&gt;
  kinit username@OFFICE.LAN&lt;br /&gt;
&lt;br /&gt;
On a Linux box command line users can fetch stuff via LDAP:&lt;br /&gt;
&lt;br /&gt;
 ldapsearch -b dc=office,dc=lan  -H ldap://dc-hq.office.lan -D lauri@office.lan -W&lt;br /&gt;
&lt;br /&gt;
Also authenitcation with Kerberos should work:&lt;br /&gt;
&lt;br /&gt;
 ldapsearch -b dc=office,dc=lan  -H ldap://dc-hq.office.lan -Y GSSAPI&lt;br /&gt;
&lt;br /&gt;
To make life easier configure /etc/ldap/ldap.conf, if properly configured short commands work:&lt;br /&gt;
&lt;br /&gt;
 ldapsearch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Milestone 2==&lt;br /&gt;
&lt;br /&gt;
Deadline 21. Feb&lt;br /&gt;
&lt;br /&gt;
Some services are using accounts from AD&lt;br /&gt;
&lt;br /&gt;
==Milestone 3==&lt;br /&gt;
&lt;br /&gt;
Deadline 28. Feb&lt;br /&gt;
&lt;br /&gt;
Service owner has client application configured and knows how to configure them&lt;br /&gt;
&lt;br /&gt;
==Milestone 4==&lt;br /&gt;
&lt;br /&gt;
Deadline 7. Mar&lt;br /&gt;
&lt;br /&gt;
Preliminary manual page created on college wiki for configuring the client application(s).&lt;br /&gt;
Other students are using your service.&lt;br /&gt;
&lt;br /&gt;
==Milestone 5==&lt;br /&gt;
&lt;br /&gt;
Keep services up and running, respond to incidents until 5th of June.&lt;br /&gt;
Server teardown on 5th of May. Wipe harddisks.&lt;br /&gt;
&lt;br /&gt;
Everybody who has completed howto, presented their topic, co-operated with other students and not left all the responsibilities to the last minute will get a passing grade. Slackers have an opportunity to do a (hard) quiz about the topics presented to get a passing grade.&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114289</id>
		<title>Category:I802 Firewalls and VPN IPSec</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114289"/>
		<updated>2016-11-09T08:36:53Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Internal DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Firewalls and VPN/IPSec=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
ECTS: 4&lt;br /&gt;
&lt;br /&gt;
Lecturer: Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario==&lt;br /&gt;
&lt;br /&gt;
In this course we will attempt to set up a network similar to a corporate network with multiple offices, eg http://docplayer.it/docs-images/20/596222/images/25-0.png&lt;br /&gt;
&lt;br /&gt;
We will use VPN software to connect subnets to each other and we will use VPN software to connect our personal computers to the intranet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting up virtual machine hosts==&lt;br /&gt;
&lt;br /&gt;
For this course we have 3 Sun servers, each with 16GB of RAM. In each server we should be able to create 3 or more virtual machines. As host operating system we will install Ubuntu 16.04 server. On disks set up ext4 on mdraid set up in RAID1 configuration.&lt;br /&gt;
&lt;br /&gt;
For virtualization let&#039;s use libvirt and virt-manager on your Ubuntu laptops, for Windows and Mac unfortunately there is no decent UI available instead installing web interface such as [https://github.com/kimchi-project/kimchi Kimchi] is recommended.&lt;br /&gt;
&lt;br /&gt;
To install libvirt on the server:&lt;br /&gt;
&lt;br /&gt;
  apt install libvirt-bin qemu-kvm&lt;br /&gt;
&lt;br /&gt;
Also add the primary user to the libvirt group:&lt;br /&gt;
&lt;br /&gt;
  sudo gpasswd -a $USER libvirt&lt;br /&gt;
&lt;br /&gt;
On your  laptop first set up SSH keys between the laptop and server with ssh-keygen and ssh-copy-id. And then you can install virt-manager with:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install virt-manager&lt;br /&gt;
&lt;br /&gt;
Copy CD ISO files into /var/lib/libvirt/images using scp or FileZilla.&lt;br /&gt;
&lt;br /&gt;
Continue with creating a virtual machine for each service. For Windows 2012 server virtual machines use 2G of RAM and 50G of storage. For Ubuntu 16.04 server installations use 1G of memory and 50G storage. For Ubuntu 16.04 MATE desktop installations use 2G of RAM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to set up virtual switch inside the server use Linux&#039;s built-in bridges, start with installing bridge-utils:&lt;br /&gt;
&lt;br /&gt;
  apt install bridge-utils&lt;br /&gt;
&lt;br /&gt;
Reconfigure your server&#039;s /etc/network/interfaces, replace X with number relevant to your server. Also replace eth0, eth1 and eth2 with the network interfaces available in your machine:&lt;br /&gt;
&lt;br /&gt;
  # The loopback network interface&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet dhcp&lt;br /&gt;
    # Until we set up router in a VM we will use DHCP so we can have internet access in 417&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.X.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports eth1&lt;br /&gt;
  &lt;br /&gt;
  # Management interface&lt;br /&gt;
  auto eth2&lt;br /&gt;
  iface eth2 inet static&lt;br /&gt;
    address 192.168.12.1X&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
When creating virtual machines, configure network as shown in the screenshot below:&lt;br /&gt;
&lt;br /&gt;
[[File:Virt-manager_bridges.png]]&lt;br /&gt;
&lt;br /&gt;
This way your VM-s should be able to access the Internet as the physical machine can&lt;br /&gt;
&lt;br /&gt;
==Setting up router==&lt;br /&gt;
&lt;br /&gt;
On Wednesday 14. September we will configure OpenWrt as a router in a virtual machine.&lt;br /&gt;
Download the OpenWrt image and uncompress it:&lt;br /&gt;
&lt;br /&gt;
  cd /var/lib/libvirt/images/&lt;br /&gt;
  wget https://downloads.openwrt.org/chaos_calmer/15.05-rc3/x86/kvm_guest/openwrt-15.05-rc3-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
  gunzip openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
&lt;br /&gt;
Add second network interface to your router&#039;s VM.&lt;br /&gt;
Configure first NIC as connected to br-wan and second one connected to br-lan.&lt;br /&gt;
&lt;br /&gt;
After that you should end up with topology similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Topology-inside-server.png]]&lt;br /&gt;
&lt;br /&gt;
To clarify: &#039;srv1.office&#039; and &#039;srv2.office&#039; are the Ubuntu 16.04 servers, you should have configured static IP addresses or set a static lease from the router. The &#039;router.office&#039; refers to the OpenWrt router you just set up. The router serves IP addresses using DHCP to &#039;ubuntu-mate.office&#039;  Ubuntu MATE 16.04 workstation and &#039;windows.office&#039; refers to Windows workstation. Your physical server &#039;host.office&#039; can be accessed as well. The &#039;office&#039; throughout the diagram refers to your domain name, use abbrevations such as hq, rnd, devops for that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Domain names==&lt;br /&gt;
&lt;br /&gt;
Arti will be your DNS registrar (like Godaddy or Zone.ee). Currently added DNS records:&lt;br /&gt;
&lt;br /&gt;
* http://www.biz.wut.ee - 193.40.194.160 for Wut Incorporated website&lt;br /&gt;
* http://gw.biz.wut.ee - 193.40.194.160 for OpenVPN gateway&lt;br /&gt;
* http://wiki.biz.wut.ee - 193.40.194.161 for Wut Inc internal wiki&lt;br /&gt;
* http://git.biz.wut.ee - 193.40.194.161 for Wut Inc source code hosting&lt;br /&gt;
* http://paste.biz.wut.ee - 193.40.194.161 for Wut Inc code snippets&lt;br /&gt;
* http://chat.biz.wut.ee - 193.40.194.162 for Wut Inc IRC chatroom&lt;br /&gt;
* http://pad.biz.wut.ee - 193.40.194.162 for Wut Inc etherpad&lt;br /&gt;
* http://ca.biz.wut.ee - 193.40.194.162 for Wut Inc certificate authority web endpoint&lt;br /&gt;
* http://mail.biz.wut.ee - 193.40.194.162 for MX entry of biz.wut.ee&lt;br /&gt;
&lt;br /&gt;
(Re)configure your services to make use of these DNS records.&lt;br /&gt;
&lt;br /&gt;
==Monitoring==&lt;br /&gt;
&lt;br /&gt;
Use this **only** on the physical hosts.&lt;br /&gt;
&lt;br /&gt;
You can (ab)use Lauri&#039;s collectd at http://log.koodur.com/cgp&lt;br /&gt;
&lt;br /&gt;
Install packages:&lt;br /&gt;
&lt;br /&gt;
  apt install collectd&lt;br /&gt;
&lt;br /&gt;
Reconfigure service in /etc/collectd/collectd.conf:&lt;br /&gt;
&lt;br /&gt;
  FQDNLookup true&lt;br /&gt;
  LoadPlugin syslog&lt;br /&gt;
  LoadPlugin cpu&lt;br /&gt;
  LoadPlugin df&lt;br /&gt;
  LoadPlugin disk&lt;br /&gt;
  LoadPlugin interface&lt;br /&gt;
  LoadPlugin load&lt;br /&gt;
  LoadPlugin memory&lt;br /&gt;
  LoadPlugin network&lt;br /&gt;
  LoadPlugin processes&lt;br /&gt;
  LoadPlugin swap&lt;br /&gt;
  LoadPlugin uptime&lt;br /&gt;
  LoadPlugin users&lt;br /&gt;
  LoadPlugin dns&lt;br /&gt;
  LoadPlugin ping&lt;br /&gt;
  LoadPlugin sensors&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin df&amp;gt;&lt;br /&gt;
  	FSType rootfs&lt;br /&gt;
  	FSType sysfs&lt;br /&gt;
  	FSType proc&lt;br /&gt;
  	FSType devtmpfs&lt;br /&gt;
  	FSType devpts&lt;br /&gt;
  	FSType tmpfs&lt;br /&gt;
  	FSType fusectl&lt;br /&gt;
  	FSType cgroup&lt;br /&gt;
  	IgnoreSelected true&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin disk&amp;gt;&lt;br /&gt;
  	Disk &amp;quot;/[sv]d[a-z]/&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;Include &amp;quot;/etc/collectd/collectd.conf.d&amp;quot;&amp;gt;&lt;br /&gt;
  	Filter &amp;quot;*.conf&amp;quot;&lt;br /&gt;
  &amp;lt;/Include&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin network&amp;gt;&lt;br /&gt;
    Server &amp;quot;185.94.112.74&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Teams==&lt;br /&gt;
&lt;br /&gt;
===Headquarters===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.160/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.10&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.1.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - (Mohanad)&lt;br /&gt;
* BIND9 as public DNS server, also figure out what domain name we should/can use (Arti)&lt;br /&gt;
* domain controller, at this point primarily for user accounts (Keijo)&lt;br /&gt;
* nginx web server, for company&#039;s homepage (Etienne)&lt;br /&gt;
* SMB/CIFS fileserver, join to domain (Etienne)&lt;br /&gt;
* VPN server for other subnets, presumably OpenVPN (Mohanad Aly)&lt;br /&gt;
&lt;br /&gt;
===Research &amp;amp; development===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.161/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.11&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.2.1/24&lt;br /&gt;
&lt;br /&gt;
Team members: Marvin, Madis, Taavi, Berit, Joosep&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Marvin&lt;br /&gt;
* [https://gogs.io/docs Git hosting], for sharing scripts, set up LDAP to authenticate with domain controller (Madis)&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Installation_MediaWiki Wiki], for exchanging information,  [https://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Kerberos_Configuration_Examples set up LDAP to authenticate with domain controller and later possibly configure web server to authenticate with Kerberos] (Taavi)&lt;br /&gt;
* Windows XP workstation, join to domain&lt;br /&gt;
* Ubuntu 16.04 MATE workstation, [https://raw.githubusercontent.com/laurivosandi/puppet-butterknife/master/files/etc/butterknife/helpers/join-domain join to domain].&lt;br /&gt;
* [http://lauri.vosandi.com/2016/09/xenial-ltsp-ja-id-kaart.html LTSP server] (Joosep)&lt;br /&gt;
* OpenVPN connection to headquarters, use shared secret at first, later X509 certificates&lt;br /&gt;
* [https://github.com/bpoldoja/pastebin Pastebin], possibly later implement [https://github.com/laurivosandi/certidude/blob/master/certidude/auth.py#L37 Kerberos support] (Berit)&lt;br /&gt;
====Examples====&lt;br /&gt;
Port forwarding example, we have 2 linux virtual machines, one forwarding to host local ip.&lt;br /&gt;
[[File:vpn-portForwarding.png|900px|]]&lt;br /&gt;
&lt;br /&gt;
Network interface example file:&lt;br /&gt;
&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface (port 0)&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet manual&lt;br /&gt;
    bridge_ports enp6s4f0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface (port 3)&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.2.1&lt;br /&gt;
    gateway 172.16.2.254&lt;br /&gt;
    dns-nameserver 172.16.2.254&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports enp0s8&lt;br /&gt;
  &lt;br /&gt;
  # Management interface (port 1)&lt;br /&gt;
  auto enp6s4f1&lt;br /&gt;
  iface enp6s4f1 inet static&lt;br /&gt;
    address 192.168.12.11&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Openwrt interface file working example /etc/config/network:&lt;br /&gt;
&lt;br /&gt;
  config interface &#039;lan&#039;&lt;br /&gt;
        option ifname &#039;eth0&#039;&lt;br /&gt;
        option type &#039;bridge&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option ip6assign &#039;60&#039;&lt;br /&gt;
        option ipaddr &#039;172.16.2.254&#039;&lt;br /&gt;
  &lt;br /&gt;
  config interface &#039;wan&#039;&lt;br /&gt;
        option ifname &#039;eth1&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option ipaddr &#039;193.40.194.161&#039;&lt;br /&gt;
        option gateway &#039;193.40.194.220&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option dns &#039;192.40.0.12 193.40.56.245&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create poor man&#039;s vpn. Install on your computer&lt;br /&gt;
  apt install sshuttle&lt;br /&gt;
&lt;br /&gt;
and connection.&lt;br /&gt;
  sshuttle --dns -HNvr username@server:port&lt;br /&gt;
no you should be able to connect local network computers and services.&lt;br /&gt;
&#039;&#039;&#039;NB! ping is not working with sshuttle&#039;&#039;&#039;&lt;br /&gt;
you can read more here http://teohm.com/blog/using-sshuttle-in-daily-work/&lt;br /&gt;
&lt;br /&gt;
====TODO====&lt;br /&gt;
&lt;br /&gt;
===Devops===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.162/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.12&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.3.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Artur O&lt;br /&gt;
* IRC, for chatting (Meelis Hass)&lt;br /&gt;
* [https://github.com/ether/etherpad-lite Etherpad] for collaborating (Sheela)&lt;br /&gt;
* [https://github.com/laurivosandi/certidude#usecases Certificate management] for roadwarriors, usecase number #1 (Artur O)&lt;br /&gt;
* Monitoring software of your choice to make sure that services are up and running, possibly use LDAP for authentication (Artur O)&lt;br /&gt;
* E-mail for sending notifications from monitoring software at first (Ilja), this needs MX records in DNS (Ilja, Mohanad helps)&lt;br /&gt;
* Later, in the beginning just monitor public services: OpenVPN connection to headquarters&lt;br /&gt;
&lt;br /&gt;
===Pentest===&lt;br /&gt;
&lt;br /&gt;
Find security issues in the deployed services, attempt to plant backdoors, malware etc.&lt;br /&gt;
&lt;br /&gt;
Team members: Kustas, Ender&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Point-to-point tunnels between routers==&lt;br /&gt;
&lt;br /&gt;
Since routers are the default route for all the internal machines the easiest way to set up routing between internal networks is to set up OpenVPN instances on each router.&lt;br /&gt;
&lt;br /&gt;
In router install OpenVPN module for OpenWrt:&lt;br /&gt;
&lt;br /&gt;
  opkg update&lt;br /&gt;
  opkg install luci-app-openvpn openvpn-openssl&lt;br /&gt;
&lt;br /&gt;
In the OpenWrt web interface there should pop up Services section with OpenVPN underneath it.&lt;br /&gt;
&lt;br /&gt;
The topology for routers:&lt;br /&gt;
&lt;br /&gt;
[[File:Point-to-point.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each tunnel configure on one end &amp;quot;Simple server configuration for a routed point-to-point VPN&amp;quot; and on the other end &amp;quot;Simple client configuration for a routed point-to-point VPN&amp;quot; the configuration for connection on hq could look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Openwrt-openvpn-config.png]]&lt;br /&gt;
&lt;br /&gt;
To upload secret select secret under --Additional fields-- and hit add. To generate secret use following command on your laptop:&lt;br /&gt;
&lt;br /&gt;
  openvpn --genkey --secret static.key&lt;br /&gt;
&lt;br /&gt;
Under Switch to advanced configuration --&amp;gt; Networking add route field for each subnet you want to make accessible via that tunnel. For each tunnel a new interface pops up under Interfaces section. Assign firewall rules as appropriate. To test I guess you can just insert the interface into LAN zone.&lt;br /&gt;
&lt;br /&gt;
==Generating certificates==&lt;br /&gt;
&lt;br /&gt;
To generate key:&lt;br /&gt;
&lt;br /&gt;
  openssl genrsa -out lauri-c720p.key 4096&lt;br /&gt;
&lt;br /&gt;
To generate signing request:&lt;br /&gt;
&lt;br /&gt;
  openssl req -new -key lauri-c720p.key -out lauri-c720p.csr&lt;br /&gt;
&lt;br /&gt;
To sign the request:&lt;br /&gt;
&lt;br /&gt;
  openssl ca -config ca.cnf -in lauri-c720p.csr -extensions client_cert -out lauri-c720p.crt&lt;br /&gt;
&lt;br /&gt;
To dump certificate contents in human-readable format:&lt;br /&gt;
&lt;br /&gt;
  openssl x509 -in lauri-c720p.crt -noout -text&lt;br /&gt;
&lt;br /&gt;
To test web server&#039;s TLS configuration:&lt;br /&gt;
&lt;br /&gt;
  openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
To make a HTTP request as well:&lt;br /&gt;
&lt;br /&gt;
  (echo -en &amp;quot;GET / HTTP/1.0\n\n&amp;quot;; sleep 1) | openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
See here for more about Estonian ID-card certificates: https://www.sk.ee/en/repository/ldap/ldap-kataloogi-kasutamine/&lt;br /&gt;
&lt;br /&gt;
==Remote logging==&lt;br /&gt;
&lt;br /&gt;
In order to send logs to Graylog server, put those lines into new file: /etc/rsyslog.d/client.conf&lt;br /&gt;
&lt;br /&gt;
  $ActionQueueType LinkedList&lt;br /&gt;
  $ActionQueueFileName srvrfwd&lt;br /&gt;
  $ActionResumeRetryCount -1&lt;br /&gt;
  $ActionQueueSaveOnShutdown on&lt;br /&gt;
  *.* @@172.16.3.228:1514&lt;br /&gt;
&lt;br /&gt;
and then restart the service:&lt;br /&gt;
&lt;br /&gt;
  sudo service rsyslog restart&lt;br /&gt;
&lt;br /&gt;
==Internal DNS==&lt;br /&gt;
&lt;br /&gt;
* http://intranet.office - 172.16.x.x intranet website&lt;br /&gt;
* http://wiki.office - 172.16.x.x internal wiki&lt;br /&gt;
* http://git.office - 172.16.x.x source code hosting&lt;br /&gt;
* http://paste.office - 172.16.x.x code snippets&lt;br /&gt;
* http://chat.office - 172.16.3.149 IRC server&lt;br /&gt;
* http://pad.office - 172.16.3.247 etherpad&lt;br /&gt;
* http://ca.office - 172.16.x.x certificate authority web endpoint&lt;br /&gt;
* http://mail.office - 172.16.3.235 webmail&lt;br /&gt;
* http://graylog.office - 172.16.3.228 Artur&#039;s graylog&lt;br /&gt;
* http://nagios.office - 172.16.x.x Mohanad&#039;s nagios&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://router-hq.office - 172.16.1.254 hq router&lt;br /&gt;
* http://router-rnd.office - 172.16.2.254 rnd router&lt;br /&gt;
* http://router-devops.office - 172.16.3.254 devops router&lt;br /&gt;
* http://host-hq.office - 172.16.1.1 hq host&lt;br /&gt;
* http://host-rnd.office - 172.16.2.1 rnd host&lt;br /&gt;
* http://host-devops.office - 172.16.3.1 devops host&lt;br /&gt;
&lt;br /&gt;
=Boring stuff=&lt;br /&gt;
&lt;br /&gt;
==Report template==&lt;br /&gt;
&lt;br /&gt;
Send report as a plaintext e-mail to Lauri, in the title include: Report #number - your name - your team&lt;br /&gt;
&lt;br /&gt;
In the content make sure you specify the timespan you&#039;re talking about (September of 2016, first half of October 2016 etc)&lt;br /&gt;
&lt;br /&gt;
The content, no need for formal speech:&lt;br /&gt;
&lt;br /&gt;
* What have been done so far by the team (eg. server hardware setup, virtual machine setup, service setup)&lt;br /&gt;
* What was your role for this timespan, note that we will shuffle the teams now and then&lt;br /&gt;
* What was your contribution, or in other words what did you do during this timespan&lt;br /&gt;
* What (security) incidents happened - red team found messing around with the servers, passwords changed, backdoor found etc.&lt;br /&gt;
&lt;br /&gt;
==September wrapup &amp;amp; iptables lecture==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1mt0g_BN-l_Jz6HQ1D52WJIdMjPtkTt95CPYFejjiikE/ Lecture slides] [https://echo360.e-ope.ee/ess/portal/section/0fa18d0e-f1b2-44b7-878b-5e4c66e6040e video recording]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114287</id>
		<title>Category:I802 Firewalls and VPN IPSec</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114287"/>
		<updated>2016-11-09T08:36:26Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Internal DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Firewalls and VPN/IPSec=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
ECTS: 4&lt;br /&gt;
&lt;br /&gt;
Lecturer: Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario==&lt;br /&gt;
&lt;br /&gt;
In this course we will attempt to set up a network similar to a corporate network with multiple offices, eg http://docplayer.it/docs-images/20/596222/images/25-0.png&lt;br /&gt;
&lt;br /&gt;
We will use VPN software to connect subnets to each other and we will use VPN software to connect our personal computers to the intranet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting up virtual machine hosts==&lt;br /&gt;
&lt;br /&gt;
For this course we have 3 Sun servers, each with 16GB of RAM. In each server we should be able to create 3 or more virtual machines. As host operating system we will install Ubuntu 16.04 server. On disks set up ext4 on mdraid set up in RAID1 configuration.&lt;br /&gt;
&lt;br /&gt;
For virtualization let&#039;s use libvirt and virt-manager on your Ubuntu laptops, for Windows and Mac unfortunately there is no decent UI available instead installing web interface such as [https://github.com/kimchi-project/kimchi Kimchi] is recommended.&lt;br /&gt;
&lt;br /&gt;
To install libvirt on the server:&lt;br /&gt;
&lt;br /&gt;
  apt install libvirt-bin qemu-kvm&lt;br /&gt;
&lt;br /&gt;
Also add the primary user to the libvirt group:&lt;br /&gt;
&lt;br /&gt;
  sudo gpasswd -a $USER libvirt&lt;br /&gt;
&lt;br /&gt;
On your  laptop first set up SSH keys between the laptop and server with ssh-keygen and ssh-copy-id. And then you can install virt-manager with:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install virt-manager&lt;br /&gt;
&lt;br /&gt;
Copy CD ISO files into /var/lib/libvirt/images using scp or FileZilla.&lt;br /&gt;
&lt;br /&gt;
Continue with creating a virtual machine for each service. For Windows 2012 server virtual machines use 2G of RAM and 50G of storage. For Ubuntu 16.04 server installations use 1G of memory and 50G storage. For Ubuntu 16.04 MATE desktop installations use 2G of RAM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to set up virtual switch inside the server use Linux&#039;s built-in bridges, start with installing bridge-utils:&lt;br /&gt;
&lt;br /&gt;
  apt install bridge-utils&lt;br /&gt;
&lt;br /&gt;
Reconfigure your server&#039;s /etc/network/interfaces, replace X with number relevant to your server. Also replace eth0, eth1 and eth2 with the network interfaces available in your machine:&lt;br /&gt;
&lt;br /&gt;
  # The loopback network interface&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet dhcp&lt;br /&gt;
    # Until we set up router in a VM we will use DHCP so we can have internet access in 417&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.X.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports eth1&lt;br /&gt;
  &lt;br /&gt;
  # Management interface&lt;br /&gt;
  auto eth2&lt;br /&gt;
  iface eth2 inet static&lt;br /&gt;
    address 192.168.12.1X&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
When creating virtual machines, configure network as shown in the screenshot below:&lt;br /&gt;
&lt;br /&gt;
[[File:Virt-manager_bridges.png]]&lt;br /&gt;
&lt;br /&gt;
This way your VM-s should be able to access the Internet as the physical machine can&lt;br /&gt;
&lt;br /&gt;
==Setting up router==&lt;br /&gt;
&lt;br /&gt;
On Wednesday 14. September we will configure OpenWrt as a router in a virtual machine.&lt;br /&gt;
Download the OpenWrt image and uncompress it:&lt;br /&gt;
&lt;br /&gt;
  cd /var/lib/libvirt/images/&lt;br /&gt;
  wget https://downloads.openwrt.org/chaos_calmer/15.05-rc3/x86/kvm_guest/openwrt-15.05-rc3-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
  gunzip openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
&lt;br /&gt;
Add second network interface to your router&#039;s VM.&lt;br /&gt;
Configure first NIC as connected to br-wan and second one connected to br-lan.&lt;br /&gt;
&lt;br /&gt;
After that you should end up with topology similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Topology-inside-server.png]]&lt;br /&gt;
&lt;br /&gt;
To clarify: &#039;srv1.office&#039; and &#039;srv2.office&#039; are the Ubuntu 16.04 servers, you should have configured static IP addresses or set a static lease from the router. The &#039;router.office&#039; refers to the OpenWrt router you just set up. The router serves IP addresses using DHCP to &#039;ubuntu-mate.office&#039;  Ubuntu MATE 16.04 workstation and &#039;windows.office&#039; refers to Windows workstation. Your physical server &#039;host.office&#039; can be accessed as well. The &#039;office&#039; throughout the diagram refers to your domain name, use abbrevations such as hq, rnd, devops for that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Domain names==&lt;br /&gt;
&lt;br /&gt;
Arti will be your DNS registrar (like Godaddy or Zone.ee). Currently added DNS records:&lt;br /&gt;
&lt;br /&gt;
* http://www.biz.wut.ee - 193.40.194.160 for Wut Incorporated website&lt;br /&gt;
* http://gw.biz.wut.ee - 193.40.194.160 for OpenVPN gateway&lt;br /&gt;
* http://wiki.biz.wut.ee - 193.40.194.161 for Wut Inc internal wiki&lt;br /&gt;
* http://git.biz.wut.ee - 193.40.194.161 for Wut Inc source code hosting&lt;br /&gt;
* http://paste.biz.wut.ee - 193.40.194.161 for Wut Inc code snippets&lt;br /&gt;
* http://chat.biz.wut.ee - 193.40.194.162 for Wut Inc IRC chatroom&lt;br /&gt;
* http://pad.biz.wut.ee - 193.40.194.162 for Wut Inc etherpad&lt;br /&gt;
* http://ca.biz.wut.ee - 193.40.194.162 for Wut Inc certificate authority web endpoint&lt;br /&gt;
* http://mail.biz.wut.ee - 193.40.194.162 for MX entry of biz.wut.ee&lt;br /&gt;
&lt;br /&gt;
(Re)configure your services to make use of these DNS records.&lt;br /&gt;
&lt;br /&gt;
==Monitoring==&lt;br /&gt;
&lt;br /&gt;
Use this **only** on the physical hosts.&lt;br /&gt;
&lt;br /&gt;
You can (ab)use Lauri&#039;s collectd at http://log.koodur.com/cgp&lt;br /&gt;
&lt;br /&gt;
Install packages:&lt;br /&gt;
&lt;br /&gt;
  apt install collectd&lt;br /&gt;
&lt;br /&gt;
Reconfigure service in /etc/collectd/collectd.conf:&lt;br /&gt;
&lt;br /&gt;
  FQDNLookup true&lt;br /&gt;
  LoadPlugin syslog&lt;br /&gt;
  LoadPlugin cpu&lt;br /&gt;
  LoadPlugin df&lt;br /&gt;
  LoadPlugin disk&lt;br /&gt;
  LoadPlugin interface&lt;br /&gt;
  LoadPlugin load&lt;br /&gt;
  LoadPlugin memory&lt;br /&gt;
  LoadPlugin network&lt;br /&gt;
  LoadPlugin processes&lt;br /&gt;
  LoadPlugin swap&lt;br /&gt;
  LoadPlugin uptime&lt;br /&gt;
  LoadPlugin users&lt;br /&gt;
  LoadPlugin dns&lt;br /&gt;
  LoadPlugin ping&lt;br /&gt;
  LoadPlugin sensors&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin df&amp;gt;&lt;br /&gt;
  	FSType rootfs&lt;br /&gt;
  	FSType sysfs&lt;br /&gt;
  	FSType proc&lt;br /&gt;
  	FSType devtmpfs&lt;br /&gt;
  	FSType devpts&lt;br /&gt;
  	FSType tmpfs&lt;br /&gt;
  	FSType fusectl&lt;br /&gt;
  	FSType cgroup&lt;br /&gt;
  	IgnoreSelected true&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin disk&amp;gt;&lt;br /&gt;
  	Disk &amp;quot;/[sv]d[a-z]/&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;Include &amp;quot;/etc/collectd/collectd.conf.d&amp;quot;&amp;gt;&lt;br /&gt;
  	Filter &amp;quot;*.conf&amp;quot;&lt;br /&gt;
  &amp;lt;/Include&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin network&amp;gt;&lt;br /&gt;
    Server &amp;quot;185.94.112.74&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Teams==&lt;br /&gt;
&lt;br /&gt;
===Headquarters===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.160/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.10&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.1.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - (Mohanad)&lt;br /&gt;
* BIND9 as public DNS server, also figure out what domain name we should/can use (Arti)&lt;br /&gt;
* domain controller, at this point primarily for user accounts (Keijo)&lt;br /&gt;
* nginx web server, for company&#039;s homepage (Etienne)&lt;br /&gt;
* SMB/CIFS fileserver, join to domain (Etienne)&lt;br /&gt;
* VPN server for other subnets, presumably OpenVPN (Mohanad Aly)&lt;br /&gt;
&lt;br /&gt;
===Research &amp;amp; development===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.161/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.11&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.2.1/24&lt;br /&gt;
&lt;br /&gt;
Team members: Marvin, Madis, Taavi, Berit, Joosep&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Marvin&lt;br /&gt;
* [https://gogs.io/docs Git hosting], for sharing scripts, set up LDAP to authenticate with domain controller (Madis)&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Installation_MediaWiki Wiki], for exchanging information,  [https://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Kerberos_Configuration_Examples set up LDAP to authenticate with domain controller and later possibly configure web server to authenticate with Kerberos] (Taavi)&lt;br /&gt;
* Windows XP workstation, join to domain&lt;br /&gt;
* Ubuntu 16.04 MATE workstation, [https://raw.githubusercontent.com/laurivosandi/puppet-butterknife/master/files/etc/butterknife/helpers/join-domain join to domain].&lt;br /&gt;
* [http://lauri.vosandi.com/2016/09/xenial-ltsp-ja-id-kaart.html LTSP server] (Joosep)&lt;br /&gt;
* OpenVPN connection to headquarters, use shared secret at first, later X509 certificates&lt;br /&gt;
* [https://github.com/bpoldoja/pastebin Pastebin], possibly later implement [https://github.com/laurivosandi/certidude/blob/master/certidude/auth.py#L37 Kerberos support] (Berit)&lt;br /&gt;
====Examples====&lt;br /&gt;
Port forwarding example, we have 2 linux virtual machines, one forwarding to host local ip.&lt;br /&gt;
[[File:vpn-portForwarding.png|900px|]]&lt;br /&gt;
&lt;br /&gt;
Network interface example file:&lt;br /&gt;
&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface (port 0)&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet manual&lt;br /&gt;
    bridge_ports enp6s4f0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface (port 3)&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.2.1&lt;br /&gt;
    gateway 172.16.2.254&lt;br /&gt;
    dns-nameserver 172.16.2.254&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports enp0s8&lt;br /&gt;
  &lt;br /&gt;
  # Management interface (port 1)&lt;br /&gt;
  auto enp6s4f1&lt;br /&gt;
  iface enp6s4f1 inet static&lt;br /&gt;
    address 192.168.12.11&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Openwrt interface file working example /etc/config/network:&lt;br /&gt;
&lt;br /&gt;
  config interface &#039;lan&#039;&lt;br /&gt;
        option ifname &#039;eth0&#039;&lt;br /&gt;
        option type &#039;bridge&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option ip6assign &#039;60&#039;&lt;br /&gt;
        option ipaddr &#039;172.16.2.254&#039;&lt;br /&gt;
  &lt;br /&gt;
  config interface &#039;wan&#039;&lt;br /&gt;
        option ifname &#039;eth1&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option ipaddr &#039;193.40.194.161&#039;&lt;br /&gt;
        option gateway &#039;193.40.194.220&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option dns &#039;192.40.0.12 193.40.56.245&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create poor man&#039;s vpn. Install on your computer&lt;br /&gt;
  apt install sshuttle&lt;br /&gt;
&lt;br /&gt;
and connection.&lt;br /&gt;
  sshuttle --dns -HNvr username@server:port&lt;br /&gt;
no you should be able to connect local network computers and services.&lt;br /&gt;
&#039;&#039;&#039;NB! ping is not working with sshuttle&#039;&#039;&#039;&lt;br /&gt;
you can read more here http://teohm.com/blog/using-sshuttle-in-daily-work/&lt;br /&gt;
&lt;br /&gt;
====TODO====&lt;br /&gt;
&lt;br /&gt;
===Devops===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.162/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.12&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.3.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Artur O&lt;br /&gt;
* IRC, for chatting (Meelis Hass)&lt;br /&gt;
* [https://github.com/ether/etherpad-lite Etherpad] for collaborating (Sheela)&lt;br /&gt;
* [https://github.com/laurivosandi/certidude#usecases Certificate management] for roadwarriors, usecase number #1 (Artur O)&lt;br /&gt;
* Monitoring software of your choice to make sure that services are up and running, possibly use LDAP for authentication (Artur O)&lt;br /&gt;
* E-mail for sending notifications from monitoring software at first (Ilja), this needs MX records in DNS (Ilja, Mohanad helps)&lt;br /&gt;
* Later, in the beginning just monitor public services: OpenVPN connection to headquarters&lt;br /&gt;
&lt;br /&gt;
===Pentest===&lt;br /&gt;
&lt;br /&gt;
Find security issues in the deployed services, attempt to plant backdoors, malware etc.&lt;br /&gt;
&lt;br /&gt;
Team members: Kustas, Ender&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Point-to-point tunnels between routers==&lt;br /&gt;
&lt;br /&gt;
Since routers are the default route for all the internal machines the easiest way to set up routing between internal networks is to set up OpenVPN instances on each router.&lt;br /&gt;
&lt;br /&gt;
In router install OpenVPN module for OpenWrt:&lt;br /&gt;
&lt;br /&gt;
  opkg update&lt;br /&gt;
  opkg install luci-app-openvpn openvpn-openssl&lt;br /&gt;
&lt;br /&gt;
In the OpenWrt web interface there should pop up Services section with OpenVPN underneath it.&lt;br /&gt;
&lt;br /&gt;
The topology for routers:&lt;br /&gt;
&lt;br /&gt;
[[File:Point-to-point.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each tunnel configure on one end &amp;quot;Simple server configuration for a routed point-to-point VPN&amp;quot; and on the other end &amp;quot;Simple client configuration for a routed point-to-point VPN&amp;quot; the configuration for connection on hq could look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Openwrt-openvpn-config.png]]&lt;br /&gt;
&lt;br /&gt;
To upload secret select secret under --Additional fields-- and hit add. To generate secret use following command on your laptop:&lt;br /&gt;
&lt;br /&gt;
  openvpn --genkey --secret static.key&lt;br /&gt;
&lt;br /&gt;
Under Switch to advanced configuration --&amp;gt; Networking add route field for each subnet you want to make accessible via that tunnel. For each tunnel a new interface pops up under Interfaces section. Assign firewall rules as appropriate. To test I guess you can just insert the interface into LAN zone.&lt;br /&gt;
&lt;br /&gt;
==Generating certificates==&lt;br /&gt;
&lt;br /&gt;
To generate key:&lt;br /&gt;
&lt;br /&gt;
  openssl genrsa -out lauri-c720p.key 4096&lt;br /&gt;
&lt;br /&gt;
To generate signing request:&lt;br /&gt;
&lt;br /&gt;
  openssl req -new -key lauri-c720p.key -out lauri-c720p.csr&lt;br /&gt;
&lt;br /&gt;
To sign the request:&lt;br /&gt;
&lt;br /&gt;
  openssl ca -config ca.cnf -in lauri-c720p.csr -extensions client_cert -out lauri-c720p.crt&lt;br /&gt;
&lt;br /&gt;
To dump certificate contents in human-readable format:&lt;br /&gt;
&lt;br /&gt;
  openssl x509 -in lauri-c720p.crt -noout -text&lt;br /&gt;
&lt;br /&gt;
To test web server&#039;s TLS configuration:&lt;br /&gt;
&lt;br /&gt;
  openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
To make a HTTP request as well:&lt;br /&gt;
&lt;br /&gt;
  (echo -en &amp;quot;GET / HTTP/1.0\n\n&amp;quot;; sleep 1) | openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
See here for more about Estonian ID-card certificates: https://www.sk.ee/en/repository/ldap/ldap-kataloogi-kasutamine/&lt;br /&gt;
&lt;br /&gt;
==Remote logging==&lt;br /&gt;
&lt;br /&gt;
In order to send logs to Graylog server, put those lines into new file: /etc/rsyslog.d/client.conf&lt;br /&gt;
&lt;br /&gt;
  $ActionQueueType LinkedList&lt;br /&gt;
  $ActionQueueFileName srvrfwd&lt;br /&gt;
  $ActionResumeRetryCount -1&lt;br /&gt;
  $ActionQueueSaveOnShutdown on&lt;br /&gt;
  *.* @@172.16.3.228:1514&lt;br /&gt;
&lt;br /&gt;
and then restart the service:&lt;br /&gt;
&lt;br /&gt;
  sudo service rsyslog restart&lt;br /&gt;
&lt;br /&gt;
==Internal DNS==&lt;br /&gt;
&lt;br /&gt;
* http://intranet.office - 172.16.x.x intranet website&lt;br /&gt;
* http://wiki.office - 172.16.x.x internal wiki&lt;br /&gt;
* http://git.office - 172.16.x.x source code hosting&lt;br /&gt;
* http://paste.office - 172.16.x.x code snippets&lt;br /&gt;
* http://chat.office - 172.16.3.149 IRC server&lt;br /&gt;
* http://pad.office - 172.16.3.247 etherpad&lt;br /&gt;
* http://ca.office - 172.16.x.x certificate authority web endpoint&lt;br /&gt;
* http://mail.office - 172.16.3.235 webmail&lt;br /&gt;
* http://graylog.office - 172.16.3.228 Artur&#039;s graylog&lt;br /&gt;
* http://nagios.office - 172.16.x.x Mohanad&#039;s nagios&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* http://router-hq.office - 172.16.1.254 hq router&lt;br /&gt;
* http://router-rnd.office - 172.16.2.254 rnd router&lt;br /&gt;
* http://router-devops.office - 172.16.3.254 devops router&lt;br /&gt;
&lt;br /&gt;
=Boring stuff=&lt;br /&gt;
&lt;br /&gt;
==Report template==&lt;br /&gt;
&lt;br /&gt;
Send report as a plaintext e-mail to Lauri, in the title include: Report #number - your name - your team&lt;br /&gt;
&lt;br /&gt;
In the content make sure you specify the timespan you&#039;re talking about (September of 2016, first half of October 2016 etc)&lt;br /&gt;
&lt;br /&gt;
The content, no need for formal speech:&lt;br /&gt;
&lt;br /&gt;
* What have been done so far by the team (eg. server hardware setup, virtual machine setup, service setup)&lt;br /&gt;
* What was your role for this timespan, note that we will shuffle the teams now and then&lt;br /&gt;
* What was your contribution, or in other words what did you do during this timespan&lt;br /&gt;
* What (security) incidents happened - red team found messing around with the servers, passwords changed, backdoor found etc.&lt;br /&gt;
&lt;br /&gt;
==September wrapup &amp;amp; iptables lecture==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1mt0g_BN-l_Jz6HQ1D52WJIdMjPtkTt95CPYFejjiikE/ Lecture slides] [https://echo360.e-ope.ee/ess/portal/section/0fa18d0e-f1b2-44b7-878b-5e4c66e6040e video recording]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114285</id>
		<title>Category:I802 Firewalls and VPN IPSec</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114285"/>
		<updated>2016-11-09T08:34:57Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Internal DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Firewalls and VPN/IPSec=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
ECTS: 4&lt;br /&gt;
&lt;br /&gt;
Lecturer: Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario==&lt;br /&gt;
&lt;br /&gt;
In this course we will attempt to set up a network similar to a corporate network with multiple offices, eg http://docplayer.it/docs-images/20/596222/images/25-0.png&lt;br /&gt;
&lt;br /&gt;
We will use VPN software to connect subnets to each other and we will use VPN software to connect our personal computers to the intranet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting up virtual machine hosts==&lt;br /&gt;
&lt;br /&gt;
For this course we have 3 Sun servers, each with 16GB of RAM. In each server we should be able to create 3 or more virtual machines. As host operating system we will install Ubuntu 16.04 server. On disks set up ext4 on mdraid set up in RAID1 configuration.&lt;br /&gt;
&lt;br /&gt;
For virtualization let&#039;s use libvirt and virt-manager on your Ubuntu laptops, for Windows and Mac unfortunately there is no decent UI available instead installing web interface such as [https://github.com/kimchi-project/kimchi Kimchi] is recommended.&lt;br /&gt;
&lt;br /&gt;
To install libvirt on the server:&lt;br /&gt;
&lt;br /&gt;
  apt install libvirt-bin qemu-kvm&lt;br /&gt;
&lt;br /&gt;
Also add the primary user to the libvirt group:&lt;br /&gt;
&lt;br /&gt;
  sudo gpasswd -a $USER libvirt&lt;br /&gt;
&lt;br /&gt;
On your  laptop first set up SSH keys between the laptop and server with ssh-keygen and ssh-copy-id. And then you can install virt-manager with:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install virt-manager&lt;br /&gt;
&lt;br /&gt;
Copy CD ISO files into /var/lib/libvirt/images using scp or FileZilla.&lt;br /&gt;
&lt;br /&gt;
Continue with creating a virtual machine for each service. For Windows 2012 server virtual machines use 2G of RAM and 50G of storage. For Ubuntu 16.04 server installations use 1G of memory and 50G storage. For Ubuntu 16.04 MATE desktop installations use 2G of RAM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to set up virtual switch inside the server use Linux&#039;s built-in bridges, start with installing bridge-utils:&lt;br /&gt;
&lt;br /&gt;
  apt install bridge-utils&lt;br /&gt;
&lt;br /&gt;
Reconfigure your server&#039;s /etc/network/interfaces, replace X with number relevant to your server. Also replace eth0, eth1 and eth2 with the network interfaces available in your machine:&lt;br /&gt;
&lt;br /&gt;
  # The loopback network interface&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet dhcp&lt;br /&gt;
    # Until we set up router in a VM we will use DHCP so we can have internet access in 417&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.X.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports eth1&lt;br /&gt;
  &lt;br /&gt;
  # Management interface&lt;br /&gt;
  auto eth2&lt;br /&gt;
  iface eth2 inet static&lt;br /&gt;
    address 192.168.12.1X&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
When creating virtual machines, configure network as shown in the screenshot below:&lt;br /&gt;
&lt;br /&gt;
[[File:Virt-manager_bridges.png]]&lt;br /&gt;
&lt;br /&gt;
This way your VM-s should be able to access the Internet as the physical machine can&lt;br /&gt;
&lt;br /&gt;
==Setting up router==&lt;br /&gt;
&lt;br /&gt;
On Wednesday 14. September we will configure OpenWrt as a router in a virtual machine.&lt;br /&gt;
Download the OpenWrt image and uncompress it:&lt;br /&gt;
&lt;br /&gt;
  cd /var/lib/libvirt/images/&lt;br /&gt;
  wget https://downloads.openwrt.org/chaos_calmer/15.05-rc3/x86/kvm_guest/openwrt-15.05-rc3-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
  gunzip openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
&lt;br /&gt;
Add second network interface to your router&#039;s VM.&lt;br /&gt;
Configure first NIC as connected to br-wan and second one connected to br-lan.&lt;br /&gt;
&lt;br /&gt;
After that you should end up with topology similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Topology-inside-server.png]]&lt;br /&gt;
&lt;br /&gt;
To clarify: &#039;srv1.office&#039; and &#039;srv2.office&#039; are the Ubuntu 16.04 servers, you should have configured static IP addresses or set a static lease from the router. The &#039;router.office&#039; refers to the OpenWrt router you just set up. The router serves IP addresses using DHCP to &#039;ubuntu-mate.office&#039;  Ubuntu MATE 16.04 workstation and &#039;windows.office&#039; refers to Windows workstation. Your physical server &#039;host.office&#039; can be accessed as well. The &#039;office&#039; throughout the diagram refers to your domain name, use abbrevations such as hq, rnd, devops for that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Domain names==&lt;br /&gt;
&lt;br /&gt;
Arti will be your DNS registrar (like Godaddy or Zone.ee). Currently added DNS records:&lt;br /&gt;
&lt;br /&gt;
* http://www.biz.wut.ee - 193.40.194.160 for Wut Incorporated website&lt;br /&gt;
* http://gw.biz.wut.ee - 193.40.194.160 for OpenVPN gateway&lt;br /&gt;
* http://wiki.biz.wut.ee - 193.40.194.161 for Wut Inc internal wiki&lt;br /&gt;
* http://git.biz.wut.ee - 193.40.194.161 for Wut Inc source code hosting&lt;br /&gt;
* http://paste.biz.wut.ee - 193.40.194.161 for Wut Inc code snippets&lt;br /&gt;
* http://chat.biz.wut.ee - 193.40.194.162 for Wut Inc IRC chatroom&lt;br /&gt;
* http://pad.biz.wut.ee - 193.40.194.162 for Wut Inc etherpad&lt;br /&gt;
* http://ca.biz.wut.ee - 193.40.194.162 for Wut Inc certificate authority web endpoint&lt;br /&gt;
* http://mail.biz.wut.ee - 193.40.194.162 for MX entry of biz.wut.ee&lt;br /&gt;
&lt;br /&gt;
(Re)configure your services to make use of these DNS records.&lt;br /&gt;
&lt;br /&gt;
==Monitoring==&lt;br /&gt;
&lt;br /&gt;
Use this **only** on the physical hosts.&lt;br /&gt;
&lt;br /&gt;
You can (ab)use Lauri&#039;s collectd at http://log.koodur.com/cgp&lt;br /&gt;
&lt;br /&gt;
Install packages:&lt;br /&gt;
&lt;br /&gt;
  apt install collectd&lt;br /&gt;
&lt;br /&gt;
Reconfigure service in /etc/collectd/collectd.conf:&lt;br /&gt;
&lt;br /&gt;
  FQDNLookup true&lt;br /&gt;
  LoadPlugin syslog&lt;br /&gt;
  LoadPlugin cpu&lt;br /&gt;
  LoadPlugin df&lt;br /&gt;
  LoadPlugin disk&lt;br /&gt;
  LoadPlugin interface&lt;br /&gt;
  LoadPlugin load&lt;br /&gt;
  LoadPlugin memory&lt;br /&gt;
  LoadPlugin network&lt;br /&gt;
  LoadPlugin processes&lt;br /&gt;
  LoadPlugin swap&lt;br /&gt;
  LoadPlugin uptime&lt;br /&gt;
  LoadPlugin users&lt;br /&gt;
  LoadPlugin dns&lt;br /&gt;
  LoadPlugin ping&lt;br /&gt;
  LoadPlugin sensors&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin df&amp;gt;&lt;br /&gt;
  	FSType rootfs&lt;br /&gt;
  	FSType sysfs&lt;br /&gt;
  	FSType proc&lt;br /&gt;
  	FSType devtmpfs&lt;br /&gt;
  	FSType devpts&lt;br /&gt;
  	FSType tmpfs&lt;br /&gt;
  	FSType fusectl&lt;br /&gt;
  	FSType cgroup&lt;br /&gt;
  	IgnoreSelected true&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin disk&amp;gt;&lt;br /&gt;
  	Disk &amp;quot;/[sv]d[a-z]/&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;Include &amp;quot;/etc/collectd/collectd.conf.d&amp;quot;&amp;gt;&lt;br /&gt;
  	Filter &amp;quot;*.conf&amp;quot;&lt;br /&gt;
  &amp;lt;/Include&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin network&amp;gt;&lt;br /&gt;
    Server &amp;quot;185.94.112.74&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Teams==&lt;br /&gt;
&lt;br /&gt;
===Headquarters===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.160/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.10&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.1.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - (Mohanad)&lt;br /&gt;
* BIND9 as public DNS server, also figure out what domain name we should/can use (Arti)&lt;br /&gt;
* domain controller, at this point primarily for user accounts (Keijo)&lt;br /&gt;
* nginx web server, for company&#039;s homepage (Etienne)&lt;br /&gt;
* SMB/CIFS fileserver, join to domain (Etienne)&lt;br /&gt;
* VPN server for other subnets, presumably OpenVPN (Mohanad Aly)&lt;br /&gt;
&lt;br /&gt;
===Research &amp;amp; development===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.161/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.11&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.2.1/24&lt;br /&gt;
&lt;br /&gt;
Team members: Marvin, Madis, Taavi, Berit, Joosep&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Marvin&lt;br /&gt;
* [https://gogs.io/docs Git hosting], for sharing scripts, set up LDAP to authenticate with domain controller (Madis)&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Installation_MediaWiki Wiki], for exchanging information,  [https://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Kerberos_Configuration_Examples set up LDAP to authenticate with domain controller and later possibly configure web server to authenticate with Kerberos] (Taavi)&lt;br /&gt;
* Windows XP workstation, join to domain&lt;br /&gt;
* Ubuntu 16.04 MATE workstation, [https://raw.githubusercontent.com/laurivosandi/puppet-butterknife/master/files/etc/butterknife/helpers/join-domain join to domain].&lt;br /&gt;
* [http://lauri.vosandi.com/2016/09/xenial-ltsp-ja-id-kaart.html LTSP server] (Joosep)&lt;br /&gt;
* OpenVPN connection to headquarters, use shared secret at first, later X509 certificates&lt;br /&gt;
* [https://github.com/bpoldoja/pastebin Pastebin], possibly later implement [https://github.com/laurivosandi/certidude/blob/master/certidude/auth.py#L37 Kerberos support] (Berit)&lt;br /&gt;
====Examples====&lt;br /&gt;
Port forwarding example, we have 2 linux virtual machines, one forwarding to host local ip.&lt;br /&gt;
[[File:vpn-portForwarding.png|900px|]]&lt;br /&gt;
&lt;br /&gt;
Network interface example file:&lt;br /&gt;
&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface (port 0)&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet manual&lt;br /&gt;
    bridge_ports enp6s4f0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface (port 3)&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.2.1&lt;br /&gt;
    gateway 172.16.2.254&lt;br /&gt;
    dns-nameserver 172.16.2.254&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports enp0s8&lt;br /&gt;
  &lt;br /&gt;
  # Management interface (port 1)&lt;br /&gt;
  auto enp6s4f1&lt;br /&gt;
  iface enp6s4f1 inet static&lt;br /&gt;
    address 192.168.12.11&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Openwrt interface file working example /etc/config/network:&lt;br /&gt;
&lt;br /&gt;
  config interface &#039;lan&#039;&lt;br /&gt;
        option ifname &#039;eth0&#039;&lt;br /&gt;
        option type &#039;bridge&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option ip6assign &#039;60&#039;&lt;br /&gt;
        option ipaddr &#039;172.16.2.254&#039;&lt;br /&gt;
  &lt;br /&gt;
  config interface &#039;wan&#039;&lt;br /&gt;
        option ifname &#039;eth1&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option ipaddr &#039;193.40.194.161&#039;&lt;br /&gt;
        option gateway &#039;193.40.194.220&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option dns &#039;192.40.0.12 193.40.56.245&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create poor man&#039;s vpn. Install on your computer&lt;br /&gt;
  apt install sshuttle&lt;br /&gt;
&lt;br /&gt;
and connection.&lt;br /&gt;
  sshuttle --dns -HNvr username@server:port&lt;br /&gt;
no you should be able to connect local network computers and services.&lt;br /&gt;
&#039;&#039;&#039;NB! ping is not working with sshuttle&#039;&#039;&#039;&lt;br /&gt;
you can read more here http://teohm.com/blog/using-sshuttle-in-daily-work/&lt;br /&gt;
&lt;br /&gt;
====TODO====&lt;br /&gt;
&lt;br /&gt;
===Devops===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.162/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.12&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.3.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Artur O&lt;br /&gt;
* IRC, for chatting (Meelis Hass)&lt;br /&gt;
* [https://github.com/ether/etherpad-lite Etherpad] for collaborating (Sheela)&lt;br /&gt;
* [https://github.com/laurivosandi/certidude#usecases Certificate management] for roadwarriors, usecase number #1 (Artur O)&lt;br /&gt;
* Monitoring software of your choice to make sure that services are up and running, possibly use LDAP for authentication (Artur O)&lt;br /&gt;
* E-mail for sending notifications from monitoring software at first (Ilja), this needs MX records in DNS (Ilja, Mohanad helps)&lt;br /&gt;
* Later, in the beginning just monitor public services: OpenVPN connection to headquarters&lt;br /&gt;
&lt;br /&gt;
===Pentest===&lt;br /&gt;
&lt;br /&gt;
Find security issues in the deployed services, attempt to plant backdoors, malware etc.&lt;br /&gt;
&lt;br /&gt;
Team members: Kustas, Ender&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Point-to-point tunnels between routers==&lt;br /&gt;
&lt;br /&gt;
Since routers are the default route for all the internal machines the easiest way to set up routing between internal networks is to set up OpenVPN instances on each router.&lt;br /&gt;
&lt;br /&gt;
In router install OpenVPN module for OpenWrt:&lt;br /&gt;
&lt;br /&gt;
  opkg update&lt;br /&gt;
  opkg install luci-app-openvpn openvpn-openssl&lt;br /&gt;
&lt;br /&gt;
In the OpenWrt web interface there should pop up Services section with OpenVPN underneath it.&lt;br /&gt;
&lt;br /&gt;
The topology for routers:&lt;br /&gt;
&lt;br /&gt;
[[File:Point-to-point.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each tunnel configure on one end &amp;quot;Simple server configuration for a routed point-to-point VPN&amp;quot; and on the other end &amp;quot;Simple client configuration for a routed point-to-point VPN&amp;quot; the configuration for connection on hq could look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Openwrt-openvpn-config.png]]&lt;br /&gt;
&lt;br /&gt;
To upload secret select secret under --Additional fields-- and hit add. To generate secret use following command on your laptop:&lt;br /&gt;
&lt;br /&gt;
  openvpn --genkey --secret static.key&lt;br /&gt;
&lt;br /&gt;
Under Switch to advanced configuration --&amp;gt; Networking add route field for each subnet you want to make accessible via that tunnel. For each tunnel a new interface pops up under Interfaces section. Assign firewall rules as appropriate. To test I guess you can just insert the interface into LAN zone.&lt;br /&gt;
&lt;br /&gt;
==Generating certificates==&lt;br /&gt;
&lt;br /&gt;
To generate key:&lt;br /&gt;
&lt;br /&gt;
  openssl genrsa -out lauri-c720p.key 4096&lt;br /&gt;
&lt;br /&gt;
To generate signing request:&lt;br /&gt;
&lt;br /&gt;
  openssl req -new -key lauri-c720p.key -out lauri-c720p.csr&lt;br /&gt;
&lt;br /&gt;
To sign the request:&lt;br /&gt;
&lt;br /&gt;
  openssl ca -config ca.cnf -in lauri-c720p.csr -extensions client_cert -out lauri-c720p.crt&lt;br /&gt;
&lt;br /&gt;
To dump certificate contents in human-readable format:&lt;br /&gt;
&lt;br /&gt;
  openssl x509 -in lauri-c720p.crt -noout -text&lt;br /&gt;
&lt;br /&gt;
To test web server&#039;s TLS configuration:&lt;br /&gt;
&lt;br /&gt;
  openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
To make a HTTP request as well:&lt;br /&gt;
&lt;br /&gt;
  (echo -en &amp;quot;GET / HTTP/1.0\n\n&amp;quot;; sleep 1) | openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
See here for more about Estonian ID-card certificates: https://www.sk.ee/en/repository/ldap/ldap-kataloogi-kasutamine/&lt;br /&gt;
&lt;br /&gt;
==Remote logging==&lt;br /&gt;
&lt;br /&gt;
In order to send logs to Graylog server, put those lines into new file: /etc/rsyslog.d/client.conf&lt;br /&gt;
&lt;br /&gt;
  $ActionQueueType LinkedList&lt;br /&gt;
  $ActionQueueFileName srvrfwd&lt;br /&gt;
  $ActionResumeRetryCount -1&lt;br /&gt;
  $ActionQueueSaveOnShutdown on&lt;br /&gt;
  *.* @@172.16.3.228:1514&lt;br /&gt;
&lt;br /&gt;
and then restart the service:&lt;br /&gt;
&lt;br /&gt;
  sudo service rsyslog restart&lt;br /&gt;
&lt;br /&gt;
==Internal DNS==&lt;br /&gt;
&lt;br /&gt;
* http://intranet.office - 172.16.x.x intranet website&lt;br /&gt;
* http://wiki.office - 172.16.x.x internal wiki&lt;br /&gt;
* http://git.office - 172.16.x.x source code hosting&lt;br /&gt;
* http://paste.office - 172.16.x.x code snippets&lt;br /&gt;
* http://chat.office - 172.16.3.149 IRC server&lt;br /&gt;
* http://pad.office - 172.16.3.247 etherpad&lt;br /&gt;
* http://ca.office - 172.16.x.x certificate authority web endpoint&lt;br /&gt;
* http://mail.office - 172.16.3.235 webmail&lt;br /&gt;
* http://graylog.office - 172.16.3.228 Artur&#039;s graylog&lt;br /&gt;
* http://nagios.office - 172.16.x.x Mohanad&#039;s nagios&lt;br /&gt;
&lt;br /&gt;
=Boring stuff=&lt;br /&gt;
&lt;br /&gt;
==Report template==&lt;br /&gt;
&lt;br /&gt;
Send report as a plaintext e-mail to Lauri, in the title include: Report #number - your name - your team&lt;br /&gt;
&lt;br /&gt;
In the content make sure you specify the timespan you&#039;re talking about (September of 2016, first half of October 2016 etc)&lt;br /&gt;
&lt;br /&gt;
The content, no need for formal speech:&lt;br /&gt;
&lt;br /&gt;
* What have been done so far by the team (eg. server hardware setup, virtual machine setup, service setup)&lt;br /&gt;
* What was your role for this timespan, note that we will shuffle the teams now and then&lt;br /&gt;
* What was your contribution, or in other words what did you do during this timespan&lt;br /&gt;
* What (security) incidents happened - red team found messing around with the servers, passwords changed, backdoor found etc.&lt;br /&gt;
&lt;br /&gt;
==September wrapup &amp;amp; iptables lecture==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1mt0g_BN-l_Jz6HQ1D52WJIdMjPtkTt95CPYFejjiikE/ Lecture slides] [https://echo360.e-ope.ee/ess/portal/section/0fa18d0e-f1b2-44b7-878b-5e4c66e6040e video recording]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114283</id>
		<title>Category:I802 Firewalls and VPN IPSec</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=114283"/>
		<updated>2016-11-09T08:33:36Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Internal DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Firewalls and VPN/IPSec=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
ECTS: 4&lt;br /&gt;
&lt;br /&gt;
Lecturer: Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario==&lt;br /&gt;
&lt;br /&gt;
In this course we will attempt to set up a network similar to a corporate network with multiple offices, eg http://docplayer.it/docs-images/20/596222/images/25-0.png&lt;br /&gt;
&lt;br /&gt;
We will use VPN software to connect subnets to each other and we will use VPN software to connect our personal computers to the intranet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting up virtual machine hosts==&lt;br /&gt;
&lt;br /&gt;
For this course we have 3 Sun servers, each with 16GB of RAM. In each server we should be able to create 3 or more virtual machines. As host operating system we will install Ubuntu 16.04 server. On disks set up ext4 on mdraid set up in RAID1 configuration.&lt;br /&gt;
&lt;br /&gt;
For virtualization let&#039;s use libvirt and virt-manager on your Ubuntu laptops, for Windows and Mac unfortunately there is no decent UI available instead installing web interface such as [https://github.com/kimchi-project/kimchi Kimchi] is recommended.&lt;br /&gt;
&lt;br /&gt;
To install libvirt on the server:&lt;br /&gt;
&lt;br /&gt;
  apt install libvirt-bin qemu-kvm&lt;br /&gt;
&lt;br /&gt;
Also add the primary user to the libvirt group:&lt;br /&gt;
&lt;br /&gt;
  sudo gpasswd -a $USER libvirt&lt;br /&gt;
&lt;br /&gt;
On your  laptop first set up SSH keys between the laptop and server with ssh-keygen and ssh-copy-id. And then you can install virt-manager with:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install virt-manager&lt;br /&gt;
&lt;br /&gt;
Copy CD ISO files into /var/lib/libvirt/images using scp or FileZilla.&lt;br /&gt;
&lt;br /&gt;
Continue with creating a virtual machine for each service. For Windows 2012 server virtual machines use 2G of RAM and 50G of storage. For Ubuntu 16.04 server installations use 1G of memory and 50G storage. For Ubuntu 16.04 MATE desktop installations use 2G of RAM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to set up virtual switch inside the server use Linux&#039;s built-in bridges, start with installing bridge-utils:&lt;br /&gt;
&lt;br /&gt;
  apt install bridge-utils&lt;br /&gt;
&lt;br /&gt;
Reconfigure your server&#039;s /etc/network/interfaces, replace X with number relevant to your server. Also replace eth0, eth1 and eth2 with the network interfaces available in your machine:&lt;br /&gt;
&lt;br /&gt;
  # The loopback network interface&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet dhcp&lt;br /&gt;
    # Until we set up router in a VM we will use DHCP so we can have internet access in 417&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.X.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports eth1&lt;br /&gt;
  &lt;br /&gt;
  # Management interface&lt;br /&gt;
  auto eth2&lt;br /&gt;
  iface eth2 inet static&lt;br /&gt;
    address 192.168.12.1X&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
When creating virtual machines, configure network as shown in the screenshot below:&lt;br /&gt;
&lt;br /&gt;
[[File:Virt-manager_bridges.png]]&lt;br /&gt;
&lt;br /&gt;
This way your VM-s should be able to access the Internet as the physical machine can&lt;br /&gt;
&lt;br /&gt;
==Setting up router==&lt;br /&gt;
&lt;br /&gt;
On Wednesday 14. September we will configure OpenWrt as a router in a virtual machine.&lt;br /&gt;
Download the OpenWrt image and uncompress it:&lt;br /&gt;
&lt;br /&gt;
  cd /var/lib/libvirt/images/&lt;br /&gt;
  wget https://downloads.openwrt.org/chaos_calmer/15.05-rc3/x86/kvm_guest/openwrt-15.05-rc3-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
  gunzip openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
&lt;br /&gt;
Add second network interface to your router&#039;s VM.&lt;br /&gt;
Configure first NIC as connected to br-wan and second one connected to br-lan.&lt;br /&gt;
&lt;br /&gt;
After that you should end up with topology similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Topology-inside-server.png]]&lt;br /&gt;
&lt;br /&gt;
To clarify: &#039;srv1.office&#039; and &#039;srv2.office&#039; are the Ubuntu 16.04 servers, you should have configured static IP addresses or set a static lease from the router. The &#039;router.office&#039; refers to the OpenWrt router you just set up. The router serves IP addresses using DHCP to &#039;ubuntu-mate.office&#039;  Ubuntu MATE 16.04 workstation and &#039;windows.office&#039; refers to Windows workstation. Your physical server &#039;host.office&#039; can be accessed as well. The &#039;office&#039; throughout the diagram refers to your domain name, use abbrevations such as hq, rnd, devops for that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Domain names==&lt;br /&gt;
&lt;br /&gt;
Arti will be your DNS registrar (like Godaddy or Zone.ee). Currently added DNS records:&lt;br /&gt;
&lt;br /&gt;
* http://www.biz.wut.ee - 193.40.194.160 for Wut Incorporated website&lt;br /&gt;
* http://gw.biz.wut.ee - 193.40.194.160 for OpenVPN gateway&lt;br /&gt;
* http://wiki.biz.wut.ee - 193.40.194.161 for Wut Inc internal wiki&lt;br /&gt;
* http://git.biz.wut.ee - 193.40.194.161 for Wut Inc source code hosting&lt;br /&gt;
* http://paste.biz.wut.ee - 193.40.194.161 for Wut Inc code snippets&lt;br /&gt;
* http://chat.biz.wut.ee - 193.40.194.162 for Wut Inc IRC chatroom&lt;br /&gt;
* http://pad.biz.wut.ee - 193.40.194.162 for Wut Inc etherpad&lt;br /&gt;
* http://ca.biz.wut.ee - 193.40.194.162 for Wut Inc certificate authority web endpoint&lt;br /&gt;
* http://mail.biz.wut.ee - 193.40.194.162 for MX entry of biz.wut.ee&lt;br /&gt;
&lt;br /&gt;
(Re)configure your services to make use of these DNS records.&lt;br /&gt;
&lt;br /&gt;
==Monitoring==&lt;br /&gt;
&lt;br /&gt;
Use this **only** on the physical hosts.&lt;br /&gt;
&lt;br /&gt;
You can (ab)use Lauri&#039;s collectd at http://log.koodur.com/cgp&lt;br /&gt;
&lt;br /&gt;
Install packages:&lt;br /&gt;
&lt;br /&gt;
  apt install collectd&lt;br /&gt;
&lt;br /&gt;
Reconfigure service in /etc/collectd/collectd.conf:&lt;br /&gt;
&lt;br /&gt;
  FQDNLookup true&lt;br /&gt;
  LoadPlugin syslog&lt;br /&gt;
  LoadPlugin cpu&lt;br /&gt;
  LoadPlugin df&lt;br /&gt;
  LoadPlugin disk&lt;br /&gt;
  LoadPlugin interface&lt;br /&gt;
  LoadPlugin load&lt;br /&gt;
  LoadPlugin memory&lt;br /&gt;
  LoadPlugin network&lt;br /&gt;
  LoadPlugin processes&lt;br /&gt;
  LoadPlugin swap&lt;br /&gt;
  LoadPlugin uptime&lt;br /&gt;
  LoadPlugin users&lt;br /&gt;
  LoadPlugin dns&lt;br /&gt;
  LoadPlugin ping&lt;br /&gt;
  LoadPlugin sensors&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin df&amp;gt;&lt;br /&gt;
  	FSType rootfs&lt;br /&gt;
  	FSType sysfs&lt;br /&gt;
  	FSType proc&lt;br /&gt;
  	FSType devtmpfs&lt;br /&gt;
  	FSType devpts&lt;br /&gt;
  	FSType tmpfs&lt;br /&gt;
  	FSType fusectl&lt;br /&gt;
  	FSType cgroup&lt;br /&gt;
  	IgnoreSelected true&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin disk&amp;gt;&lt;br /&gt;
  	Disk &amp;quot;/[sv]d[a-z]/&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;Include &amp;quot;/etc/collectd/collectd.conf.d&amp;quot;&amp;gt;&lt;br /&gt;
  	Filter &amp;quot;*.conf&amp;quot;&lt;br /&gt;
  &amp;lt;/Include&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin network&amp;gt;&lt;br /&gt;
    Server &amp;quot;185.94.112.74&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Teams==&lt;br /&gt;
&lt;br /&gt;
===Headquarters===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.160/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.10&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.1.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - (Mohanad)&lt;br /&gt;
* BIND9 as public DNS server, also figure out what domain name we should/can use (Arti)&lt;br /&gt;
* domain controller, at this point primarily for user accounts (Keijo)&lt;br /&gt;
* nginx web server, for company&#039;s homepage (Etienne)&lt;br /&gt;
* SMB/CIFS fileserver, join to domain (Etienne)&lt;br /&gt;
* VPN server for other subnets, presumably OpenVPN (Mohanad Aly)&lt;br /&gt;
&lt;br /&gt;
===Research &amp;amp; development===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.161/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.11&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.2.1/24&lt;br /&gt;
&lt;br /&gt;
Team members: Marvin, Madis, Taavi, Berit, Joosep&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Marvin&lt;br /&gt;
* [https://gogs.io/docs Git hosting], for sharing scripts, set up LDAP to authenticate with domain controller (Madis)&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Installation_MediaWiki Wiki], for exchanging information,  [https://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Kerberos_Configuration_Examples set up LDAP to authenticate with domain controller and later possibly configure web server to authenticate with Kerberos] (Taavi)&lt;br /&gt;
* Windows XP workstation, join to domain&lt;br /&gt;
* Ubuntu 16.04 MATE workstation, [https://raw.githubusercontent.com/laurivosandi/puppet-butterknife/master/files/etc/butterknife/helpers/join-domain join to domain].&lt;br /&gt;
* [http://lauri.vosandi.com/2016/09/xenial-ltsp-ja-id-kaart.html LTSP server] (Joosep)&lt;br /&gt;
* OpenVPN connection to headquarters, use shared secret at first, later X509 certificates&lt;br /&gt;
* [https://github.com/bpoldoja/pastebin Pastebin], possibly later implement [https://github.com/laurivosandi/certidude/blob/master/certidude/auth.py#L37 Kerberos support] (Berit)&lt;br /&gt;
====Examples====&lt;br /&gt;
Port forwarding example, we have 2 linux virtual machines, one forwarding to host local ip.&lt;br /&gt;
[[File:vpn-portForwarding.png|900px|]]&lt;br /&gt;
&lt;br /&gt;
Network interface example file:&lt;br /&gt;
&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface (port 0)&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet manual&lt;br /&gt;
    bridge_ports enp6s4f0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface (port 3)&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.2.1&lt;br /&gt;
    gateway 172.16.2.254&lt;br /&gt;
    dns-nameserver 172.16.2.254&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports enp0s8&lt;br /&gt;
  &lt;br /&gt;
  # Management interface (port 1)&lt;br /&gt;
  auto enp6s4f1&lt;br /&gt;
  iface enp6s4f1 inet static&lt;br /&gt;
    address 192.168.12.11&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Openwrt interface file working example /etc/config/network:&lt;br /&gt;
&lt;br /&gt;
  config interface &#039;lan&#039;&lt;br /&gt;
        option ifname &#039;eth0&#039;&lt;br /&gt;
        option type &#039;bridge&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option ip6assign &#039;60&#039;&lt;br /&gt;
        option ipaddr &#039;172.16.2.254&#039;&lt;br /&gt;
  &lt;br /&gt;
  config interface &#039;wan&#039;&lt;br /&gt;
        option ifname &#039;eth1&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option ipaddr &#039;193.40.194.161&#039;&lt;br /&gt;
        option gateway &#039;193.40.194.220&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option dns &#039;192.40.0.12 193.40.56.245&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create poor man&#039;s vpn. Install on your computer&lt;br /&gt;
  apt install sshuttle&lt;br /&gt;
&lt;br /&gt;
and connection.&lt;br /&gt;
  sshuttle --dns -HNvr username@server:port&lt;br /&gt;
no you should be able to connect local network computers and services.&lt;br /&gt;
&#039;&#039;&#039;NB! ping is not working with sshuttle&#039;&#039;&#039;&lt;br /&gt;
you can read more here http://teohm.com/blog/using-sshuttle-in-daily-work/&lt;br /&gt;
&lt;br /&gt;
====TODO====&lt;br /&gt;
&lt;br /&gt;
===Devops===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.162/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.12&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.3.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Artur O&lt;br /&gt;
* IRC, for chatting (Meelis Hass)&lt;br /&gt;
* [https://github.com/ether/etherpad-lite Etherpad] for collaborating (Sheela)&lt;br /&gt;
* [https://github.com/laurivosandi/certidude#usecases Certificate management] for roadwarriors, usecase number #1 (Artur O)&lt;br /&gt;
* Monitoring software of your choice to make sure that services are up and running, possibly use LDAP for authentication (Artur O)&lt;br /&gt;
* E-mail for sending notifications from monitoring software at first (Ilja), this needs MX records in DNS (Ilja, Mohanad helps)&lt;br /&gt;
* Later, in the beginning just monitor public services: OpenVPN connection to headquarters&lt;br /&gt;
&lt;br /&gt;
===Pentest===&lt;br /&gt;
&lt;br /&gt;
Find security issues in the deployed services, attempt to plant backdoors, malware etc.&lt;br /&gt;
&lt;br /&gt;
Team members: Kustas, Ender&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Point-to-point tunnels between routers==&lt;br /&gt;
&lt;br /&gt;
Since routers are the default route for all the internal machines the easiest way to set up routing between internal networks is to set up OpenVPN instances on each router.&lt;br /&gt;
&lt;br /&gt;
In router install OpenVPN module for OpenWrt:&lt;br /&gt;
&lt;br /&gt;
  opkg update&lt;br /&gt;
  opkg install luci-app-openvpn openvpn-openssl&lt;br /&gt;
&lt;br /&gt;
In the OpenWrt web interface there should pop up Services section with OpenVPN underneath it.&lt;br /&gt;
&lt;br /&gt;
The topology for routers:&lt;br /&gt;
&lt;br /&gt;
[[File:Point-to-point.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each tunnel configure on one end &amp;quot;Simple server configuration for a routed point-to-point VPN&amp;quot; and on the other end &amp;quot;Simple client configuration for a routed point-to-point VPN&amp;quot; the configuration for connection on hq could look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Openwrt-openvpn-config.png]]&lt;br /&gt;
&lt;br /&gt;
To upload secret select secret under --Additional fields-- and hit add. To generate secret use following command on your laptop:&lt;br /&gt;
&lt;br /&gt;
  openvpn --genkey --secret static.key&lt;br /&gt;
&lt;br /&gt;
Under Switch to advanced configuration --&amp;gt; Networking add route field for each subnet you want to make accessible via that tunnel. For each tunnel a new interface pops up under Interfaces section. Assign firewall rules as appropriate. To test I guess you can just insert the interface into LAN zone.&lt;br /&gt;
&lt;br /&gt;
==Generating certificates==&lt;br /&gt;
&lt;br /&gt;
To generate key:&lt;br /&gt;
&lt;br /&gt;
  openssl genrsa -out lauri-c720p.key 4096&lt;br /&gt;
&lt;br /&gt;
To generate signing request:&lt;br /&gt;
&lt;br /&gt;
  openssl req -new -key lauri-c720p.key -out lauri-c720p.csr&lt;br /&gt;
&lt;br /&gt;
To sign the request:&lt;br /&gt;
&lt;br /&gt;
  openssl ca -config ca.cnf -in lauri-c720p.csr -extensions client_cert -out lauri-c720p.crt&lt;br /&gt;
&lt;br /&gt;
To dump certificate contents in human-readable format:&lt;br /&gt;
&lt;br /&gt;
  openssl x509 -in lauri-c720p.crt -noout -text&lt;br /&gt;
&lt;br /&gt;
To test web server&#039;s TLS configuration:&lt;br /&gt;
&lt;br /&gt;
  openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
To make a HTTP request as well:&lt;br /&gt;
&lt;br /&gt;
  (echo -en &amp;quot;GET / HTTP/1.0\n\n&amp;quot;; sleep 1) | openssl s_client -connect www.koodur.com:443&lt;br /&gt;
&lt;br /&gt;
See here for more about Estonian ID-card certificates: https://www.sk.ee/en/repository/ldap/ldap-kataloogi-kasutamine/&lt;br /&gt;
&lt;br /&gt;
==Remote logging==&lt;br /&gt;
&lt;br /&gt;
In order to send logs to Graylog server, put those lines into new file: /etc/rsyslog.d/client.conf&lt;br /&gt;
&lt;br /&gt;
  $ActionQueueType LinkedList&lt;br /&gt;
  $ActionQueueFileName srvrfwd&lt;br /&gt;
  $ActionResumeRetryCount -1&lt;br /&gt;
  $ActionQueueSaveOnShutdown on&lt;br /&gt;
  *.* @@172.16.3.228:1514&lt;br /&gt;
&lt;br /&gt;
and then restart the service:&lt;br /&gt;
&lt;br /&gt;
  sudo service rsyslog restart&lt;br /&gt;
&lt;br /&gt;
==Internal DNS==&lt;br /&gt;
&lt;br /&gt;
* http://intranet.office - 172.16.x.x intranet website&lt;br /&gt;
* http://wiki.office - 172.16.x.x internal wiki&lt;br /&gt;
* http://git.office - 172.16.x.x source code hosting&lt;br /&gt;
* http://paste.office - 172.16.x.x code snippets&lt;br /&gt;
* http://chat.office - 172.16.3.149 IRC server&lt;br /&gt;
* http://pad.office - 172.16.3.247 etherpad&lt;br /&gt;
* http://ca.office - 172.16.x.x certificate authority web endpoint&lt;br /&gt;
* http://mail.office - 172.16.3.235 webmail&lt;br /&gt;
&lt;br /&gt;
=Boring stuff=&lt;br /&gt;
&lt;br /&gt;
==Report template==&lt;br /&gt;
&lt;br /&gt;
Send report as a plaintext e-mail to Lauri, in the title include: Report #number - your name - your team&lt;br /&gt;
&lt;br /&gt;
In the content make sure you specify the timespan you&#039;re talking about (September of 2016, first half of October 2016 etc)&lt;br /&gt;
&lt;br /&gt;
The content, no need for formal speech:&lt;br /&gt;
&lt;br /&gt;
* What have been done so far by the team (eg. server hardware setup, virtual machine setup, service setup)&lt;br /&gt;
* What was your role for this timespan, note that we will shuffle the teams now and then&lt;br /&gt;
* What was your contribution, or in other words what did you do during this timespan&lt;br /&gt;
* What (security) incidents happened - red team found messing around with the servers, passwords changed, backdoor found etc.&lt;br /&gt;
&lt;br /&gt;
==September wrapup &amp;amp; iptables lecture==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1mt0g_BN-l_Jz6HQ1D52WJIdMjPtkTt95CPYFejjiikE/ Lecture slides] [https://echo360.e-ope.ee/ess/portal/section/0fa18d0e-f1b2-44b7-878b-5e4c66e6040e video recording]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114275</id>
		<title>Monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114275"/>
		<updated>2016-11-08T23:23:55Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team: &lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Artur Ovtsinnikov&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 23 October 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎09 November 2016&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This article introduces the Monitoring application called &#039;&#039;&#039;Nagios&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Monitoring===&lt;br /&gt;
Monitoring is the process of keep tracking of system resources.&lt;br /&gt;
&lt;br /&gt;
Monitoring is the process of observing and checking the progress or quality of something over a period of time; keep under systematic review.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/System_monitor]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Monitoring cannot be achieved without logging. That is the reason integrated solutions combine the two processes.&lt;br /&gt;
Monitoring is used to:&lt;br /&gt;
*check performance&lt;br /&gt;
*detect if something worth noticing happened&lt;br /&gt;
*prevent something to happen&lt;br /&gt;
*detect whether a system is under attack&lt;br /&gt;
&lt;br /&gt;
===The good solution: Nagios===&lt;br /&gt;
As of today, [https://www.nagios.org/] is the most popular open-source solution for monitoring computer systems before &lt;br /&gt;
&lt;br /&gt;
Monitoring is made of three components:&lt;br /&gt;
*Apache &lt;br /&gt;
*PHP&lt;br /&gt;
*MySQL&lt;br /&gt;
&lt;br /&gt;
The main advantages of Nagios are:&lt;br /&gt;
*Open-source&lt;br /&gt;
*Customized Dashboards&lt;br /&gt;
*Ease of Use&lt;br /&gt;
*Infinite Scalability&lt;br /&gt;
*Data in Real Time&lt;br /&gt;
*Network Security&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why monitor our servers==&lt;br /&gt;
There are many reasons why a system administrator would want to monitor its server(s).&lt;br /&gt;
*Prevent undesired events to happen&lt;br /&gt;
Without monitoring, a system administrator will react to a problem only when it has already occurred. Such issue can in the worst case cause a failure of the [http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA CIA triad]. It is of course wiser to anticipate such issues and solve the problem before they arise.&lt;br /&gt;
The monitoring system sends alerts that help to identify potential sources of futures failures to avoid.&lt;br /&gt;
&lt;br /&gt;
*Understand what happened in case of failure&lt;br /&gt;
In the event of a system failure, the monitoring system will give crucial information to determine where, when and how the problems occurred. &lt;br /&gt;
This information makes the debugging process to be much faster and easier.&lt;br /&gt;
&lt;br /&gt;
In the end, monitoring a system can be seen as an insurance policy. It costs money and time, but the money and time it saves is worth it.&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-06 12-02-47.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine IP address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS IP address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
Check for current version&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
&lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Setup of Nagios=&lt;br /&gt;
&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, Ubuntu 16.04 64-bit distribution will be used since it is the latest LTS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Nagios cannot be installed simply by using one command, because there are some prerequisite applications needed for it to work.&lt;br /&gt;
&lt;br /&gt;
This tutorial describes the commands and configuration to make the services work together Nagios.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&lt;br /&gt;
*It is important to have the latest package lists to update them to get info on the newest versions of packages and their dependencies. So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
Command &lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing the prerequisites ===&lt;br /&gt;
&lt;br /&gt;
*Nagios requires the gcc compiler and build-essentials for the compilation, LAMP (Apache, PHP, MySQL) for the Nagios web interface and Send mail to send alerts from the server. To install all those packages, run this command (it&#039;s just 1 line):&lt;br /&gt;
Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User and group configuration ===&lt;br /&gt;
&lt;br /&gt;
*For Nagios to run, you have to create a new user for Nagios. We will name the user &amp;quot;nagios&amp;quot; and additionally create a group named &amp;quot;nagcmd&amp;quot;. We add the new user to the group as shown below:&lt;br /&gt;
[[File:Nagios2.png|thumb|right|Nagios add user and group]]&lt;br /&gt;
&lt;br /&gt;
3- Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; groupadd nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagcmd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagios,nagcmd www-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Nagios == &lt;br /&gt;
&lt;br /&gt;
*Step 1 - Download and extract the Nagios core&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-4.2.0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Compile Nagios&lt;br /&gt;
&lt;br /&gt;
Before you build Nagios, you will have to configure it with the user and the group you have created earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-group=nagios --with-command-group=nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information please use: ./configure --help .&lt;br /&gt;
&lt;br /&gt;
*Now to install Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make all &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-commandmode &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-init &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-config &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*And copy evenhandler directory to the nagios directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Install the Nagios Plugins&lt;br /&gt;
&lt;br /&gt;
Download and extract the Nagios plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios-plugins*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-plugins-2.1.2/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Install the Nagios plugin&#039;s with the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Configure Nagios&lt;br /&gt;
&lt;br /&gt;
After the installation phase is complete, you can find the default configuration of Nagios in /usr/local/nagios/.&lt;br /&gt;
We will configure Nagios and Nagios contact.&lt;br /&gt;
Edit default nagios configuration with nano:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uncomment line 51 for the host monitor configuration.&lt;br /&gt;
*cfg_dir=/usr/local/nagios/etc/servers&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios3.png|thumb|right|Nagios Email]]&lt;br /&gt;
&lt;br /&gt;
Save and exit.&lt;br /&gt;
Add a new folder named servers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mkdir -p /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the user and group for the new folder to nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown nagios:nagios /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios contact can be configured in the contact.cfg file. To open it use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/objects/contacts.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then replace the default email with your own email.&lt;br /&gt;
&lt;br /&gt;
== Configuring Apache ==&lt;br /&gt;
&lt;br /&gt;
*Step 1 - enable Apache modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod rewrite &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod cgi &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the htpasswd command to configure a user nagiosadmin for the nagios web interface&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and type your password.&lt;br /&gt;
&lt;br /&gt;
*Step 2 - enable the Nagios virtualhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Start Apache and Nagios&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
Start the nagios (if not working look down, there is solution)&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When Nagios starts, you may see the following error :&lt;br /&gt;
&lt;br /&gt;
*Starting nagios (via systemctl): nagios.serviceFailed&lt;br /&gt;
&lt;br /&gt;
And this is how to fix it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd /etc/init.d/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp /etc/init.d/skeleton /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now edit the Nagios file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DESC=&amp;quot;Nagios&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; NAME=nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON=/usr/local/nagios/bin/$NAME &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON_ARGS=&amp;quot;-d /usr/local/nagios/etc/nagios.cfg&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PIDFILE=/usr/local/nagios/var/$NAME.lock &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make it executable and start Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chmod +x /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*If on this step you are unable to start nagios (nagios.service not found) do the following:&lt;br /&gt;
&lt;br /&gt;
First we are going to create/change the nagios.service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/systemd/system/nagios.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this file should be the same as the following: &lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Nagios&lt;br /&gt;
 BindTo=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 User=nagios&lt;br /&gt;
 Group=nagios&lt;br /&gt;
 Type=simple&lt;br /&gt;
 ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg&lt;br /&gt;
&lt;br /&gt;
Then we need to enable created nagios.service config :&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl enable /etc/systemd/system/nagios.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it should work:&lt;br /&gt;
&amp;lt;code&amp;gt;service nagios start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing the Nagios Server ===&lt;br /&gt;
&lt;br /&gt;
Please open your browser and access the Nagios server ip, in my case: http://192.168.56.200/nagios.&lt;br /&gt;
&lt;br /&gt;
Nagios Login with apache htpasswd.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Login.png|thumb|center|Nagios Login]]&lt;br /&gt;
&lt;br /&gt;
Nagios Admin Dashboard&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Admin Dashboard.png|thumb|center|Nagios Admin Dashboard]]&lt;br /&gt;
&lt;br /&gt;
*Adding a Host to Monitor&lt;br /&gt;
&lt;br /&gt;
In this tutorial, I will add an Ubuntu host to monitor to the Nagios server we have made above.&lt;br /&gt;
&lt;br /&gt;
Nagios Server IP : 192.168.56.200&lt;br /&gt;
Ubuntu Host IP : 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
*Step 1 - Connect to ubuntu host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.100 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Install NRPE Service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install nagios-nrpe-server nagios-plugins &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Configure NRPE&lt;br /&gt;
&lt;br /&gt;
After the installation is complete, edit the nrpe file /etc/nagios/nrpe.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/nagios/nrpe.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add Nagios Server IP 192.168.56.100 to the server_address.&lt;br /&gt;
&lt;br /&gt;
server_address=192.168.56.200&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Restart NRPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 5 - Add Ubuntu Host to Nagios Server&lt;br /&gt;
&lt;br /&gt;
Connect back to the Nagios server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.200 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create a new file for the host configuration in /usr/local/nagios/etc/servers/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/servers/ubuntu_host.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following lines:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #Ubuntu Host configuration file&lt;br /&gt;
define host {&lt;br /&gt;
        use                          linux-server&lt;br /&gt;
        host_name                    ubuntu_host&lt;br /&gt;
        alias                        Ubuntu Host&lt;br /&gt;
        address                      192.168.56&lt;br /&gt;
        register                     1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             PING&lt;br /&gt;
      check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check Users&lt;br /&gt;
      check_command           check_local_users!20!50&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Local Disk&lt;br /&gt;
      check_command                   check_local_disk!20%!10%!/&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check SSH&lt;br /&gt;
      check_command                   check_ssh&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Total Process&lt;br /&gt;
      check_command                   check_local_procs!250!400!RSZDT&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find many check_command in /usr/local/nagios/etc/objects/commands.cfg file. See there if you want to add more services like DHCP, POP etc.&lt;br /&gt;
&lt;br /&gt;
And now check the configuration:&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Nagios check.png|thumb|center|Nagios check]]&lt;br /&gt;
&lt;br /&gt;
To see if the configuration is correct.&lt;br /&gt;
&lt;br /&gt;
*Step 6 - Restart all services&lt;br /&gt;
&lt;br /&gt;
On the Ubuntu Host start NRPE Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios server, start Apache and Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 7 - Testing the Ubuntu Host&lt;br /&gt;
&lt;br /&gt;
Open the Nagios server from the browser and see the ubuntu_host being monitored.&lt;br /&gt;
The Ubuntu host is available on monitored host.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server2.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
All services monitored without error.&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
Nagios is an open source application for monitoring a system. Nagios has been widely used because of the ease of configuration. Nagios in support by various plugins, and you can even create your own plugins. Look here for more information.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
Nagios agent setup&lt;br /&gt;
&lt;br /&gt;
1-[http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/ Agent setup]&lt;br /&gt;
&lt;br /&gt;
2-[https://assets.nagios.com/downloads/nagiosxi/docs/Installing_The_XI_Linux_Agent.pdf Linux Agent]&lt;br /&gt;
&lt;br /&gt;
3-[https://exchange.nagios.org/directory/Documentation/Nagios-XI-Documentation/Installing-The-Nagios-Ubuntu-and-Debian-Linux-Agent/details Ubuntu-and-Debian-Linux-Agent]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
1- [https://en.wikipedia.org/wiki/System_monitoring System monitoring]&lt;br /&gt;
&lt;br /&gt;
2- [https://www.howtoforge.com/tutorial/ubuntu-nagios/ Nagios tutorial]&lt;br /&gt;
&lt;br /&gt;
3- [https://www.nagios.com/products/nagios-log-server/ Nagios Log Server]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114274</id>
		<title>Monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114274"/>
		<updated>2016-11-08T23:23:01Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Testing the Nagios Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team: &lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Artur Ovtsinnikov&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 23 October 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎30 October 2016&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This article introduces the Monitoring application called &#039;&#039;&#039;Nagios&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Monitoring===&lt;br /&gt;
Monitoring is the process of keep tracking of system resources.&lt;br /&gt;
&lt;br /&gt;
Monitoring is the process of observing and checking the progress or quality of something over a period of time; keep under systematic review.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/System_monitor]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Monitoring cannot be achieved without logging. That is the reason integrated solutions combine the two processes.&lt;br /&gt;
Monitoring is used to:&lt;br /&gt;
*check performance&lt;br /&gt;
*detect if something worth noticing happened&lt;br /&gt;
*prevent something to happen&lt;br /&gt;
*detect whether a system is under attack&lt;br /&gt;
&lt;br /&gt;
===The good solution: Nagios===&lt;br /&gt;
As of today, [https://www.nagios.org/] is the most popular open-source solution for monitoring computer systems before &lt;br /&gt;
&lt;br /&gt;
Monitoring is made of three components:&lt;br /&gt;
*Apache &lt;br /&gt;
*PHP&lt;br /&gt;
*MySQL&lt;br /&gt;
&lt;br /&gt;
The main advantages of Nagios are:&lt;br /&gt;
*Open-source&lt;br /&gt;
*Customized Dashboards&lt;br /&gt;
*Ease of Use&lt;br /&gt;
*Infinite Scalability&lt;br /&gt;
*Data in Real Time&lt;br /&gt;
*Network Security&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why monitor our servers==&lt;br /&gt;
There are many reasons why a system administrator would want to monitor its server(s).&lt;br /&gt;
*Prevent undesired events to happen&lt;br /&gt;
Without monitoring, a system administrator will react to a problem only when it has already occurred. Such issue can in the worst case cause a failure of the [http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA CIA triad]. It is of course wiser to anticipate such issues and solve the problem before they arise.&lt;br /&gt;
The monitoring system sends alerts that help to identify potential sources of futures failures to avoid.&lt;br /&gt;
&lt;br /&gt;
*Understand what happened in case of failure&lt;br /&gt;
In the event of a system failure, the monitoring system will give crucial information to determine where, when and how the problems occurred. &lt;br /&gt;
This information makes the debugging process to be much faster and easier.&lt;br /&gt;
&lt;br /&gt;
In the end, monitoring a system can be seen as an insurance policy. It costs money and time, but the money and time it saves is worth it.&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-06 12-02-47.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine IP address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS IP address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
Check for current version&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
&lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Setup of Nagios=&lt;br /&gt;
&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, Ubuntu 16.04 64-bit distribution will be used since it is the latest LTS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Nagios cannot be installed simply by using one command, because there are some prerequisite applications needed for it to work.&lt;br /&gt;
&lt;br /&gt;
This tutorial describes the commands and configuration to make the services work together Nagios.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&lt;br /&gt;
*It is important to have the latest package lists to update them to get info on the newest versions of packages and their dependencies. So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
Command &lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing the prerequisites ===&lt;br /&gt;
&lt;br /&gt;
*Nagios requires the gcc compiler and build-essentials for the compilation, LAMP (Apache, PHP, MySQL) for the Nagios web interface and Send mail to send alerts from the server. To install all those packages, run this command (it&#039;s just 1 line):&lt;br /&gt;
Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User and group configuration ===&lt;br /&gt;
&lt;br /&gt;
*For Nagios to run, you have to create a new user for Nagios. We will name the user &amp;quot;nagios&amp;quot; and additionally create a group named &amp;quot;nagcmd&amp;quot;. We add the new user to the group as shown below:&lt;br /&gt;
[[File:Nagios2.png|thumb|right|Nagios add user and group]]&lt;br /&gt;
&lt;br /&gt;
3- Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; groupadd nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagcmd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagios,nagcmd www-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Nagios == &lt;br /&gt;
&lt;br /&gt;
*Step 1 - Download and extract the Nagios core&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-4.2.0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Compile Nagios&lt;br /&gt;
&lt;br /&gt;
Before you build Nagios, you will have to configure it with the user and the group you have created earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-group=nagios --with-command-group=nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information please use: ./configure --help .&lt;br /&gt;
&lt;br /&gt;
*Now to install Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make all &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-commandmode &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-init &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-config &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*And copy evenhandler directory to the nagios directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Install the Nagios Plugins&lt;br /&gt;
&lt;br /&gt;
Download and extract the Nagios plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios-plugins*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-plugins-2.1.2/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Install the Nagios plugin&#039;s with the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Configure Nagios&lt;br /&gt;
&lt;br /&gt;
After the installation phase is complete, you can find the default configuration of Nagios in /usr/local/nagios/.&lt;br /&gt;
We will configure Nagios and Nagios contact.&lt;br /&gt;
Edit default nagios configuration with nano:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uncomment line 51 for the host monitor configuration.&lt;br /&gt;
*cfg_dir=/usr/local/nagios/etc/servers&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios3.png|thumb|right|Nagios Email]]&lt;br /&gt;
&lt;br /&gt;
Save and exit.&lt;br /&gt;
Add a new folder named servers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mkdir -p /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the user and group for the new folder to nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown nagios:nagios /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios contact can be configured in the contact.cfg file. To open it use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/objects/contacts.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then replace the default email with your own email.&lt;br /&gt;
&lt;br /&gt;
== Configuring Apache ==&lt;br /&gt;
&lt;br /&gt;
*Step 1 - enable Apache modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod rewrite &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod cgi &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the htpasswd command to configure a user nagiosadmin for the nagios web interface&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and type your password.&lt;br /&gt;
&lt;br /&gt;
*Step 2 - enable the Nagios virtualhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Start Apache and Nagios&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
Start the nagios (if not working look down, there is solution)&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When Nagios starts, you may see the following error :&lt;br /&gt;
&lt;br /&gt;
*Starting nagios (via systemctl): nagios.serviceFailed&lt;br /&gt;
&lt;br /&gt;
And this is how to fix it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd /etc/init.d/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp /etc/init.d/skeleton /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now edit the Nagios file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DESC=&amp;quot;Nagios&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; NAME=nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON=/usr/local/nagios/bin/$NAME &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON_ARGS=&amp;quot;-d /usr/local/nagios/etc/nagios.cfg&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PIDFILE=/usr/local/nagios/var/$NAME.lock &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make it executable and start Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chmod +x /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*If on this step you are unable to start nagios (nagios.service not found) do the following:&lt;br /&gt;
&lt;br /&gt;
First we are going to create/change the nagios.service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/systemd/system/nagios.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this file should be the same as the following: &lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Nagios&lt;br /&gt;
 BindTo=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 User=nagios&lt;br /&gt;
 Group=nagios&lt;br /&gt;
 Type=simple&lt;br /&gt;
 ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg&lt;br /&gt;
&lt;br /&gt;
Then we need to enable created nagios.service config :&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl enable /etc/systemd/system/nagios.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it should work:&lt;br /&gt;
&amp;lt;code&amp;gt;service nagios start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing the Nagios Server ===&lt;br /&gt;
&lt;br /&gt;
Please open your browser and access the Nagios server ip, in my case: http://192.168.56.200/nagios.&lt;br /&gt;
&lt;br /&gt;
Nagios Login with apache htpasswd.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Login.png|thumb|center|Nagios Login]]&lt;br /&gt;
&lt;br /&gt;
Nagios Admin Dashboard&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Admin Dashboard.png|thumb|center|Nagios Admin Dashboard]]&lt;br /&gt;
&lt;br /&gt;
*Adding a Host to Monitor&lt;br /&gt;
&lt;br /&gt;
In this tutorial, I will add an Ubuntu host to monitor to the Nagios server we have made above.&lt;br /&gt;
&lt;br /&gt;
Nagios Server IP : 192.168.56.200&lt;br /&gt;
Ubuntu Host IP : 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
*Step 1 - Connect to ubuntu host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.100 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Install NRPE Service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install nagios-nrpe-server nagios-plugins &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Configure NRPE&lt;br /&gt;
&lt;br /&gt;
After the installation is complete, edit the nrpe file /etc/nagios/nrpe.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/nagios/nrpe.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add Nagios Server IP 192.168.56.100 to the server_address.&lt;br /&gt;
&lt;br /&gt;
server_address=192.168.56.200&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Restart NRPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 5 - Add Ubuntu Host to Nagios Server&lt;br /&gt;
&lt;br /&gt;
Connect back to the Nagios server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.200 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create a new file for the host configuration in /usr/local/nagios/etc/servers/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/servers/ubuntu_host.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following lines:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #Ubuntu Host configuration file&lt;br /&gt;
define host {&lt;br /&gt;
        use                          linux-server&lt;br /&gt;
        host_name                    ubuntu_host&lt;br /&gt;
        alias                        Ubuntu Host&lt;br /&gt;
        address                      192.168.56&lt;br /&gt;
        register                     1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             PING&lt;br /&gt;
      check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check Users&lt;br /&gt;
      check_command           check_local_users!20!50&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Local Disk&lt;br /&gt;
      check_command                   check_local_disk!20%!10%!/&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check SSH&lt;br /&gt;
      check_command                   check_ssh&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Total Process&lt;br /&gt;
      check_command                   check_local_procs!250!400!RSZDT&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find many check_command in /usr/local/nagios/etc/objects/commands.cfg file. See there if you want to add more services like DHCP, POP etc.&lt;br /&gt;
&lt;br /&gt;
And now check the configuration:&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Nagios check.png|thumb|center|Nagios check]]&lt;br /&gt;
&lt;br /&gt;
To see if the configuration is correct.&lt;br /&gt;
&lt;br /&gt;
*Step 6 - Restart all services&lt;br /&gt;
&lt;br /&gt;
On the Ubuntu Host start NRPE Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios server, start Apache and Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 7 - Testing the Ubuntu Host&lt;br /&gt;
&lt;br /&gt;
Open the Nagios server from the browser and see the ubuntu_host being monitored.&lt;br /&gt;
The Ubuntu host is available on monitored host.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server2.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
All services monitored without error.&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
Nagios is an open source application for monitoring a system. Nagios has been widely used because of the ease of configuration. Nagios in support by various plugins, and you can even create your own plugins. Look here for more information.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
Nagios agent setup&lt;br /&gt;
&lt;br /&gt;
1-[http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/ Agent setup]&lt;br /&gt;
&lt;br /&gt;
2-[https://assets.nagios.com/downloads/nagiosxi/docs/Installing_The_XI_Linux_Agent.pdf Linux Agent]&lt;br /&gt;
&lt;br /&gt;
3-[https://exchange.nagios.org/directory/Documentation/Nagios-XI-Documentation/Installing-The-Nagios-Ubuntu-and-Debian-Linux-Agent/details Ubuntu-and-Debian-Linux-Agent]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
1- [https://en.wikipedia.org/wiki/System_monitoring System monitoring]&lt;br /&gt;
&lt;br /&gt;
2- [https://www.howtoforge.com/tutorial/ubuntu-nagios/ Nagios tutorial]&lt;br /&gt;
&lt;br /&gt;
3- [https://www.nagios.com/products/nagios-log-server/ Nagios Log Server]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114273</id>
		<title>Monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114273"/>
		<updated>2016-11-08T22:28:42Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Configuring Apache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team: &lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Artur Ovtsinnikov&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 23 October 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎30 October 2016&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This article introduces the Monitoring application called &#039;&#039;&#039;Nagios&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Monitoring===&lt;br /&gt;
Monitoring is the process of keep tracking of system resources.&lt;br /&gt;
&lt;br /&gt;
Monitoring is the process of observing and checking the progress or quality of something over a period of time; keep under systematic review.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/System_monitor]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Monitoring cannot be achieved without logging. That is the reason integrated solutions combine the two processes.&lt;br /&gt;
Monitoring is used to:&lt;br /&gt;
*check performance&lt;br /&gt;
*detect if something worth noticing happened&lt;br /&gt;
*prevent something to happen&lt;br /&gt;
*detect whether a system is under attack&lt;br /&gt;
&lt;br /&gt;
===The good solution: Nagios===&lt;br /&gt;
As of today, [https://www.nagios.org/] is the most popular open-source solution for monitoring computer systems before &lt;br /&gt;
&lt;br /&gt;
Monitoring is made of three components:&lt;br /&gt;
*Apache &lt;br /&gt;
*PHP&lt;br /&gt;
*MySQL&lt;br /&gt;
&lt;br /&gt;
The main advantages of Nagios are:&lt;br /&gt;
*Open-source&lt;br /&gt;
*Customized Dashboards&lt;br /&gt;
*Ease of Use&lt;br /&gt;
*Infinite Scalability&lt;br /&gt;
*Data in Real Time&lt;br /&gt;
*Network Security&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why monitor our servers==&lt;br /&gt;
There are many reasons why a system administrator would want to monitor its server(s).&lt;br /&gt;
*Prevent undesired events to happen&lt;br /&gt;
Without monitoring, a system administrator will react to a problem only when it has already occurred. Such issue can in the worst case cause a failure of the [http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA CIA triad]. It is of course wiser to anticipate such issues and solve the problem before they arise.&lt;br /&gt;
The monitoring system sends alerts that help to identify potential sources of futures failures to avoid.&lt;br /&gt;
&lt;br /&gt;
*Understand what happened in case of failure&lt;br /&gt;
In the event of a system failure, the monitoring system will give crucial information to determine where, when and how the problems occurred. &lt;br /&gt;
This information makes the debugging process to be much faster and easier.&lt;br /&gt;
&lt;br /&gt;
In the end, monitoring a system can be seen as an insurance policy. It costs money and time, but the money and time it saves is worth it.&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-06 12-02-47.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine IP address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS IP address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
Check for current version&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
&lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Setup of Nagios=&lt;br /&gt;
&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, Ubuntu 16.04 64-bit distribution will be used since it is the latest LTS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Nagios cannot be installed simply by using one command, because there are some prerequisite applications needed for it to work.&lt;br /&gt;
&lt;br /&gt;
This tutorial describes the commands and configuration to make the services work together Nagios.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&lt;br /&gt;
*It is important to have the latest package lists to update them to get info on the newest versions of packages and their dependencies. So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
Command &lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing the prerequisites ===&lt;br /&gt;
&lt;br /&gt;
*Nagios requires the gcc compiler and build-essentials for the compilation, LAMP (Apache, PHP, MySQL) for the Nagios web interface and Send mail to send alerts from the server. To install all those packages, run this command (it&#039;s just 1 line):&lt;br /&gt;
Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User and group configuration ===&lt;br /&gt;
&lt;br /&gt;
*For Nagios to run, you have to create a new user for Nagios. We will name the user &amp;quot;nagios&amp;quot; and additionally create a group named &amp;quot;nagcmd&amp;quot;. We add the new user to the group as shown below:&lt;br /&gt;
[[File:Nagios2.png|thumb|right|Nagios add user and group]]&lt;br /&gt;
&lt;br /&gt;
3- Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; groupadd nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagcmd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagios,nagcmd www-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Nagios == &lt;br /&gt;
&lt;br /&gt;
*Step 1 - Download and extract the Nagios core&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-4.2.0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Compile Nagios&lt;br /&gt;
&lt;br /&gt;
Before you build Nagios, you will have to configure it with the user and the group you have created earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-group=nagios --with-command-group=nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information please use: ./configure --help .&lt;br /&gt;
&lt;br /&gt;
*Now to install Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make all &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-commandmode &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-init &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-config &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*And copy evenhandler directory to the nagios directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Install the Nagios Plugins&lt;br /&gt;
&lt;br /&gt;
Download and extract the Nagios plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios-plugins*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-plugins-2.1.2/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Install the Nagios plugin&#039;s with the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Configure Nagios&lt;br /&gt;
&lt;br /&gt;
After the installation phase is complete, you can find the default configuration of Nagios in /usr/local/nagios/.&lt;br /&gt;
We will configure Nagios and Nagios contact.&lt;br /&gt;
Edit default nagios configuration with nano:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uncomment line 51 for the host monitor configuration.&lt;br /&gt;
*cfg_dir=/usr/local/nagios/etc/servers&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios3.png|thumb|right|Nagios Email]]&lt;br /&gt;
&lt;br /&gt;
Save and exit.&lt;br /&gt;
Add a new folder named servers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mkdir -p /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the user and group for the new folder to nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown nagios:nagios /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios contact can be configured in the contact.cfg file. To open it use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/objects/contacts.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then replace the default email with your own email.&lt;br /&gt;
&lt;br /&gt;
== Configuring Apache ==&lt;br /&gt;
&lt;br /&gt;
*Step 1 - enable Apache modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod rewrite &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod cgi &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the htpasswd command to configure a user nagiosadmin for the nagios web interface&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and type your password.&lt;br /&gt;
&lt;br /&gt;
*Step 2 - enable the Nagios virtualhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Start Apache and Nagios&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
Start the nagios (if not working look down, there is solution)&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When Nagios starts, you may see the following error :&lt;br /&gt;
&lt;br /&gt;
*Starting nagios (via systemctl): nagios.serviceFailed&lt;br /&gt;
&lt;br /&gt;
And this is how to fix it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd /etc/init.d/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp /etc/init.d/skeleton /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now edit the Nagios file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DESC=&amp;quot;Nagios&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; NAME=nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON=/usr/local/nagios/bin/$NAME &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON_ARGS=&amp;quot;-d /usr/local/nagios/etc/nagios.cfg&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PIDFILE=/usr/local/nagios/var/$NAME.lock &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make it executable and start Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chmod +x /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*If on this step you are unable to start nagios (nagios.service not found) do the following:&lt;br /&gt;
&lt;br /&gt;
First we are going to create/change the nagios.service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/systemd/system/nagios.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this file should be the same as the following: &lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Nagios&lt;br /&gt;
 BindTo=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 User=nagios&lt;br /&gt;
 Group=nagios&lt;br /&gt;
 Type=simple&lt;br /&gt;
 ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg&lt;br /&gt;
&lt;br /&gt;
Then we need to enable created nagios.service config :&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl enable /etc/systemd/system/nagios.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it should work:&lt;br /&gt;
&amp;lt;code&amp;gt;service nagios start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Testing the Nagios Server ===&lt;br /&gt;
&lt;br /&gt;
Please open your browser and access the Nagios server ip, in my case: http://192.168.1.9/nagios.&lt;br /&gt;
&lt;br /&gt;
Nagios Login with apache htpasswd.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Login.png|thumb|center|Nagios Login]]&lt;br /&gt;
&lt;br /&gt;
Nagios Admin Dashboard&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Admin Dashboard.png|thumb|center|Nagios Admin Dashboard]]&lt;br /&gt;
&lt;br /&gt;
*Adding a Host to Monitor&lt;br /&gt;
&lt;br /&gt;
In this tutorial, I will add an Ubuntu host to monitor to the Nagios server we have made above.&lt;br /&gt;
&lt;br /&gt;
Nagios Server IP : 192.168.1.9&lt;br /&gt;
Ubuntu Host IP : 192.168.1.10&lt;br /&gt;
&lt;br /&gt;
*Step 1 - Connect to ubuntu host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.100 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Install NRPE Service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install nagios-nrpe-server nagios-plugins &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Configure NRPE&lt;br /&gt;
&lt;br /&gt;
After the installation is complete, edit the nrpe file /etc/nagios/nrpe.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/nagios/nrpe.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add Nagios Server IP 192.168.1.9 to the server_address.&lt;br /&gt;
&lt;br /&gt;
server_address=192.168.56.200&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Restart NRPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 5 - Add Ubuntu Host to Nagios Server&lt;br /&gt;
&lt;br /&gt;
Connect back to the Nagios server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.200 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create a new file for the host configuration in /usr/local/nagios/etc/servers/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/servers/ubuntu_host.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following lines:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #Ubuntu Host configuration file&lt;br /&gt;
define host {&lt;br /&gt;
        use                          linux-server&lt;br /&gt;
        host_name                    ubuntu_host&lt;br /&gt;
        alias                        Ubuntu Host&lt;br /&gt;
        address                      192.168.1.10&lt;br /&gt;
        register                     1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             PING&lt;br /&gt;
      check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check Users&lt;br /&gt;
      check_command           check_local_users!20!50&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Local Disk&lt;br /&gt;
      check_command                   check_local_disk!20%!10%!/&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check SSH&lt;br /&gt;
      check_command                   check_ssh&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Total Process&lt;br /&gt;
      check_command                   check_local_procs!250!400!RSZDT&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find many check_command in /usr/local/nagios/etc/objects/commands.cfg file. See there if you want to add more services like DHCP, POP etc.&lt;br /&gt;
&lt;br /&gt;
And now check the configuration:&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Nagios check.png|thumb|center|Nagios check]]&lt;br /&gt;
&lt;br /&gt;
To see if the configuration is correct.&lt;br /&gt;
&lt;br /&gt;
*Step 6 - Restart all services&lt;br /&gt;
&lt;br /&gt;
On the Ubuntu Host start NRPE Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios server, start Apache and Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 7 - Testing the Ubuntu Host&lt;br /&gt;
&lt;br /&gt;
Open the Nagios server from the browser and see the ubuntu_host being monitored.&lt;br /&gt;
The Ubuntu host is available on monitored host.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server2.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
All services monitored without error.&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
Nagios is an open source application for monitoring a system. Nagios has been widely used because of the ease of configuration. Nagios in support by various plugins, and you can even create your own plugins. Look here for more information.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
Nagios agent setup&lt;br /&gt;
&lt;br /&gt;
1-[http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/ Agent setup]&lt;br /&gt;
&lt;br /&gt;
2-[https://assets.nagios.com/downloads/nagiosxi/docs/Installing_The_XI_Linux_Agent.pdf Linux Agent]&lt;br /&gt;
&lt;br /&gt;
3-[https://exchange.nagios.org/directory/Documentation/Nagios-XI-Documentation/Installing-The-Nagios-Ubuntu-and-Debian-Linux-Agent/details Ubuntu-and-Debian-Linux-Agent]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
1- [https://en.wikipedia.org/wiki/System_monitoring System monitoring]&lt;br /&gt;
&lt;br /&gt;
2- [https://www.howtoforge.com/tutorial/ubuntu-nagios/ Nagios tutorial]&lt;br /&gt;
&lt;br /&gt;
3- [https://www.nagios.com/products/nagios-log-server/ Nagios Log Server]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114272</id>
		<title>Monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114272"/>
		<updated>2016-11-08T22:26:08Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Configuring Apache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team: &lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Artur Ovtsinnikov&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 23 October 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎30 October 2016&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This article introduces the Monitoring application called &#039;&#039;&#039;Nagios&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Monitoring===&lt;br /&gt;
Monitoring is the process of keep tracking of system resources.&lt;br /&gt;
&lt;br /&gt;
Monitoring is the process of observing and checking the progress or quality of something over a period of time; keep under systematic review.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/System_monitor]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Monitoring cannot be achieved without logging. That is the reason integrated solutions combine the two processes.&lt;br /&gt;
Monitoring is used to:&lt;br /&gt;
*check performance&lt;br /&gt;
*detect if something worth noticing happened&lt;br /&gt;
*prevent something to happen&lt;br /&gt;
*detect whether a system is under attack&lt;br /&gt;
&lt;br /&gt;
===The good solution: Nagios===&lt;br /&gt;
As of today, [https://www.nagios.org/] is the most popular open-source solution for monitoring computer systems before &lt;br /&gt;
&lt;br /&gt;
Monitoring is made of three components:&lt;br /&gt;
*Apache &lt;br /&gt;
*PHP&lt;br /&gt;
*MySQL&lt;br /&gt;
&lt;br /&gt;
The main advantages of Nagios are:&lt;br /&gt;
*Open-source&lt;br /&gt;
*Customized Dashboards&lt;br /&gt;
*Ease of Use&lt;br /&gt;
*Infinite Scalability&lt;br /&gt;
*Data in Real Time&lt;br /&gt;
*Network Security&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why monitor our servers==&lt;br /&gt;
There are many reasons why a system administrator would want to monitor its server(s).&lt;br /&gt;
*Prevent undesired events to happen&lt;br /&gt;
Without monitoring, a system administrator will react to a problem only when it has already occurred. Such issue can in the worst case cause a failure of the [http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA CIA triad]. It is of course wiser to anticipate such issues and solve the problem before they arise.&lt;br /&gt;
The monitoring system sends alerts that help to identify potential sources of futures failures to avoid.&lt;br /&gt;
&lt;br /&gt;
*Understand what happened in case of failure&lt;br /&gt;
In the event of a system failure, the monitoring system will give crucial information to determine where, when and how the problems occurred. &lt;br /&gt;
This information makes the debugging process to be much faster and easier.&lt;br /&gt;
&lt;br /&gt;
In the end, monitoring a system can be seen as an insurance policy. It costs money and time, but the money and time it saves is worth it.&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-06 12-02-47.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine IP address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS IP address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
Check for current version&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
&lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Setup of Nagios=&lt;br /&gt;
&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, Ubuntu 16.04 64-bit distribution will be used since it is the latest LTS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Nagios cannot be installed simply by using one command, because there are some prerequisite applications needed for it to work.&lt;br /&gt;
&lt;br /&gt;
This tutorial describes the commands and configuration to make the services work together Nagios.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&lt;br /&gt;
*It is important to have the latest package lists to update them to get info on the newest versions of packages and their dependencies. So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
Command &lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing the prerequisites ===&lt;br /&gt;
&lt;br /&gt;
*Nagios requires the gcc compiler and build-essentials for the compilation, LAMP (Apache, PHP, MySQL) for the Nagios web interface and Send mail to send alerts from the server. To install all those packages, run this command (it&#039;s just 1 line):&lt;br /&gt;
Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User and group configuration ===&lt;br /&gt;
&lt;br /&gt;
*For Nagios to run, you have to create a new user for Nagios. We will name the user &amp;quot;nagios&amp;quot; and additionally create a group named &amp;quot;nagcmd&amp;quot;. We add the new user to the group as shown below:&lt;br /&gt;
[[File:Nagios2.png|thumb|right|Nagios add user and group]]&lt;br /&gt;
&lt;br /&gt;
3- Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; groupadd nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagcmd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagios,nagcmd www-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Nagios == &lt;br /&gt;
&lt;br /&gt;
*Step 1 - Download and extract the Nagios core&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-4.2.0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Compile Nagios&lt;br /&gt;
&lt;br /&gt;
Before you build Nagios, you will have to configure it with the user and the group you have created earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-group=nagios --with-command-group=nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information please use: ./configure --help .&lt;br /&gt;
&lt;br /&gt;
*Now to install Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make all &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-commandmode &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-init &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-config &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*And copy evenhandler directory to the nagios directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Install the Nagios Plugins&lt;br /&gt;
&lt;br /&gt;
Download and extract the Nagios plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios-plugins*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-plugins-2.1.2/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Install the Nagios plugin&#039;s with the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Configure Nagios&lt;br /&gt;
&lt;br /&gt;
After the installation phase is complete, you can find the default configuration of Nagios in /usr/local/nagios/.&lt;br /&gt;
We will configure Nagios and Nagios contact.&lt;br /&gt;
Edit default nagios configuration with nano:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uncomment line 51 for the host monitor configuration.&lt;br /&gt;
*cfg_dir=/usr/local/nagios/etc/servers&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios3.png|thumb|right|Nagios Email]]&lt;br /&gt;
&lt;br /&gt;
Save and exit.&lt;br /&gt;
Add a new folder named servers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mkdir -p /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the user and group for the new folder to nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown nagios:nagios /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios contact can be configured in the contact.cfg file. To open it use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/objects/contacts.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then replace the default email with your own email.&lt;br /&gt;
&lt;br /&gt;
== Configuring Apache ==&lt;br /&gt;
&lt;br /&gt;
*Step 1 - enable Apache modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod rewrite &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod cgi &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the htpasswd command to configure a user nagiosadmin for the nagios web interface&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and type your password.&lt;br /&gt;
&lt;br /&gt;
*Step 2 - enable the Nagios virtualhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Start Apache and Nagios&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
Start the nagios (if not working look Step 3.1)&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3.1 - If on this step you are unable to start nagios (nagios.service not found) do the following:&lt;br /&gt;
&lt;br /&gt;
First we are going to create/change the nagios.service :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/systemd/system/nagios.service &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
this file should be the same as the following: &lt;br /&gt;
&lt;br /&gt;
 [Unit]&lt;br /&gt;
 Description=Nagios&lt;br /&gt;
 BindTo=network.target&lt;br /&gt;
 &lt;br /&gt;
 [Install]&lt;br /&gt;
 WantedBy=multi-user.target&lt;br /&gt;
 &lt;br /&gt;
 [Service]&lt;br /&gt;
 User=nagios&lt;br /&gt;
 Group=nagios&lt;br /&gt;
 Type=simple&lt;br /&gt;
 ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg&lt;br /&gt;
&lt;br /&gt;
Then we need to enable created nagios.service config :&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl enable /etc/systemd/system/nagios.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it should work:&lt;br /&gt;
&amp;lt;code&amp;gt;service nagios start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When Nagios starts, you may see the following error :&lt;br /&gt;
&lt;br /&gt;
*Starting nagios (via systemctl): nagios.serviceFailed&lt;br /&gt;
&lt;br /&gt;
And this is how to fix it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd /etc/init.d/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp /etc/init.d/skeleton /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now edit the Nagios file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DESC=&amp;quot;Nagios&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; NAME=nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON=/usr/local/nagios/bin/$NAME &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON_ARGS=&amp;quot;-d /usr/local/nagios/etc/nagios.cfg&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PIDFILE=/usr/local/nagios/var/$NAME.lock &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make it executable and start Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chmod +x /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testing the Nagios Server ===&lt;br /&gt;
&lt;br /&gt;
Please open your browser and access the Nagios server ip, in my case: http://192.168.1.9/nagios.&lt;br /&gt;
&lt;br /&gt;
Nagios Login with apache htpasswd.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Login.png|thumb|center|Nagios Login]]&lt;br /&gt;
&lt;br /&gt;
Nagios Admin Dashboard&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Admin Dashboard.png|thumb|center|Nagios Admin Dashboard]]&lt;br /&gt;
&lt;br /&gt;
*Adding a Host to Monitor&lt;br /&gt;
&lt;br /&gt;
In this tutorial, I will add an Ubuntu host to monitor to the Nagios server we have made above.&lt;br /&gt;
&lt;br /&gt;
Nagios Server IP : 192.168.1.9&lt;br /&gt;
Ubuntu Host IP : 192.168.1.10&lt;br /&gt;
&lt;br /&gt;
*Step 1 - Connect to ubuntu host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.100 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Install NRPE Service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install nagios-nrpe-server nagios-plugins &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Configure NRPE&lt;br /&gt;
&lt;br /&gt;
After the installation is complete, edit the nrpe file /etc/nagios/nrpe.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/nagios/nrpe.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add Nagios Server IP 192.168.1.9 to the server_address.&lt;br /&gt;
&lt;br /&gt;
server_address=192.168.56.200&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Restart NRPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 5 - Add Ubuntu Host to Nagios Server&lt;br /&gt;
&lt;br /&gt;
Connect back to the Nagios server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.200 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create a new file for the host configuration in /usr/local/nagios/etc/servers/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/servers/ubuntu_host.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following lines:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #Ubuntu Host configuration file&lt;br /&gt;
define host {&lt;br /&gt;
        use                          linux-server&lt;br /&gt;
        host_name                    ubuntu_host&lt;br /&gt;
        alias                        Ubuntu Host&lt;br /&gt;
        address                      192.168.1.10&lt;br /&gt;
        register                     1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             PING&lt;br /&gt;
      check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check Users&lt;br /&gt;
      check_command           check_local_users!20!50&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Local Disk&lt;br /&gt;
      check_command                   check_local_disk!20%!10%!/&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check SSH&lt;br /&gt;
      check_command                   check_ssh&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Total Process&lt;br /&gt;
      check_command                   check_local_procs!250!400!RSZDT&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find many check_command in /usr/local/nagios/etc/objects/commands.cfg file. See there if you want to add more services like DHCP, POP etc.&lt;br /&gt;
&lt;br /&gt;
And now check the configuration:&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Nagios check.png|thumb|center|Nagios check]]&lt;br /&gt;
&lt;br /&gt;
To see if the configuration is correct.&lt;br /&gt;
&lt;br /&gt;
*Step 6 - Restart all services&lt;br /&gt;
&lt;br /&gt;
On the Ubuntu Host start NRPE Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios server, start Apache and Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 7 - Testing the Ubuntu Host&lt;br /&gt;
&lt;br /&gt;
Open the Nagios server from the browser and see the ubuntu_host being monitored.&lt;br /&gt;
The Ubuntu host is available on monitored host.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server2.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
All services monitored without error.&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
Nagios is an open source application for monitoring a system. Nagios has been widely used because of the ease of configuration. Nagios in support by various plugins, and you can even create your own plugins. Look here for more information.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
Nagios agent setup&lt;br /&gt;
&lt;br /&gt;
1-[http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/ Agent setup]&lt;br /&gt;
&lt;br /&gt;
2-[https://assets.nagios.com/downloads/nagiosxi/docs/Installing_The_XI_Linux_Agent.pdf Linux Agent]&lt;br /&gt;
&lt;br /&gt;
3-[https://exchange.nagios.org/directory/Documentation/Nagios-XI-Documentation/Installing-The-Nagios-Ubuntu-and-Debian-Linux-Agent/details Ubuntu-and-Debian-Linux-Agent]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
1- [https://en.wikipedia.org/wiki/System_monitoring System monitoring]&lt;br /&gt;
&lt;br /&gt;
2- [https://www.howtoforge.com/tutorial/ubuntu-nagios/ Nagios tutorial]&lt;br /&gt;
&lt;br /&gt;
3- [https://www.nagios.com/products/nagios-log-server/ Nagios Log Server]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114271</id>
		<title>Monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114271"/>
		<updated>2016-11-08T21:59:46Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Installing Nagios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team: &lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Artur Ovtsinnikov&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 23 October 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎30 October 2016&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This article introduces the Monitoring application called &#039;&#039;&#039;Nagios&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Monitoring===&lt;br /&gt;
Monitoring is the process of keep tracking of system resources.&lt;br /&gt;
&lt;br /&gt;
Monitoring is the process of observing and checking the progress or quality of something over a period of time; keep under systematic review.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/System_monitor]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Monitoring cannot be achieved without logging. That is the reason integrated solutions combine the two processes.&lt;br /&gt;
Monitoring is used to:&lt;br /&gt;
*check performance&lt;br /&gt;
*detect if something worth noticing happened&lt;br /&gt;
*prevent something to happen&lt;br /&gt;
*detect whether a system is under attack&lt;br /&gt;
&lt;br /&gt;
===The good solution: Nagios===&lt;br /&gt;
As of today, [https://www.nagios.org/] is the most popular open-source solution for monitoring computer systems before &lt;br /&gt;
&lt;br /&gt;
Monitoring is made of three components:&lt;br /&gt;
*Apache &lt;br /&gt;
*PHP&lt;br /&gt;
*MySQL&lt;br /&gt;
&lt;br /&gt;
The main advantages of Nagios are:&lt;br /&gt;
*Open-source&lt;br /&gt;
*Customized Dashboards&lt;br /&gt;
*Ease of Use&lt;br /&gt;
*Infinite Scalability&lt;br /&gt;
*Data in Real Time&lt;br /&gt;
*Network Security&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why monitor our servers==&lt;br /&gt;
There are many reasons why a system administrator would want to monitor its server(s).&lt;br /&gt;
*Prevent undesired events to happen&lt;br /&gt;
Without monitoring, a system administrator will react to a problem only when it has already occurred. Such issue can in the worst case cause a failure of the [http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA CIA triad]. It is of course wiser to anticipate such issues and solve the problem before they arise.&lt;br /&gt;
The monitoring system sends alerts that help to identify potential sources of futures failures to avoid.&lt;br /&gt;
&lt;br /&gt;
*Understand what happened in case of failure&lt;br /&gt;
In the event of a system failure, the monitoring system will give crucial information to determine where, when and how the problems occurred. &lt;br /&gt;
This information makes the debugging process to be much faster and easier.&lt;br /&gt;
&lt;br /&gt;
In the end, monitoring a system can be seen as an insurance policy. It costs money and time, but the money and time it saves is worth it.&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-06 12-02-47.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine IP address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS IP address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
Check for current version&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
&lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Setup of Nagios=&lt;br /&gt;
&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, Ubuntu 16.04 64-bit distribution will be used since it is the latest LTS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Nagios cannot be installed simply by using one command, because there are some prerequisite applications needed for it to work.&lt;br /&gt;
&lt;br /&gt;
This tutorial describes the commands and configuration to make the services work together Nagios.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&lt;br /&gt;
*It is important to have the latest package lists to update them to get info on the newest versions of packages and their dependencies. So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
Command &lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing the prerequisites ===&lt;br /&gt;
&lt;br /&gt;
*Nagios requires the gcc compiler and build-essentials for the compilation, LAMP (Apache, PHP, MySQL) for the Nagios web interface and Send mail to send alerts from the server. To install all those packages, run this command (it&#039;s just 1 line):&lt;br /&gt;
Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User and group configuration ===&lt;br /&gt;
&lt;br /&gt;
*For Nagios to run, you have to create a new user for Nagios. We will name the user &amp;quot;nagios&amp;quot; and additionally create a group named &amp;quot;nagcmd&amp;quot;. We add the new user to the group as shown below:&lt;br /&gt;
[[File:Nagios2.png|thumb|right|Nagios add user and group]]&lt;br /&gt;
&lt;br /&gt;
3- Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; groupadd nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagcmd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagios,nagcmd www-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Nagios == &lt;br /&gt;
&lt;br /&gt;
*Step 1 - Download and extract the Nagios core&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-4.2.0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Compile Nagios&lt;br /&gt;
&lt;br /&gt;
Before you build Nagios, you will have to configure it with the user and the group you have created earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-group=nagios --with-command-group=nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information please use: ./configure --help .&lt;br /&gt;
&lt;br /&gt;
*Now to install Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make all &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-commandmode &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-init &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-config &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*And copy evenhandler directory to the nagios directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Install the Nagios Plugins&lt;br /&gt;
&lt;br /&gt;
Download and extract the Nagios plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios-plugins*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-plugins-2.1.2/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Install the Nagios plugin&#039;s with the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Configure Nagios&lt;br /&gt;
&lt;br /&gt;
After the installation phase is complete, you can find the default configuration of Nagios in /usr/local/nagios/.&lt;br /&gt;
We will configure Nagios and Nagios contact.&lt;br /&gt;
Edit default nagios configuration with nano:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uncomment line 51 for the host monitor configuration.&lt;br /&gt;
*cfg_dir=/usr/local/nagios/etc/servers&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios3.png|thumb|right|Nagios Email]]&lt;br /&gt;
&lt;br /&gt;
Save and exit.&lt;br /&gt;
Add a new folder named servers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mkdir -p /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the user and group for the new folder to nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown nagios:nagios /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios contact can be configured in the contact.cfg file. To open it use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/objects/contacts.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then replace the default email with your own email.&lt;br /&gt;
&lt;br /&gt;
== Configuring Apache ==&lt;br /&gt;
&lt;br /&gt;
*Step 1 - enable Apache modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod rewrite &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod cgi &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the htpasswd command to configure a user nagiosadmin for the nagios web interface&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and type your password.&lt;br /&gt;
&lt;br /&gt;
*Step 2 - enable the Nagios virtualhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Start Apache and Nagios&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When Nagios starts, you may see the following error :&lt;br /&gt;
&lt;br /&gt;
*Starting nagios (via systemctl): nagios.serviceFailed&lt;br /&gt;
&lt;br /&gt;
And this is how to fix it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd /etc/init.d/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp /etc/init.d/skeleton /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now edit the Nagios file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DESC=&amp;quot;Nagios&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; NAME=nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON=/usr/local/nagios/bin/$NAME &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON_ARGS=&amp;quot;-d /usr/local/nagios/etc/nagios.cfg&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PIDFILE=/usr/local/nagios/var/$NAME.lock &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make it executable and start Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chmod +x /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testing the Nagios Server ===&lt;br /&gt;
&lt;br /&gt;
Please open your browser and access the Nagios server ip, in my case: http://192.168.1.9/nagios.&lt;br /&gt;
&lt;br /&gt;
Nagios Login with apache htpasswd.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Login.png|thumb|center|Nagios Login]]&lt;br /&gt;
&lt;br /&gt;
Nagios Admin Dashboard&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Admin Dashboard.png|thumb|center|Nagios Admin Dashboard]]&lt;br /&gt;
&lt;br /&gt;
*Adding a Host to Monitor&lt;br /&gt;
&lt;br /&gt;
In this tutorial, I will add an Ubuntu host to monitor to the Nagios server we have made above.&lt;br /&gt;
&lt;br /&gt;
Nagios Server IP : 192.168.1.9&lt;br /&gt;
Ubuntu Host IP : 192.168.1.10&lt;br /&gt;
&lt;br /&gt;
*Step 1 - Connect to ubuntu host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.100 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Install NRPE Service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install nagios-nrpe-server nagios-plugins &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Configure NRPE&lt;br /&gt;
&lt;br /&gt;
After the installation is complete, edit the nrpe file /etc/nagios/nrpe.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/nagios/nrpe.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add Nagios Server IP 192.168.1.9 to the server_address.&lt;br /&gt;
&lt;br /&gt;
server_address=192.168.56.200&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Restart NRPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 5 - Add Ubuntu Host to Nagios Server&lt;br /&gt;
&lt;br /&gt;
Connect back to the Nagios server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.200 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create a new file for the host configuration in /usr/local/nagios/etc/servers/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/servers/ubuntu_host.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following lines:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #Ubuntu Host configuration file&lt;br /&gt;
define host {&lt;br /&gt;
        use                          linux-server&lt;br /&gt;
        host_name                    ubuntu_host&lt;br /&gt;
        alias                        Ubuntu Host&lt;br /&gt;
        address                      192.168.1.10&lt;br /&gt;
        register                     1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             PING&lt;br /&gt;
      check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check Users&lt;br /&gt;
      check_command           check_local_users!20!50&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Local Disk&lt;br /&gt;
      check_command                   check_local_disk!20%!10%!/&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check SSH&lt;br /&gt;
      check_command                   check_ssh&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Total Process&lt;br /&gt;
      check_command                   check_local_procs!250!400!RSZDT&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find many check_command in /usr/local/nagios/etc/objects/commands.cfg file. See there if you want to add more services like DHCP, POP etc.&lt;br /&gt;
&lt;br /&gt;
And now check the configuration:&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Nagios check.png|thumb|center|Nagios check]]&lt;br /&gt;
&lt;br /&gt;
To see if the configuration is correct.&lt;br /&gt;
&lt;br /&gt;
*Step 6 - Restart all services&lt;br /&gt;
&lt;br /&gt;
On the Ubuntu Host start NRPE Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios server, start Apache and Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 7 - Testing the Ubuntu Host&lt;br /&gt;
&lt;br /&gt;
Open the Nagios server from the browser and see the ubuntu_host being monitored.&lt;br /&gt;
The Ubuntu host is available on monitored host.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server2.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
All services monitored without error.&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
Nagios is an open source application for monitoring a system. Nagios has been widely used because of the ease of configuration. Nagios in support by various plugins, and you can even create your own plugins. Look here for more information.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
Nagios agent setup&lt;br /&gt;
&lt;br /&gt;
1-[http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/ Agent setup]&lt;br /&gt;
&lt;br /&gt;
2-[https://assets.nagios.com/downloads/nagiosxi/docs/Installing_The_XI_Linux_Agent.pdf Linux Agent]&lt;br /&gt;
&lt;br /&gt;
3-[https://exchange.nagios.org/directory/Documentation/Nagios-XI-Documentation/Installing-The-Nagios-Ubuntu-and-Debian-Linux-Agent/details Ubuntu-and-Debian-Linux-Agent]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
1- [https://en.wikipedia.org/wiki/System_monitoring System monitoring]&lt;br /&gt;
&lt;br /&gt;
2- [https://www.howtoforge.com/tutorial/ubuntu-nagios/ Nagios tutorial]&lt;br /&gt;
&lt;br /&gt;
3- [https://www.nagios.com/products/nagios-log-server/ Nagios Log Server]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114269</id>
		<title>Monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Monitoring&amp;diff=114269"/>
		<updated>2016-11-08T21:55:10Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Installing Nagios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Team: &lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Artur Ovtsinnikov&lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 23 October 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎30 October 2016&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This article introduces the Monitoring application called &#039;&#039;&#039;Nagios&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Monitoring===&lt;br /&gt;
Monitoring is the process of keep tracking of system resources.&lt;br /&gt;
&lt;br /&gt;
Monitoring is the process of observing and checking the progress or quality of something over a period of time; keep under systematic review.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/System_monitor]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Monitoring cannot be achieved without logging. That is the reason integrated solutions combine the two processes.&lt;br /&gt;
Monitoring is used to:&lt;br /&gt;
*check performance&lt;br /&gt;
*detect if something worth noticing happened&lt;br /&gt;
*prevent something to happen&lt;br /&gt;
*detect whether a system is under attack&lt;br /&gt;
&lt;br /&gt;
===The good solution: Nagios===&lt;br /&gt;
As of today, [https://www.nagios.org/] is the most popular open-source solution for monitoring computer systems before &lt;br /&gt;
&lt;br /&gt;
Monitoring is made of three components:&lt;br /&gt;
*Apache &lt;br /&gt;
*PHP&lt;br /&gt;
*MySQL&lt;br /&gt;
&lt;br /&gt;
The main advantages of Nagios are:&lt;br /&gt;
*Open-source&lt;br /&gt;
*Customized Dashboards&lt;br /&gt;
*Ease of Use&lt;br /&gt;
*Infinite Scalability&lt;br /&gt;
*Data in Real Time&lt;br /&gt;
*Network Security&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why monitor our servers==&lt;br /&gt;
There are many reasons why a system administrator would want to monitor its server(s).&lt;br /&gt;
*Prevent undesired events to happen&lt;br /&gt;
Without monitoring, a system administrator will react to a problem only when it has already occurred. Such issue can in the worst case cause a failure of the [http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA CIA triad]. It is of course wiser to anticipate such issues and solve the problem before they arise.&lt;br /&gt;
The monitoring system sends alerts that help to identify potential sources of futures failures to avoid.&lt;br /&gt;
&lt;br /&gt;
*Understand what happened in case of failure&lt;br /&gt;
In the event of a system failure, the monitoring system will give crucial information to determine where, when and how the problems occurred. &lt;br /&gt;
This information makes the debugging process to be much faster and easier.&lt;br /&gt;
&lt;br /&gt;
In the end, monitoring a system can be seen as an insurance policy. It costs money and time, but the money and time it saves is worth it.&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-06 12-02-47.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine IP address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS IP address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
Check for current version&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
&lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Setup of Nagios=&lt;br /&gt;
&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
&lt;br /&gt;
In this tutorial, Ubuntu 16.04 64-bit distribution will be used since it is the latest LTS.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Nagios cannot be installed simply by using one command, because there are some prerequisite applications needed for it to work.&lt;br /&gt;
&lt;br /&gt;
This tutorial describes the commands and configuration to make the services work together Nagios.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&lt;br /&gt;
*It is important to have the latest package lists to update them to get info on the newest versions of packages and their dependencies. So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
Command &lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing the prerequisites ===&lt;br /&gt;
&lt;br /&gt;
*Nagios requires the gcc compiler and build-essentials for the compilation, LAMP (Apache, PHP, MySQL) for the Nagios web interface and Send mail to send alerts from the server. To install all those packages, run this command (it&#039;s just 1 line):&lt;br /&gt;
Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== User and group configuration ===&lt;br /&gt;
&lt;br /&gt;
*For Nagios to run, you have to create a new user for Nagios. We will name the user &amp;quot;nagios&amp;quot; and additionally create a group named &amp;quot;nagcmd&amp;quot;. We add the new user to the group as shown below:&lt;br /&gt;
[[File:Nagios2.png|thumb|right|Nagios add user and group]]&lt;br /&gt;
&lt;br /&gt;
3- Command&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; useradd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; groupadd nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagcmd nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6- Command &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; usermod -a -G nagios,nagcmd www-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing Nagios == &lt;br /&gt;
&lt;br /&gt;
*Step 1 - Download and extract the Nagios core&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-4.2.0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Compile Nagios&lt;br /&gt;
&lt;br /&gt;
Before you build Nagios, you will have to configure it with the user and the group you have created earlier.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-group=nagios --with-command-group=nagcmd &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information please use: ./configure --help .&lt;br /&gt;
&lt;br /&gt;
*Now to install Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make all &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-commandmode &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-init &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo make install-config &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*And copy evenhandler directory to the nagios directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Install the Nagios Plugins&lt;br /&gt;
&lt;br /&gt;
Download and extract the Nagios plugins:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd ~ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; tar -xzf nagios-plugins*.tar.gz &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd nagios-plugins-2.1.2/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Install the Nagios plugin&#039;s with the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; make install &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Configure Nagios&lt;br /&gt;
&lt;br /&gt;
After the installation phase is complete, you can find the default configuration of Nagios in /usr/local/nagios/.&lt;br /&gt;
We will configure Nagios and Nagios contact.&lt;br /&gt;
Edit default nagios configuration with nano:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uncomment line 51 for the host monitor configuration.&lt;br /&gt;
*cfg_dir=/usr/local/nagios/etc/servers&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios3.png|thumb|right|Nagios Email]]&lt;br /&gt;
&lt;br /&gt;
Save and exit.&lt;br /&gt;
Add a new folder named servers:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; mkdir -p /usr/local/nagios/etc/servers &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Nagios contact can be configured in the contact.cfg file. To open it use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/objects/contacts.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then replace the default email with your own email.&lt;br /&gt;
&lt;br /&gt;
== Configuring Apache ==&lt;br /&gt;
&lt;br /&gt;
*Step 1 - enable Apache modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod rewrite &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo a2enmod cgi &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can use the htpasswd command to configure a user nagiosadmin for the nagios web interface&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and type your password.&lt;br /&gt;
&lt;br /&gt;
*Step 2 - enable the Nagios virtualhost&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Start Apache and Nagios&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When Nagios starts, you may see the following error :&lt;br /&gt;
&lt;br /&gt;
*Starting nagios (via systemctl): nagios.serviceFailed&lt;br /&gt;
&lt;br /&gt;
And this is how to fix it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cd /etc/init.d/ &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cp /etc/init.d/skeleton /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now edit the Nagios file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
and add the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DESC=&amp;quot;Nagios&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; NAME=nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON=/usr/local/nagios/bin/$NAME &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; DAEMON_ARGS=&amp;quot;-d /usr/local/nagios/etc/nagios.cfg&amp;quot; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; PIDFILE=/usr/local/nagios/var/$NAME.lock &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make it executable and start Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; chmod +x /etc/init.d/nagios &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios start &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Testing the Nagios Server ===&lt;br /&gt;
&lt;br /&gt;
Please open your browser and access the Nagios server ip, in my case: http://192.168.1.9/nagios.&lt;br /&gt;
&lt;br /&gt;
Nagios Login with apache htpasswd.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Login.png|thumb|center|Nagios Login]]&lt;br /&gt;
&lt;br /&gt;
Nagios Admin Dashboard&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios Admin Dashboard.png|thumb|center|Nagios Admin Dashboard]]&lt;br /&gt;
&lt;br /&gt;
*Adding a Host to Monitor&lt;br /&gt;
&lt;br /&gt;
In this tutorial, I will add an Ubuntu host to monitor to the Nagios server we have made above.&lt;br /&gt;
&lt;br /&gt;
Nagios Server IP : 192.168.1.9&lt;br /&gt;
Ubuntu Host IP : 192.168.1.10&lt;br /&gt;
&lt;br /&gt;
*Step 1 - Connect to ubuntu host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.100 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 2 - Install NRPE Service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; sudo apt-get install nagios-nrpe-server nagios-plugins &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 3 - Configure NRPE&lt;br /&gt;
&lt;br /&gt;
After the installation is complete, edit the nrpe file /etc/nagios/nrpe.cfg:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /etc/nagios/nrpe.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and add Nagios Server IP 192.168.1.9 to the server_address.&lt;br /&gt;
&lt;br /&gt;
server_address=192.168.56.200&lt;br /&gt;
&lt;br /&gt;
*Step 4 - Restart NRPE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 5 - Add Ubuntu Host to Nagios Server&lt;br /&gt;
&lt;br /&gt;
Connect back to the Nagios server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ssh student@192.168.56.200 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then create a new file for the host configuration in /usr/local/nagios/etc/servers/.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; nano /usr/local/nagios/etc/servers/ubuntu_host.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following lines:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  #Ubuntu Host configuration file&lt;br /&gt;
define host {&lt;br /&gt;
        use                          linux-server&lt;br /&gt;
        host_name                    ubuntu_host&lt;br /&gt;
        alias                        Ubuntu Host&lt;br /&gt;
        address                      192.168.1.10&lt;br /&gt;
        register                     1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             PING&lt;br /&gt;
      check_command                   check_ping!100.0,20%!500.0,60%&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check Users&lt;br /&gt;
      check_command           check_local_users!20!50&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Local Disk&lt;br /&gt;
      check_command                   check_local_disk!20%!10%!/&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Check SSH&lt;br /&gt;
      check_command                   check_ssh&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
define service {&lt;br /&gt;
      host_name                       ubuntu_host&lt;br /&gt;
      service_description             Total Process&lt;br /&gt;
      check_command                   check_local_procs!250!400!RSZDT&lt;br /&gt;
      max_check_attempts              2&lt;br /&gt;
      check_interval                  2&lt;br /&gt;
      retry_interval                  2&lt;br /&gt;
      check_period                    24x7&lt;br /&gt;
      check_freshness                 1&lt;br /&gt;
      contact_groups                  admins&lt;br /&gt;
      notification_interval           2&lt;br /&gt;
      notification_period             24x7&lt;br /&gt;
      notifications_enabled           1&lt;br /&gt;
      register                        1&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find many check_command in /usr/local/nagios/etc/objects/commands.cfg file. See there if you want to add more services like DHCP, POP etc.&lt;br /&gt;
&lt;br /&gt;
And now check the configuration:&lt;br /&gt;
&amp;lt;code&amp;gt; /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg &amp;lt;/code&amp;gt;&lt;br /&gt;
[[File:Nagios check.png|thumb|center|Nagios check]]&lt;br /&gt;
&lt;br /&gt;
To see if the configuration is correct.&lt;br /&gt;
&lt;br /&gt;
*Step 6 - Restart all services&lt;br /&gt;
&lt;br /&gt;
On the Ubuntu Host start NRPE Service:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios-nrpe-server restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Nagios server, start Apache and Nagios:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service apache2 restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; service nagios restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Step 7 - Testing the Ubuntu Host&lt;br /&gt;
&lt;br /&gt;
Open the Nagios server from the browser and see the ubuntu_host being monitored.&lt;br /&gt;
The Ubuntu host is available on monitored host.&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
[[File:Nagios server2.png|thumb|center|Testing Host]]&lt;br /&gt;
&lt;br /&gt;
All services monitored without error.&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
Nagios is an open source application for monitoring a system. Nagios has been widely used because of the ease of configuration. Nagios in support by various plugins, and you can even create your own plugins. Look here for more information.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
Nagios agent setup&lt;br /&gt;
&lt;br /&gt;
1-[http://www.tecmint.com/how-to-add-linux-host-to-nagios-monitoring-server/ Agent setup]&lt;br /&gt;
&lt;br /&gt;
2-[https://assets.nagios.com/downloads/nagiosxi/docs/Installing_The_XI_Linux_Agent.pdf Linux Agent]&lt;br /&gt;
&lt;br /&gt;
3-[https://exchange.nagios.org/directory/Documentation/Nagios-XI-Documentation/Installing-The-Nagios-Ubuntu-and-Debian-Linux-Agent/details Ubuntu-and-Debian-Linux-Agent]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
1- [https://en.wikipedia.org/wiki/System_monitoring System monitoring]&lt;br /&gt;
&lt;br /&gt;
2- [https://www.howtoforge.com/tutorial/ubuntu-nagios/ Nagios tutorial]&lt;br /&gt;
&lt;br /&gt;
3- [https://www.nagios.com/products/nagios-log-server/ Nagios Log Server]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=113749</id>
		<title>Category:I802 Firewalls and VPN IPSec</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:I802_Firewalls_and_VPN_IPSec&amp;diff=113749"/>
		<updated>2016-11-02T09:19:24Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Boring stuff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Firewalls and VPN/IPSec=&lt;br /&gt;
&lt;br /&gt;
==General information==&lt;br /&gt;
&lt;br /&gt;
ECTS: 4&lt;br /&gt;
&lt;br /&gt;
Lecturer: Lauri Võsandi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Scenario==&lt;br /&gt;
&lt;br /&gt;
In this course we will attempt to set up a network similar to a corporate network with multiple offices, eg http://docplayer.it/docs-images/20/596222/images/25-0.png&lt;br /&gt;
&lt;br /&gt;
We will use VPN software to connect subnets to each other and we will use VPN software to connect our personal computers to the intranet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setting up virtual machine hosts==&lt;br /&gt;
&lt;br /&gt;
For this course we have 3 Sun servers, each with 16GB of RAM. In each server we should be able to create 3 or more virtual machines. As host operating system we will install Ubuntu 16.04 server. On disks set up ext4 on mdraid set up in RAID1 configuration.&lt;br /&gt;
&lt;br /&gt;
For virtualization let&#039;s use libvirt and virt-manager on your Ubuntu laptops, for Windows and Mac unfortunately there is no decent UI available instead installing web interface such as [https://github.com/kimchi-project/kimchi Kimchi] is recommended.&lt;br /&gt;
&lt;br /&gt;
To install libvirt on the server:&lt;br /&gt;
&lt;br /&gt;
  apt install libvirt-bin qemu-kvm&lt;br /&gt;
&lt;br /&gt;
Also add the primary user to the libvirt group:&lt;br /&gt;
&lt;br /&gt;
  sudo gpasswd -a $USER libvirt&lt;br /&gt;
&lt;br /&gt;
On your  laptop first set up SSH keys between the laptop and server with ssh-keygen and ssh-copy-id. And then you can install virt-manager with:&lt;br /&gt;
&lt;br /&gt;
  sudo apt install virt-manager&lt;br /&gt;
&lt;br /&gt;
Copy CD ISO files into /var/lib/libvirt/images using scp or FileZilla.&lt;br /&gt;
&lt;br /&gt;
Continue with creating a virtual machine for each service. For Windows 2012 server virtual machines use 2G of RAM and 50G of storage. For Ubuntu 16.04 server installations use 1G of memory and 50G storage. For Ubuntu 16.04 MATE desktop installations use 2G of RAM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to set up virtual switch inside the server use Linux&#039;s built-in bridges, start with installing bridge-utils:&lt;br /&gt;
&lt;br /&gt;
  apt install bridge-utils&lt;br /&gt;
&lt;br /&gt;
Reconfigure your server&#039;s /etc/network/interfaces, replace X with number relevant to your server. Also replace eth0, eth1 and eth2 with the network interfaces available in your machine:&lt;br /&gt;
&lt;br /&gt;
  # The loopback network interface&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet dhcp&lt;br /&gt;
    # Until we set up router in a VM we will use DHCP so we can have internet access in 417&lt;br /&gt;
    bridge_ports eth0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.X.1&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports eth1&lt;br /&gt;
  &lt;br /&gt;
  # Management interface&lt;br /&gt;
  auto eth2&lt;br /&gt;
  iface eth2 inet static&lt;br /&gt;
    address 192.168.12.1X&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
When creating virtual machines, configure network as shown in the screenshot below:&lt;br /&gt;
&lt;br /&gt;
[[File:Virt-manager_bridges.png]]&lt;br /&gt;
&lt;br /&gt;
This way your VM-s should be able to access the Internet as the physical machine can&lt;br /&gt;
&lt;br /&gt;
==Setting up router==&lt;br /&gt;
&lt;br /&gt;
On Wednesday 14. September we will configure OpenWrt as a router in a virtual machine.&lt;br /&gt;
Download the OpenWrt image and uncompress it:&lt;br /&gt;
&lt;br /&gt;
  cd /var/lib/libvirt/images/&lt;br /&gt;
  wget https://downloads.openwrt.org/chaos_calmer/15.05-rc3/x86/kvm_guest/openwrt-15.05-rc3-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
  gunzip openwrt-15.05.1-x86-kvm_guest-combined-ext4.img.gz&lt;br /&gt;
&lt;br /&gt;
Add second network interface to your router&#039;s VM.&lt;br /&gt;
Configure first NIC as connected to br-wan and second one connected to br-lan.&lt;br /&gt;
&lt;br /&gt;
After that you should end up with topology similar to this:&lt;br /&gt;
&lt;br /&gt;
[[File:Topology-inside-server.png]]&lt;br /&gt;
&lt;br /&gt;
To clarify: &#039;srv1.office&#039; and &#039;srv2.office&#039; are the Ubuntu 16.04 servers, you should have configured static IP addresses or set a static lease from the router. The &#039;router.office&#039; refers to the OpenWrt router you just set up. The router serves IP addresses using DHCP to &#039;ubuntu-mate.office&#039;  Ubuntu MATE 16.04 workstation and &#039;windows.office&#039; refers to Windows workstation. Your physical server &#039;host.office&#039; can be accessed as well. The &#039;office&#039; throughout the diagram refers to your domain name, use abbrevations such as hq, rnd, devops for that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Domain names==&lt;br /&gt;
&lt;br /&gt;
Arti will be your DNS registrar (like Godaddy or Zone.ee). Currently added DNS records:&lt;br /&gt;
&lt;br /&gt;
* http://www.biz.wut.ee - 193.40.194.160 for Wut Incorporated website&lt;br /&gt;
* http://gw.biz.wut.ee - 193.40.194.160 for OpenVPN gateway&lt;br /&gt;
* http://wiki.biz.wut.ee - 193.40.194.161 for Wut Inc internal wiki&lt;br /&gt;
* http://git.biz.wut.ee - 193.40.194.161 for Wut Inc source code hosting&lt;br /&gt;
* http://paste.biz.wut.ee - 193.40.194.161 for Wut Inc code snippets&lt;br /&gt;
* http://chat.biz.wut.ee - 193.40.194.162 for Wut Inc IRC chatroom&lt;br /&gt;
* http://pad.biz.wut.ee - 193.40.194.162 for Wut Inc etherpad&lt;br /&gt;
* http://ca.biz.wut.ee - 193.40.194.162 for Wut Inc certificate authority web endpoint&lt;br /&gt;
* http://mail.biz.wut.ee - 193.40.194.162 for MX entry of biz.wut.ee&lt;br /&gt;
&lt;br /&gt;
(Re)configure your services to make use of these DNS records.&lt;br /&gt;
&lt;br /&gt;
==Monitoring==&lt;br /&gt;
&lt;br /&gt;
Use this **only** on the physical hosts.&lt;br /&gt;
&lt;br /&gt;
You can (ab)use Lauri&#039;s collectd at http://log.koodur.com/cgp&lt;br /&gt;
&lt;br /&gt;
Install packages:&lt;br /&gt;
&lt;br /&gt;
  apt install collectd&lt;br /&gt;
&lt;br /&gt;
Reconfigure service in /etc/collectd/collectd.conf:&lt;br /&gt;
&lt;br /&gt;
  FQDNLookup true&lt;br /&gt;
  LoadPlugin syslog&lt;br /&gt;
  LoadPlugin cpu&lt;br /&gt;
  LoadPlugin df&lt;br /&gt;
  LoadPlugin disk&lt;br /&gt;
  LoadPlugin interface&lt;br /&gt;
  LoadPlugin load&lt;br /&gt;
  LoadPlugin memory&lt;br /&gt;
  LoadPlugin network&lt;br /&gt;
  LoadPlugin processes&lt;br /&gt;
  LoadPlugin swap&lt;br /&gt;
  LoadPlugin uptime&lt;br /&gt;
  LoadPlugin users&lt;br /&gt;
  LoadPlugin dns&lt;br /&gt;
  LoadPlugin ping&lt;br /&gt;
  LoadPlugin sensors&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin df&amp;gt;&lt;br /&gt;
  	FSType rootfs&lt;br /&gt;
  	FSType sysfs&lt;br /&gt;
  	FSType proc&lt;br /&gt;
  	FSType devtmpfs&lt;br /&gt;
  	FSType devpts&lt;br /&gt;
  	FSType tmpfs&lt;br /&gt;
  	FSType fusectl&lt;br /&gt;
  	FSType cgroup&lt;br /&gt;
  	IgnoreSelected true&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin disk&amp;gt;&lt;br /&gt;
  	Disk &amp;quot;/[sv]d[a-z]/&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;Include &amp;quot;/etc/collectd/collectd.conf.d&amp;quot;&amp;gt;&lt;br /&gt;
  	Filter &amp;quot;*.conf&amp;quot;&lt;br /&gt;
  &amp;lt;/Include&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;Plugin network&amp;gt;&lt;br /&gt;
    Server &amp;quot;185.94.112.74&amp;quot;&lt;br /&gt;
  &amp;lt;/Plugin&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Teams==&lt;br /&gt;
&lt;br /&gt;
===Headquarters===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.160/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.10&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.1.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - (Mohanad)&lt;br /&gt;
* BIND9 as public DNS server, also figure out what domain name we should/can use (Arti)&lt;br /&gt;
* domain controller, at this point primarily for user accounts (Keijo)&lt;br /&gt;
* nginx web server, for company&#039;s homepage (Etienne)&lt;br /&gt;
* SMB/CIFS fileserver, join to domain (Etienne)&lt;br /&gt;
* VPN server for other subnets, presumably OpenVPN (Mohanad Aly)&lt;br /&gt;
&lt;br /&gt;
===Research &amp;amp; development===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.161/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.11&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.2.1/24&lt;br /&gt;
&lt;br /&gt;
Team members: Marvin, Madis, Taavi, Berit, Joosep&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Marvin&lt;br /&gt;
* [https://gogs.io/docs Git hosting], for sharing scripts, set up LDAP to authenticate with domain controller (Madis)&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Installation_MediaWiki Wiki], for exchanging information,  [https://www.mediawiki.org/wiki/Extension:LDAP_Authentication/Kerberos_Configuration_Examples set up LDAP to authenticate with domain controller and later possibly configure web server to authenticate with Kerberos] (Taavi)&lt;br /&gt;
* Windows XP workstation, join to domain&lt;br /&gt;
* Ubuntu 16.04 MATE workstation, [https://raw.githubusercontent.com/laurivosandi/puppet-butterknife/master/files/etc/butterknife/helpers/join-domain join to domain].&lt;br /&gt;
* [http://lauri.vosandi.com/2016/09/xenial-ltsp-ja-id-kaart.html LTSP server] (Joosep)&lt;br /&gt;
* OpenVPN connection to headquarters, use shared secret at first, later X509 certificates&lt;br /&gt;
* [https://github.com/bpoldoja/pastebin Pastebin], possibly later implement [https://github.com/laurivosandi/certidude/blob/master/certidude/auth.py#L37 Kerberos support] (Berit)&lt;br /&gt;
====Examples====&lt;br /&gt;
Port forwarding example, we have 2 linux virtual machines, one forwarding to host local ip.&lt;br /&gt;
[[File:vpn-portForwarding.png|900px|]]&lt;br /&gt;
&lt;br /&gt;
Network interface example file:&lt;br /&gt;
&lt;br /&gt;
  auto lo&lt;br /&gt;
  iface lo inet loopback&lt;br /&gt;
  &lt;br /&gt;
  # Wide area network interface (port 0)&lt;br /&gt;
  auto br-wan&lt;br /&gt;
  iface br-wan inet manual&lt;br /&gt;
    bridge_ports enp6s4f0&lt;br /&gt;
  &lt;br /&gt;
  # Local area network interface (port 3)&lt;br /&gt;
  auto br-lan&lt;br /&gt;
  iface br-lan inet static&lt;br /&gt;
    address 172.16.2.1&lt;br /&gt;
    gateway 172.16.2.254&lt;br /&gt;
    dns-nameserver 172.16.2.254&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    bridge_ports enp0s8&lt;br /&gt;
  &lt;br /&gt;
  # Management interface (port 1)&lt;br /&gt;
  auto enp6s4f1&lt;br /&gt;
  iface enp6s4f1 inet static&lt;br /&gt;
    address 192.168.12.11&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Openwrt interface file working example /etc/config/network:&lt;br /&gt;
&lt;br /&gt;
  config interface &#039;lan&#039;&lt;br /&gt;
        option ifname &#039;eth0&#039;&lt;br /&gt;
        option type &#039;bridge&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option ip6assign &#039;60&#039;&lt;br /&gt;
        option ipaddr &#039;172.16.2.254&#039;&lt;br /&gt;
  &lt;br /&gt;
  config interface &#039;wan&#039;&lt;br /&gt;
        option ifname &#039;eth1&#039;&lt;br /&gt;
        option proto &#039;static&#039;&lt;br /&gt;
        option ipaddr &#039;193.40.194.161&#039;&lt;br /&gt;
        option gateway &#039;193.40.194.220&#039;&lt;br /&gt;
        option netmask &#039;255.255.255.0&#039;&lt;br /&gt;
        option dns &#039;192.40.0.12 193.40.56.245&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create poor man&#039;s vpn. Install on your computer&lt;br /&gt;
  apt install sshuttle&lt;br /&gt;
&lt;br /&gt;
and connection.&lt;br /&gt;
  sshuttle --dns -HNvr username@server:port&lt;br /&gt;
no you should be able to connect local network computers and services.&lt;br /&gt;
&#039;&#039;&#039;NB! ping is not working with sshuttle&#039;&#039;&#039;&lt;br /&gt;
you can read more here http://teohm.com/blog/using-sshuttle-in-daily-work/&lt;br /&gt;
&lt;br /&gt;
====TODO====&lt;br /&gt;
&lt;br /&gt;
===Devops===&lt;br /&gt;
&lt;br /&gt;
Gateway: 193.40.194.220&lt;br /&gt;
&lt;br /&gt;
DNS: 193.40.0.12, 193.40.56.245&lt;br /&gt;
&lt;br /&gt;
Public IP address (port no 0 = enp6s4f0): 193.40.194.162/24&lt;br /&gt;
&lt;br /&gt;
Management network IP address (port no 1 = enp6s4f1), accessible from robotics club: 192.168.12.12&lt;br /&gt;
&lt;br /&gt;
Internal IP address of the physical server (port no 2 = enp0s9): 172.16.3.1/24&lt;br /&gt;
&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
* Hypervisor, access to physical box - Artur O&lt;br /&gt;
* IRC, for chatting (Meelis Hass)&lt;br /&gt;
* [https://github.com/ether/etherpad-lite Etherpad] for collaborating (Sheela)&lt;br /&gt;
* [https://github.com/laurivosandi/certidude#usecases Certificate management] for roadwarriors, usecase number #1 (Artur O)&lt;br /&gt;
* Monitoring software of your choice to make sure that services are up and running, possibly use LDAP for authentication (Artur O)&lt;br /&gt;
* E-mail for sending notifications from monitoring software at first (Ilja), this needs MX records in DNS (Ilja, Mohanad helps)&lt;br /&gt;
* Later, in the beginning just monitor public services: OpenVPN connection to headquarters&lt;br /&gt;
&lt;br /&gt;
===Pentest===&lt;br /&gt;
&lt;br /&gt;
Find security issues in the deployed services, attempt to plant backdoors, malware etc.&lt;br /&gt;
&lt;br /&gt;
Team members: Kustas, Ender&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Point-to-point tunnels between routers==&lt;br /&gt;
&lt;br /&gt;
Since routers are the default route for all the internal machines the easiest way to set up routing between internal networks is to set up OpenVPN instances on each router.&lt;br /&gt;
&lt;br /&gt;
In router install OpenVPN module for OpenWrt:&lt;br /&gt;
&lt;br /&gt;
  opkg update&lt;br /&gt;
  opkg install luci-app-openvpn openvpn-openssl&lt;br /&gt;
&lt;br /&gt;
In the OpenWrt web interface there should pop up Services section with OpenVPN underneath it.&lt;br /&gt;
&lt;br /&gt;
The topology for routers:&lt;br /&gt;
&lt;br /&gt;
[[File:Point-to-point.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For each tunnel configure on one end &amp;quot;Simple server configuration for a routed point-to-point VPN&amp;quot; and on the other end &amp;quot;Simple client configuration for a routed point-to-point VPN&amp;quot; the configuration for connection on hq could look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Openwrt-openvpn-config.png]]&lt;br /&gt;
&lt;br /&gt;
To upload secret select secret under --Additional fields-- and hit add. To generate secret use following command on your laptop:&lt;br /&gt;
&lt;br /&gt;
  openvpn --genkey --secret static.key&lt;br /&gt;
&lt;br /&gt;
Under Switch to advanced configuration --&amp;gt; Networking add route field for each subnet you want to make accessible via that tunnel. For each tunnel a new interface pops up under Interfaces section. Assign firewall rules as appropriate. To test I guess you can just insert the interface into LAN zone.&lt;br /&gt;
&lt;br /&gt;
=Boring stuff=&lt;br /&gt;
Sending logs to Graylog server&lt;br /&gt;
&lt;br /&gt;
put those lines into new file : /etc/rsyslog.d/client.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ActionQueueType LinkedList&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ActionQueueFileName srvrfwd&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ActionResumeRetryCount -1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$ActionQueueSaveOnShutdown on&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;*.* @@172.16.3.228:1514&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then do the &amp;lt;code&amp;gt; sudo service rsyslog restart &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Report template==&lt;br /&gt;
&lt;br /&gt;
Send report as a plaintext e-mail to Lauri, in the title include: Report #number - your name - your team&lt;br /&gt;
&lt;br /&gt;
In the content make sure you specify the timespan you&#039;re talking about (September of 2016, first half of October 2016 etc)&lt;br /&gt;
&lt;br /&gt;
The content, no need for formal speech:&lt;br /&gt;
&lt;br /&gt;
* What have been done so far by the team (eg. server hardware setup, virtual machine setup, service setup)&lt;br /&gt;
* What was your role for this timespan, note that we will shuffle the teams now and then&lt;br /&gt;
* What was your contribution, or in other words what did you do during this timespan&lt;br /&gt;
* What (security) incidents happened - red team found messing around with the servers, passwords changed, backdoor found etc.&lt;br /&gt;
&lt;br /&gt;
==September wrapup &amp;amp; iptables lecture==&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/presentation/d/1mt0g_BN-l_Jz6HQ1D52WJIdMjPtkTt95CPYFejjiikE/ Lecture slides] [https://echo360.e-ope.ee/ess/portal/section/0fa18d0e-f1b2-44b7-878b-5e4c66e6040e video recording]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106197</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106197"/>
		<updated>2016-10-06T06:34:51Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Securing during logging */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 05 October 2016&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
This article introduces the Logging and Monitoring application called &#039;&#039;&#039;Graylog&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Logging and monitoring===&lt;br /&gt;
Logging is the process of keeping a continuous record of an event.&lt;br /&gt;
The general rule of logging is: Log everything which is not predictable.&lt;br /&gt;
&lt;br /&gt;
Monitoring is the process of observing and checking the progress or quality of something over a period of time; keep under systematic review.&amp;lt;ref&amp;gt;[https://en.oxforddictionaries.com/definition/monitor]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Monitoring cannot be achieved without logging. That is the reason integrated solutions combine the two processes.&lt;br /&gt;
Monitoring is used to:&lt;br /&gt;
*check performance&lt;br /&gt;
*detect if something worth noticing happened&lt;br /&gt;
*prevent something to happen&lt;br /&gt;
*detect whether a system is under attack&lt;br /&gt;
&lt;br /&gt;
===The best solution: Graylog===&lt;br /&gt;
As of today, [https://www.graylog.org Graylog] is the most popular open-source solution (developed in Java) for logging and monitoring computer systems before [https://www.elastic.co/webinars/introduction-elk-stack ELK stack].&lt;br /&gt;
In the proprietary world, [https://www.splunk.com Splunk] is the leader.&lt;br /&gt;
&lt;br /&gt;
Graylog is made of three components:&lt;br /&gt;
*Elasticsearch as the documents indexing engine&lt;br /&gt;
*Mongodb for database&lt;br /&gt;
*Graylog itself (server and web interface combined) to collect and view logs&lt;br /&gt;
&lt;br /&gt;
The main advantages of Graylog are:&lt;br /&gt;
*Open-source&lt;br /&gt;
*Works with unstructured logs and from any source&lt;br /&gt;
*Good looking interface and dashboards&lt;br /&gt;
*Supports user management (LDAP)&lt;br /&gt;
&lt;br /&gt;
Its disadvantages are:&lt;br /&gt;
*Designed to work with Linux distributions&lt;br /&gt;
&lt;br /&gt;
===Why monitor our servers===&lt;br /&gt;
There are many reasons why a system administrator would want to monitor its server(s).&lt;br /&gt;
*Prevent undesired events to happen&lt;br /&gt;
Without monitoring, a system administrator will react to a problem only when it has already occurred. Such issue can in the worst case cause a failure of the [http://whatis.techtarget.com/definition/Confidentiality-integrity-and-availability-CIA CIA triad]. It is of course wiser to anticipate such issues and solve the problem before they arise.&lt;br /&gt;
The monitoring system sends alerts that help to identify potential sources of futures failures to avoid.&lt;br /&gt;
&lt;br /&gt;
*Understand what happened in case of failure&lt;br /&gt;
In the event of a system failure, the monitoring system will give crucial information to determine where, when and how the problems occurred. &lt;br /&gt;
This information makes the debugging process to be much faster and easier.&lt;br /&gt;
&lt;br /&gt;
In the end, monitoring a system can be seen as an insurance policy. It costs money and time, but the money and time it saves is worth it.&lt;br /&gt;
&lt;br /&gt;
===Securing during logging===&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
==== Check for current version  ====&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
 &lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
[[File:Screenshot from 2016-10-05 22-32-56.jpg|thumb|right|graylog web interface]]&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
*After setting the graylog and the web interface is working follow the few steps to logging the system &lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-05 22-33-18.jpg|thumb|center|input]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-05 22-34-25.jpg|thumb|center|Setting up the logging]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-05 22-33-41.jpg|thumb|center|input]]&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
1- https://www.graylog.org&lt;br /&gt;
&lt;br /&gt;
2- http://docs.graylog.org/en/2.1/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106170</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106170"/>
		<updated>2016-10-05T19:56:45Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade the OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 05 October 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
==== Check for current version  ====&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
 &lt;br /&gt;
==== Upgrade  ====&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
*After setting the graylog and the web interface is working follow the few steps to logging the system &lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-05 22-33-18.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106169</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106169"/>
		<updated>2016-10-05T19:55:22Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade the OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 05 October 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First become super user &amp;quot;root&amp;quot;:&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions:&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 16.04 LTS, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the Ubuntu 16.04 LTS release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
*After setting the graylog and the web interface is working follow the few steps to logging the system &lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-10-05 22-33-18.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106164</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106164"/>
		<updated>2016-10-05T19:53:19Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade the OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First be super user&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 15.10, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the 16.04 release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
*After setting the graylog and the web interface is working follow the few steps to logging the system &lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106162</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106162"/>
		<updated>2016-10-05T19:52:37Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade the OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Release:16.04&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First be super user&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 15.10, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the 16.04 release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106161</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106161"/>
		<updated>2016-10-05T19:52:24Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade the OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you find that your machine is already running the following version or higher than:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
&lt;br /&gt;
Release:16.04&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Then there is no need to upgrade the OS&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First be super user&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 15.10, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the 16.04 release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106160</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106160"/>
		<updated>2016-10-05T19:51:30Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade the OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your current Ubuntu version by running the following command: &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you found your machine &lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then no need to do the next steps&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First be super user&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 15.10, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the 16.04 release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106159</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106159"/>
		<updated>2016-10-05T19:49:29Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade for all machines on the Elab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade the OS=&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your machine &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you found your machine &lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then no need to do the next steps&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First be super user&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 15.10, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the 16.04 release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106158</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106158"/>
		<updated>2016-10-05T19:48:28Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade for all machines on the Elab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade for all machines on the Elab=&lt;br /&gt;
If your machine is running older version then 16.04 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your machine &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you found your machine &lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then no need to do the next steps&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First be super user&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 15.10, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the 16.04 release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106157</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=106157"/>
		<updated>2016-10-05T19:48:01Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Starting to update and upgrade for all machines on the Elab */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Why we should logging our servers&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the Elab system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update and upgrade for all machines on the Elab=&lt;br /&gt;
If your machine is running older version then 16.04.1 which is the latest long term supported version, please follow the following commands to upgrade your machine to the latest version.&lt;br /&gt;
*First check your machine &lt;br /&gt;
&amp;lt;code&amp;gt;lsb_release -a&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you found your machine &lt;br /&gt;
&lt;br /&gt;
Description:Ubuntu 16.04.1 LTS&lt;br /&gt;
&lt;br /&gt;
Release:16.04&lt;br /&gt;
&lt;br /&gt;
Then no need to do the next steps&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*First be super user&lt;br /&gt;
&amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Begin by updating the package list&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Upgrade installed packages to their latest available versions&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Once upgrade finishes, use the dist-upgrade command, which will perform upgrades involving changing dependencies&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get dist-upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Now that you have an up-to-date installation of Ubuntu 15.10, you can use &amp;lt;code&amp;gt; do-release-upgrade&amp;lt;/code&amp;gt; to upgrade to the 16.04 release.&lt;br /&gt;
&lt;br /&gt;
= Initial Setup for graylog=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105860</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105860"/>
		<updated>2016-09-28T20:43:23Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Initial Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Threats.&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update an upgrade for all machines=&lt;br /&gt;
*First be super user &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Initial Setup=&lt;br /&gt;
==== Prerequisites ====&lt;br /&gt;
Ubuntu Linux machine, sudo access and some Linux beginner skills are needed.&lt;br /&gt;
The installation of Graylog is not that hard as described on some webpages. &lt;br /&gt;
In this tutorial the Ubuntu 16.04 64-bit VPS server will be used since it is the latest LTS. &lt;br /&gt;
Unfortunately, Graylog cannot be installed simply by using one command apt-get install graylog, because there is some prerequisite applications needed for it to work.&lt;br /&gt;
In this tutorial i will describe the commands, what is needed and how to configure the services to work together with the Graylog, installation is simple!&lt;br /&gt;
Attention! All links and packages/versions are present to the time of writing this guide it might need to be updated later on.&lt;br /&gt;
&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu 16.04 Linux host machine ===&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	It is important to have the latest package lists to update them to get info on the newst versions of packages and their dependencies.   So we need to run the following command to update them:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	Now we can install the setup base packages:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	&#039;&#039;&#039;MongoDB&#039;&#039;&#039; is a Free and open-source cross-platform document-oriented database program written in C++,C and JavaScript. Classified as a NoSQL database program in favor of JSON-like documents with dynamic schemas (format BSON) making the integration of data in certain types of applications like Graylog easier and faster.&lt;br /&gt;
&lt;br /&gt;
The version included in Ubuntu 16.04 LTS can be used together with Graylog 2 and higher, but it is also possible to check the [https://www.mongodb.com/download-center?jmp=nav#community official webpage] and download the needed/latest version.&lt;br /&gt;
&lt;br /&gt;
It can be installed by running the following command:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; apt-get install mongodb-server &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	&#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;  is a search engine based on Lucene written in Java. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.&lt;br /&gt;
&lt;br /&gt;
Elasticsearch is required for Graylog 2 and higher to work, so it is possible to see the complete installation instructions on the [https://www.elastic.co/guide/en/elasticsearch/reference/2.3/setup-repositories.html#_apt official page]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Commands:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo &amp;quot;deb https://packages.elastic.co/elasticsearch/2.x/debian stable main&amp;quot; | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install elasticsearch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	Modifying the Elasticsearch configuration file and setting the cluster name to graylog so it will be visible and accessible by graylog.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; nano /etc/elasticsearch/elasticsearch.yml&amp;lt;/code&amp;gt;&lt;br /&gt;
and change &amp;lt;code&amp;gt; cluster.name:elasticsearch&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt; cluster.name: graylog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	After config was modified, we can now start Elasticsearch:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl enable elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo /bin/systemctl restart elasticsearch.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to check if the elasticsearch configured correctly by using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl -XGET http://localhost:9200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	&#039;&#039;&#039;Graylog&#039;&#039;&#039; can now be installed if all the above steps were done successfully&lt;br /&gt;
First it is needed to install the Graylog repository using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wget https://packages.graylog2.org/repo/packages/graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo dpkg -i graylog-2.1-repository_latest.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo apt-get install graylog-server&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8)&#039;&#039;&#039;	After the Graylog has been installed it is needed to change the configuration&lt;br /&gt;
&lt;br /&gt;
Think about the password (which would be used to login) and then use the command:&lt;br /&gt;
&amp;lt;code&amp;gt;echo -n supersecretpassword123 | sha256sum&amp;lt;/code&amp;gt;&lt;br /&gt;
It will generate the sha256 hash of the password which would be needed to copy-pasted and add it to the &amp;lt;code&amp;gt;password_secret&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;root_password_sha2&amp;lt;/code&amp;gt; in the graylog config (&amp;lt;code&amp;gt;/etc/graylog/server/server.conf&amp;lt;/code&amp;gt;). This is mandatory to do! Without it Graylog will not start!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9)&#039;&#039;&#039;	In order to connect to Graylog web-interface it is needed to set &amp;lt;code&amp;gt;rest_listen_uri&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;web_listen_uri&amp;lt;/code&amp;gt; to the public hostname or IP address of the machine.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10)&#039;&#039;&#039;	Last step is to enable Graylog during the system startup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl daemon-reload&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl enable graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;sudo systemctl start graylog-server.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105854</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105854"/>
		<updated>2016-09-28T19:30:01Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Aim of this page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
The Aim of this wiki page is to give an introduction to Logging and Monitoring application called Graylog, what are the main benefits of it and how to install it on Ubuntu Machine.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Threats.&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Topology of the system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update an upgrade for all machines=&lt;br /&gt;
*First be super user &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Initial Setup=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105853</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105853"/>
		<updated>2016-09-28T19:26:36Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov,&lt;br /&gt;
Mohanad Aly,&lt;br /&gt;
Etienne Barrier,&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Threats.&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Topology of the system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update an upgrade for all machines=&lt;br /&gt;
*First be super user &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Initial Setup=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105852</id>
		<title>Logging&amp;monitoring</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Logging%26monitoring&amp;diff=105852"/>
		<updated>2016-09-28T19:26:04Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Logging and Monitoring - Logging Solution - Graylog&lt;br /&gt;
&lt;br /&gt;
Team: &lt;br /&gt;
Artur Ovtsinnikov&lt;br /&gt;
Mohanad Aly&lt;br /&gt;
Etienne Barrier&lt;br /&gt;
Meelis Hass &lt;br /&gt;
&lt;br /&gt;
Group : Cyber Security Engineering (C21)&lt;br /&gt;
&lt;br /&gt;
Page Created: 18 September 2016&lt;br /&gt;
&lt;br /&gt;
‎Last modified: ‎ 28 September 2016&lt;br /&gt;
&lt;br /&gt;
= Aim of this page =&lt;br /&gt;
*&#039;&#039;&#039;logging and monitoring.&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;The best solution for logging&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Threats.&#039;&#039;&#039;   &lt;br /&gt;
*&#039;&#039;&#039;Securing during logging&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Topology of the system=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#20B336&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Desktop machine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot from 2016-09-18 17-43-55.jpg|thumb|right|Topology []]]&lt;br /&gt;
&lt;br /&gt;
Begin with the basic setup, network configuration and make the machine has internet access which the ip address of the machine is 192.168.56.100&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Server machine ip address 192.168.56.200&#039;&#039;&#039; &lt;br /&gt;
*Can be connected over ssh with student@192.168.56.200&lt;br /&gt;
*Also can connect with other IP address ssh student@10.10.10.10&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;IDS ip address 192.168.56.201&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Starting to update an upgrade for all machines=&lt;br /&gt;
*First be super user &amp;lt;code&amp;gt;sudo -i&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get upgrade&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Initial Setup=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Summary=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
[[Category:Logging and monitoring]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=English&amp;diff=105405</id>
		<title>English</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=English&amp;diff=105405"/>
		<updated>2016-09-14T11:12:00Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Courses */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Welcome to Estonian IT College wikis English version.&lt;br /&gt;
&lt;br /&gt;
Our official web page&lt;br /&gt;
&lt;br /&gt;
==Courses==&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/I253_Presessional_Informatics Presessional course in Informatics]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Category:I600_Introduction_to_Computers_and_Informatics Introduction to Computers and Informatics]&lt;br /&gt;
** [[Exam help]]&lt;br /&gt;
* [[Logic and Discrete Mathematics Exam Help]]&lt;br /&gt;
* [[Operating systems]]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Category:I703_Python Python]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Category:I702_Web_Application_Programming Web Application Programming]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Category:I802_Firewalls_and_VPN_IPSec Firewalls and VPN/IPSec]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Category:Ideas Ideas for research project or thesis]&lt;br /&gt;
* [[I803 IT Infrastructure services]]&lt;br /&gt;
&lt;br /&gt;
==Quickstart==&lt;br /&gt;
&lt;br /&gt;
This section is for freshmen who want to get up to speed with latest open-source technology.&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/User:Akerge CSE survival guide]&lt;br /&gt;
* [[Getting started with Ubuntu]]&lt;br /&gt;
* [[Getting started with Raspberry Pi]]&lt;br /&gt;
* [[Accessing a virtual machine via SSH connection]]&lt;br /&gt;
* [[Setting up SSH access to enos.itcollege.ee]]&lt;br /&gt;
* [[Getting started with GCC]]&lt;br /&gt;
&lt;br /&gt;
==International Projects==&lt;br /&gt;
&lt;br /&gt;
* [[Deploying IT Infrastructure Solutions| Erasmus intensive program &amp;quot;Deploying IT Infrastructure Solutions&amp;quot;]]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104297</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104297"/>
		<updated>2016-06-03T00:59:13Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL). &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control. &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] OpenVPN Overview&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/OpenVPN] OpenVPN Wikipedia&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about Supported Operation Systems&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/pricing.html] Pricing OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8) &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode. &amp;lt;ref&amp;gt;[https://openvpn.net] VPN Solution&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] VPN Solutions and differences&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone who is interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist|30em}}&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104296</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104296"/>
		<updated>2016-06-03T00:56:58Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Difference between Community Edition VPN and Access Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL). &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control. &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] OpenVPN Overview&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/OpenVPN] OpenVPN Wikipedia&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about Supported Operation Systems&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/pricing.html] Pricing OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8) &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode. &amp;lt;ref&amp;gt;[https://openvpn.net] VPN Solution&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] VPN Solutions and differences&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist|30em}}&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104295</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104295"/>
		<updated>2016-06-03T00:56:01Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Supported Operation Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL). &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control. &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] OpenVPN Overview&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/OpenVPN] OpenVPN Wikipedia&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about Supported Operation Systems&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/pricing.html] Pricing OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8) &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode. &amp;lt;ref&amp;gt;[https://openvpn.net] VPN Solution&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist|30em}}&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104294</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104294"/>
		<updated>2016-06-03T00:55:13Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL). &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control. &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] OpenVPN Overview&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/OpenVPN] OpenVPN Wikipedia&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/pricing.html] Pricing OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8) &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode. &amp;lt;ref&amp;gt;[https://openvpn.net] VPN Solution&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist|30em}}&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104293</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104293"/>
		<updated>2016-06-03T00:54:11Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL). &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control. &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/OpenVPN] OpenVPN Wikipedia&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/pricing.html] Pricing OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8) &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode. &amp;lt;ref&amp;gt;[https://openvpn.net] VPN Solution&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist|30em}}&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104292</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104292"/>
		<updated>2016-06-03T00:52:56Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL). &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control. &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/OpenVPN] OpenVPN Wikipedia&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/pricing.html] Pricing OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8) &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode. &amp;lt;ref&amp;gt;[https://openvpn.net] VPN Solution&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104291</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104291"/>
		<updated>2016-06-03T00:52:27Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL). &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control. &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt; &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/OpenVPN] OpenVPN Wikipedia&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/overview.html] Information about OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/pricing.html] Pricing OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8) &amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode. &amp;lt;ref&amp;gt;[https://openvpn.net] VPN Solution&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://openvpn.net/index.php/access-server/section-faq-openvpn-as/general/136-which-operating-system-does-the-access-server-software-support.html] FAQ OpenVPN&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104290</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104290"/>
		<updated>2016-06-03T00:44:03Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment. OpenVPN was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls.&lt;br /&gt;
OpenVPN Access Server is amazing, free (2 license) and user friendly VPN service which can be installed on any Linux machine and used as much as needed without additional cost, logs can be deleted and only the owner of the server see the traffic which makes it even better and safer. The installation and configuration of the Access Server is very easy and can be done in easy 7 steps.&lt;br /&gt;
I have been using this for years and would recommend it to everyone interested in having their own VPN.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104289</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104289"/>
		<updated>2016-06-03T00:34:02Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so manual installation steps can be found in this tutorial.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104288</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104288"/>
		<updated>2016-06-03T00:32:36Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Pricing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104287</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104287"/>
		<updated>2016-06-03T00:32:16Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Supported Operation Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for the machine on the official website or it is possible to get it after installation of Access Server and logging in with the credentials to server ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104286</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=104286"/>
		<updated>2016-06-03T00:31:39Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Step by Step Installation tutorial on Ubuntu Linux host machine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First it is needed to become root user&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	It is needed to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now it is possible to go back to server console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where user currently are. (it is possible to change, use pwd to see current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now it is possible to install downloaded file using following command dpkg –i (downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is it. OpenVPN AS is now installed. But there is some configurations needed before using it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons it is needed to be changed using command (as root) after it user will be provided to enter password. Make sure the password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now the OpenVPN AS web interface is ready, it can be found by default port 943 and server ip address, login using username openvpn and password that have been set before. (After logging in user would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter user credentials. And connection to the Access Server have been established. It is also possible to download official Android or iOS application to use VPN on the smartphone.&lt;br /&gt;
Note: There is also a possibility to login to Admin Ul page if it is needed to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
Done! OpenVPN Access Server have been installed and configured for free and user can be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if any questions appear please contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=103071</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=103071"/>
		<updated>2016-05-04T09:12:17Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Step by Step Installation tutorial on Ubuntu Linux host machine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where you currently are. (it is possible to change, use pwd to see your current directory) File will be something around 28 MB (for 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons we are going to change the password using command (as root) after it you will be provided to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov using Linux Ubuntu 14.02 at 03.04.2016, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102405</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102405"/>
		<updated>2016-04-03T16:12:05Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
=== Step by Step Installation tutorial on Ubuntu Linux host machine===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where you currently are. (it is possible to change, use pwd to see your current directory) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102404</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102404"/>
		<updated>2016-04-03T16:07:36Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
== Step by Step Installation tutorial on Ubuntu Linux host machine==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where you currently are. (it is possible to change, use pwd to see your current directory) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Operating_systems&amp;diff=102403</id>
		<title>Operating systems</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Operating_systems&amp;diff=102403"/>
		<updated>2016-04-03T16:05:57Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* List of the topics chosen: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Operating systems subject related info=&lt;br /&gt;
&lt;br /&gt;
Lecturer: &lt;br /&gt;
&lt;br /&gt;
Katrin Loodus (katrin.loodus@itcollege.ee) &lt;br /&gt;
&lt;br /&gt;
Room 516 (5th floor), phone (6285) 834&lt;br /&gt;
&lt;br /&gt;
All subject related infotmation will be put up on Wiki page, due to the possibility to have access to the materials even after the subject has concluded. Materials, such as tests, lectures and links to additional materials, will remain available throughout the subject teaching period. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Aim of this course=&lt;br /&gt;
&lt;br /&gt;
The aim of this course is to introduce the basics of operating systems and IT system life cycle from the viewpoint of the IT system administrator of operating systems. This subject provides hands-on skills needed to complete other field specific subjects in the curriculum.&lt;br /&gt;
&lt;br /&gt;
Lectures give a theoretical background and the labs give hands-on skills on the same topic using Ubuntu Linux Server.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This subject is oriented on hands-on practical assignments to compliment the theoretical side of the subject.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Learning outcome 1: &lt;br /&gt;
&lt;br /&gt;
A student who has completed the subject is able to perform the most common administrative tasks (user management, software management, disk usage, process management) in at least one of the most popular operating system on a server.&lt;br /&gt;
&lt;br /&gt;
Learning outcome 2: &lt;br /&gt;
&lt;br /&gt;
A student who has completed the subject understands and is able to explain orally the basic concepts of operating systems and its security aspects.&lt;br /&gt;
&lt;br /&gt;
Learning outcome 3: &lt;br /&gt;
&lt;br /&gt;
The student is able to document an operating system&#039;s service from an IT systems administrator&#039;s viewpoint.&lt;br /&gt;
&lt;br /&gt;
=Deadlines for assignments 2016=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;03.04.2016&#039;&#039;&#039; - Submission of wiki article&#039;s topic (Sending an e-mail with the chosen topic is mandatory!)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10.05.2016&#039;&#039;&#039; - Pre practical test for students, who have done all of their labs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;08.05.2016 23:59&#039;&#039;&#039; - Submission of wiki article and sending an e-mail to the lecturer in order to get it graded&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;23.05.2016&#039;&#039;&#039; - Last option to defend lab work (Lab1 and/or Lab2)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;24.05.2016&#039;&#039;&#039; - Practical test&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;??.06.2016&#039;&#039;&#039; - Exam  in room ???&lt;br /&gt;
&lt;br /&gt;
All dates are inclusive.&lt;br /&gt;
&lt;br /&gt;
=(Occasional) Homework=&lt;br /&gt;
&lt;br /&gt;
==Week 0 &amp;amp; 1==&lt;br /&gt;
&lt;br /&gt;
Get familiar with the Unix command line by trying out this Codeacadamy [https://www.codecademy.com/learn/learn-the-command-line short course].&lt;br /&gt;
&lt;br /&gt;
=Timetable for lectures 2016=&lt;br /&gt;
&lt;br /&gt;
Public chat for any subject related questions that were left unasked during the lecture: https://chatlink.com/#osadmin_ITKolledz&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
Link to lecture and lab captures:&amp;lt;/span&amp;gt; [https://echo360.e-ope.ee/ess/portal/section/d38715c3-2cc6-43ee-bc1c-818df79d0b41 Go to captures]&lt;br /&gt;
&lt;br /&gt;
==Lecture 0==&lt;br /&gt;
February 09th 2016 [http://enos.itcollege.ee/~kloodus/opsys/lecture00%20-%20Introduction%20-%202016.odp Lecture 0 - Introduction to subject (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture00%20-%20Introduction%20-%202016.pdf (PDF) ]&lt;br /&gt;
&lt;br /&gt;
[http://enos.itcollege.ee/~kloodus/opsys/test_answers_spring2016.txt Test answers].&lt;br /&gt;
&lt;br /&gt;
==Lecture 1==&lt;br /&gt;
&lt;br /&gt;
February 12th 2016 [http://enos.itcollege.ee/~kloodus/opsys/lecture01%20-%20OS%20introduction.odp Lecture 1 - Operating systems introduction (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture01%20-%20OS%20introduction.pdf (PDF) ]&lt;br /&gt;
&lt;br /&gt;
* Lecture will be on the February 12th at 8:15 in room 219&lt;br /&gt;
&lt;br /&gt;
* Practice will be on the same day at 10:00 in room 410&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; Homereading materials:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/playlist?list=PLmbPuZ0NsyGS8ef6zaHd2qYylzsHxL63x Introduction to operating systems (videos)]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Operating_system Operating systems (wikipedia article)]&lt;br /&gt;
&lt;br /&gt;
==Lecture 2==&lt;br /&gt;
&lt;br /&gt;
February 16th 2016 [http://enos.itcollege.ee/~kloodus/opsys/lecture02%20-%20user%20management.odp Lecture 2 - User management (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture02%20-%20user%20management.pdf (PDF) ]&lt;br /&gt;
&lt;br /&gt;
==Lecture 3==&lt;br /&gt;
&lt;br /&gt;
February 23rd 2016 [http://enos.itcollege.ee/~kloodus/opsys/lecture03%20-%20managing%20files%20-%202016.odp Lecture 3 - File permissions (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture03%20-%20managing%20files%20-%202016.pdf (PDF)]&lt;br /&gt;
&lt;br /&gt;
==Lecture 4==&lt;br /&gt;
March 1st 2016 [http://enos.itcollege.ee/~kloodus/opsys/lecture04%20-%20user%20environment%20and%20processes%20-%202016.odp Lecture 4 - User environment and processes (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture04%20-%20user%20environment%20and%20processes%20-%202016.pdf (PDF)]&lt;br /&gt;
&lt;br /&gt;
==Lecture 5==&lt;br /&gt;
&lt;br /&gt;
March 8th 2016 Lecture 5 - [http://enos.itcollege.ee/~kloodus/opsys/lecture05%20-%20FHS%20and%20links%20-%202016.odp Filesystem Hierarchy (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture05%20-%20FHS%20and%20links%20-%202016.pdf (PDF)]&lt;br /&gt;
&lt;br /&gt;
==Lecture 6==&lt;br /&gt;
&lt;br /&gt;
March 15th 2016 [http://enos.itcollege.ee/~kloodus/opsys/lecture06%20-%20Software%20management%20-%202016.odp Lecture 6 - Software management (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture06%20-%20Software%20management%20-%202016.pdf (PDF)]&lt;br /&gt;
&lt;br /&gt;
==Lecture 7==&lt;br /&gt;
&lt;br /&gt;
March 22nd 2016 - [http://enos.itcollege.ee/~kloodus/opsys/lecture07%20-%20Documentation%20-%202016.odp Lecture 7 - Documentation (OpenDocument)] [http://enos.itcollege.ee/~kloodus/opsys/lecture07%20-%20Documentation%20-%202016.prd (PDF)]&lt;br /&gt;
&lt;br /&gt;
==Lecture 8==&lt;br /&gt;
&lt;br /&gt;
April 5th 2016 - Lecture 8 - Security session&lt;br /&gt;
&lt;br /&gt;
==Lecture 9==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; April 12th 2016 - No lecture nor labs - Lecturer is away &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Substitute lecture and lab time will be announced later&lt;br /&gt;
&lt;br /&gt;
==Lecture 10==&lt;br /&gt;
&lt;br /&gt;
April 19th 2016 - Lecture 10 - Disks, partitions and swap area&lt;br /&gt;
&lt;br /&gt;
==Lecture 11==&lt;br /&gt;
&lt;br /&gt;
April 26th 2016 - Lecture 11 - RAID; LVM, SAN and NAS technologies&lt;br /&gt;
&lt;br /&gt;
==Lecture 12==&lt;br /&gt;
May 3rd 2016 - Lecture 12 - Backup and recovery&lt;br /&gt;
&lt;br /&gt;
==Lecture 13==&lt;br /&gt;
&lt;br /&gt;
May 10th 2016 - Lecture 13 - Monitoring&lt;br /&gt;
&lt;br /&gt;
==Lecture 14==&lt;br /&gt;
&lt;br /&gt;
May 17th 2016 - Lecture 14 - Miscellaneous topics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;&lt;br /&gt;
Lecture will be held in room &#039;&#039;&#039;319!&#039;&#039;&#039; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Lecture 15==&lt;br /&gt;
&lt;br /&gt;
=Lab works=&lt;br /&gt;
&lt;br /&gt;
==Lab 0==&lt;br /&gt;
&lt;br /&gt;
Installing Ubuntu Server 14.04.3 LTS&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Introduction to Unix command line&#039;&#039;&#039; (cd, ls, cat, full path, relative path etc)&lt;br /&gt;
&lt;br /&gt;
==Lab 1== &lt;br /&gt;
&lt;br /&gt;
3 points - &#039;&#039;&#039;Managing users&#039;&#039;&#039; (adduser, addgroup, passwd, /etc/passwd, /etc/shadow)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create a user noodle&lt;br /&gt;
&lt;br /&gt;
2) Add a new group food and add a the user noodle to a group called food.&lt;br /&gt;
&lt;br /&gt;
3) Divert the user noodle&#039;s password hash via cowsay to a file called cownoodle.txt.&lt;br /&gt;
&lt;br /&gt;
4) Lock the user noodle and be ready to show me the indication of the user being locked. &lt;br /&gt;
&lt;br /&gt;
5) Change the user&#039;s current home directory into /home/unknown so that the files will also be moved to the new location.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5 points - &#039;&#039;&#039;Managing files&#039;&#039;&#039; (mkdir, cp, mv, rm, touch, nano, less, chmod, chown, rwx, 644 etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Create a folder march in root user directory and for every march day a subfolder with a name day1, day2, day3 … day31. (Example: /root/march/day1 or /root/march/day2 etc)&lt;br /&gt;
&lt;br /&gt;
2) Modify the march folder owner so that it will be student and the new group audio.&lt;br /&gt;
&lt;br /&gt;
3) Modify the march folder&#039;s and its subfolders so that the user can do anything, group can do ls in the folder and cd into it and others can&#039;t do anything with it.&lt;br /&gt;
&lt;br /&gt;
4) Create a hard link called network to a file /etc/network/interfaces &lt;br /&gt;
&lt;br /&gt;
5) Copy /var/log directory into march folder so that the timestamp and user info will be preserved.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4 points - &#039;&#039;&#039;Processes and environment variables&#039;&#039;&#039; (kill, using directing input/output/error: |, &amp;lt;, &amp;gt;, &amp;gt;&amp;gt;; env, PATH, HOME etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Divert the list with the student user&#039;s groups via cowsay into a fail studgroup.txt.&lt;br /&gt;
&lt;br /&gt;
2) Create a environment variable called MYHOME that has the value of the system&#039;s HOME environment variable. (Hint: you have tu use variable symbol here!)&lt;br /&gt;
&lt;br /&gt;
3) Send 2 htop&#039;s to the background and be ready to present how you send a kill signal to the first htop by job number and term signal to the second htop by a process number. &lt;br /&gt;
&lt;br /&gt;
4) Create an alias called bye that logs you out of the terminal. Make this alias permanent. &lt;br /&gt;
&lt;br /&gt;
5) Execute a programm called espdiff and diver the standardoutput to a file called okay.txt and the standard error to a file called notokay.txt. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 points - &#039;&#039;&#039;Managing software&#039;&#039;&#039; (installation, updating, deleting, apt and dpkg utils)&lt;br /&gt;
&lt;br /&gt;
==Lab 2==&lt;br /&gt;
&lt;br /&gt;
7 points - &lt;br /&gt;
&#039;&#039;&#039;Managing disks by creating partitions&#039;&#039;&#039; (fdisk, mkfs, blkid, mount, umount)&lt;br /&gt;
&lt;br /&gt;
5 points - &lt;br /&gt;
&#039;&#039;&#039;Managing swap&#039;&#039;&#039; (mkswap, swapon, swapoff)&lt;br /&gt;
&lt;br /&gt;
=Practical tests=&lt;br /&gt;
&lt;br /&gt;
==2016==&lt;br /&gt;
&lt;br /&gt;
=Exams=&lt;br /&gt;
&lt;br /&gt;
==2016==&lt;br /&gt;
&lt;br /&gt;
=Wiki article information=&lt;br /&gt;
&lt;br /&gt;
* Choose a topic from personal experience or from topics found on the wiki page&lt;br /&gt;
&lt;br /&gt;
*Send the topic to the lecturer kloodus@itcollege.ee&lt;br /&gt;
&lt;br /&gt;
*Lecturer will confirm the topic&lt;br /&gt;
&lt;br /&gt;
*Write your article in wiki environment &lt;br /&gt;
&lt;br /&gt;
*Inform the lecturer when the article is finished&lt;br /&gt;
&lt;br /&gt;
*Receive feedback with corrections&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt; &lt;br /&gt;
Bare in mind that this is an open environment, so everything you write in your wiki article, will be public :) &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===List of the topics chosen:===&lt;br /&gt;
&lt;br /&gt;
[[User:akerge|Artur Kerge]] is doing an article on [[Irssi]].&lt;br /&gt;
&lt;br /&gt;
[[OpenVPN_Access_Server|OpenVPN Access Server]] by  [[User:aovtsinn|Artur Ovtsinnikov]]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Securing_database_with_command_line_linux Securing database with command line Linux] [Mohanad Aly]&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102402</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102402"/>
		<updated>2016-04-03T15:59:43Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
== Step by Step Installation tutorial on Ubuntu Linux host machine==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where you currently are. (it is possible to change, use pwd to see your current directory) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: [http://cloud.arturich.tk/Access%20Server.pdf LINK]&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102399</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102399"/>
		<updated>2016-04-03T15:12:00Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Step by Step Installation tutorial on Ubuntu Linux host machine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
== Step by Step Installation tutorial on Ubuntu Linux host machine==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to the folder where you currently are. (it is possible to change, use pwd to see your current directory) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: LINK &lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102398</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102398"/>
		<updated>2016-04-03T15:03:02Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: /* Step by Step Installation and configuration tutorial on Ubuntu Linux host machine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
== Step by Step Installation tutorial on Ubuntu Linux host machine==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to root user home directory. (it is possible to change.) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: LINK &lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102397</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102397"/>
		<updated>2016-04-03T15:02:41Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
== Step by Step Installation and configuration tutorial on Ubuntu Linux host machine==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to root user home directory. (it is possible to change.) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
* Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
* Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: LINK &lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102396</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102396"/>
		<updated>2016-04-03T15:02:10Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
== Step by Step Installation and configuration tutorial on Ubuntu Linux host machine==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
Unfortunately, OpenVPN Assess Server cannot be installed using apt-get install, so we will be downloading installation files by ourselves.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to root user home directory. (it is possible to change.) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
&lt;br /&gt;
Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: LINK &lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102395</id>
		<title>OpenVPN Access Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=OpenVPN_Access_Server&amp;diff=102395"/>
		<updated>2016-04-03T14:48:48Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
[[File:Openvpn2.png|thumb|right|alt=A screenshot of Open VPN Client UI.| Logged in Open VPN Client UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
OpenVPN Access Server (OpenVPN-AS) is a set of installation and configuration tools that simplify the rapid deployment of a VPN remote access solution. It is based on the popular OpenVPN open-source software, making the deployed VPN immediately compatible with OpenVPN client software across multiple user platforms. The server configurations options supported are a carefully selected subset of a quite large set of possible OpenVPN configurations. Thus, OpenVPN Access Server streamlines the configuration and management of an OpenVPN-based secure remote access deployment.&lt;br /&gt;
&lt;br /&gt;
== About OpenVPN ==&lt;br /&gt;
OpenVPN is an open-source software application that implements virtual private network (VPN) techniques for creating secure point-to-point connections in routed or bridged configurations and remote access facilities. It uses a custom security protocol that utilizes SSL/TLS for key exchange. It is capable of traversing network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL).&lt;br /&gt;
&lt;br /&gt;
=== Overview===&lt;br /&gt;
OpenVPN Access Server is a full featured secure network tunneling VPN software solution that integrates OpenVPN server capabilities, enterprise management capabilities, simplified OpenVPN Connect UI, and OpenVPN Client software packages that accommodate Windows, MAC, Linux, Android, and iOS environments. OpenVPN Access Server supports a wide range of configurations, including secure and granular remote access to internal network and/ or private cloud network resources and applications with fine-grained access control.&lt;br /&gt;
=== Supported Operation Systems===&lt;br /&gt;
OpenVPN currently supports all main operation systems such as Windows, Mac OS X, Android, iOS and Linux It is possible to download software for your machine on the official website or it is possible to get it after installation of Access Server and logging in with your credentials to your ip_address_or_domain_name:943 (port 943 is default can be changed in the config) and it is possible to download after logging in connection profile for autologin or user-locked profile. (possible to change those settings in the Admin panel of OpenVPN Access Server.&lt;br /&gt;
=== Pricing===&lt;br /&gt;
OpenVPN is a free sorfware application which provides you 2 user license ( which means that 2 users/machines can be using current OpenVPN Access Server at the same time) after installation which is more then enough for a one person to use. Although it is possible to purchase more Licenses on official website for 9.60$ per concurrent user. And minimum license term is for one year.&lt;br /&gt;
== Operating system to Host Access Server software==&lt;br /&gt;
Currently, the Access Server software must be run on a 32-bit or 64-bit Linux host. The software is released in the form of binary package files for particular Linux distributions. Supported are RedHat, Fedora, CentOS, Ubuntu, Debian and openSUSE (Most RPM packages can be ran on the following systems: CentOS 6 and 7, Fedora 22, RHEL 6, openSUSE 13. The Deb packages can be ran on the following systems: Ubuntu 12, Debian 6,7,8)&lt;br /&gt;
&lt;br /&gt;
== Difference between Community Edition VPN and Access Server==&lt;br /&gt;
Both Community Edition and Access Server is provided by OpenVPN and they both have something in common like: Secured VPN Tunnel, GUI Client, Bridging, Configurable Ciphers and Real-time compression. But Access Server provides more options such as Web Based GUI (it is possible to use VPN without need of downloading any additional software), Pre-configured Client (possible to download auto filled profile and Auto-login option available), Automated Certificate Creation (Access server web page will also be protected with encrypted https connection (TLS 1.2, The connection is encrypted and authenticated using AES_128_GCM and uses ECDHE_RSA as the key exchange mechanism.) Easy Deployment, Failover Solution, Simple User Management, Pre-built Virtual Appliances, Fill LDAP support, Easy Scalability, User-mode Client, Multi-daemon mode and DMZ mode.&lt;br /&gt;
== Step by Step Installation and configuration tutorial on Ubuntu Linux host machine==&lt;br /&gt;
Prerequisites: Ubuntu Linux machine and some Linux beginner skills.&lt;br /&gt;
The installation of OpenVPN-AS is simple. In this tutorial I will be using Ubuntu 14.04 64-bit VPS server. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1)&#039;&#039;&#039;	First we would need to become root &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt; sudo su&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2)&#039;&#039;&#039;	We would need to download the latest software installation files from official website which can be found here: [https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html Official Download Page] (Click on the needed Operation System and select needed version to download (32 bit or 64 bit and Ubuntu version 12 or 14) then right click on it and copy link) &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3)&#039;&#039;&#039;	Now we go back to our console panel and download the OpenVPN Access Server using wget and paste copied link before. File will be downloaded by default to root user home directory. (it is possible to change.) File will be something around 28 MB (my file 64bit Ubuntu Linux)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;wget http://swupdate.openvpn.org/as/openvpn-as-2.0.25-Ubuntu12.amd_64.deb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4)&#039;&#039;&#039;	Now we install downloaded file using following command dpkg –i (And downloaded file name)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;dpkg –i openvpn-as-2.0.25-Ubuntu12.amd_64.deb&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That’s it. OpenVPN AS is now installed. But there is some configurations needed before we can use it. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5)&#039;&#039;&#039;	During the installation OpenVPN created admin user which is by default called “openvpn” but the password left empty for security reasons are are going to change the password using command (as root) after command you will be provided with be promted to enter password. Make sure your password is secure!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Command:&#039;&#039; &amp;lt;code&amp;gt;passwd openvpn&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6)&#039;&#039;&#039;	Now we are going to check the OpenVPN AS web interface which can be found by default port 943 and your ip address, login using username openvpn and password what you set before. (After logging in you would need to click Agree to accept the License Agreement.&lt;br /&gt;
&lt;br /&gt;
Admin page: https://ip_address_or_domain:943/admin&lt;br /&gt;
Client page: https://ip_address_or_domain:943/&lt;br /&gt;
&lt;br /&gt;
Note: The server’s SSL is self-signed so not need to worry about the bad security warning&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7)&#039;&#039;&#039;	Download needed OpenVPN Connect software by clicking the link. After it has finished downloading, run it and enter your credentials. And connection to your Access Server have been established. You can also download official Android or iOS application to use VPN on your smartphone.&lt;br /&gt;
Note: You can also login to Admin Ul page if you want to add users or change settings, although the default settings works fine without any problems.&lt;br /&gt;
&lt;br /&gt;
We are done! Have fun with your OpenVPN Access Server for free and be more secure using this encrypted connection. &lt;br /&gt;
&lt;br /&gt;
Tutorial created by Artur Ovtsinnikov, if you have any questions it is possible to contact me by email.&lt;br /&gt;
&lt;br /&gt;
== See Also==&lt;br /&gt;
A bit better Step-by-Step pdf tutorial with screenshots can be downloaded here: LINK &lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
https://openvpn.net&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/overview.html&lt;br /&gt;
&lt;br /&gt;
https://openvpn.net/index.php/access-server/docs/admin-guides-sp-859543150.html&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/OpenVPN&lt;br /&gt;
&lt;br /&gt;
https://en.wikipedia.org/wiki/Pre-shared_key&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Openvpn2.png&amp;diff=102394</id>
		<title>File:Openvpn2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Openvpn2.png&amp;diff=102394"/>
		<updated>2016-04-03T14:47:56Z</updated>

		<summary type="html">&lt;p&gt;Aovtsinn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Aovtsinn</name></author>
	</entry>
</feed>