Important Technology In The World Today

A Snapshot: Important Technology In The World Today

The field of technology is broad and constantly evolving, encompassing a wide range of important topics. Here is a list of some of the most important and relevant topics in the subject of technology:

  • Artificial Intelligence (AI): AI involves the development of machines and software that can perform tasks that typically require human intelligence, such as problem-solving, language recognition, and decision-making.

  • Machine Learning: A subset of AI, machine learning focuses on the development of algorithms and models that enable computers to learn from data and make predictions or decisions without explicit programming.

  • Data Science: Data science is the study of data to extract insights and knowledge. It involves data collection, cleaning, analysis, and interpretation, often using statistical and computational methods.

  • Internet of Things (IoT): IoT is the network of interconnected devices and objects that can collect and exchange data, enabling automation and control of various systems.

  • Cybersecurity: The protection of computer systems, networks, and data from unauthorized access, attacks, and breaches is a critical technology topic, given the growing frequency of cyber threats.

  • Cloud Computing: Cloud computing involves the delivery of computing services (e.g., storage, processing, and networking) over the internet, enabling scalable and cost-effective solutions.

  • Big Data: Big data refers to the massive volumes of structured and unstructured data generated in today’s digital world. Analyzing and extracting value from this data is a significant technological challenge.

  • Blockchain: Blockchain technology is the basis for cryptocurrencies like Bitcoin and is also being used for secure and transparent record-keeping in various industries.

  • 5G and Connectivity: The rollout of 5G networks and the development of faster, more reliable communication technologies are transforming the way we connect and use devices.

  • Robotics: Robotics involves the design and development of mechanical devices and systems that can perform tasks autonomously or semi-autonomously, often with the goal of assisting or replacing humans.

  • Quantum Computing: Quantum computing explores the potential of quantum bits (qubits) to perform complex calculations at speeds unimaginable with classical computers, which could revolutionize fields like cryptography and materials science.

  • Augmented Reality (AR) and Virtual Reality (VR): AR and VR technologies create immersive digital experiences that blend the virtual and physical worlds, offering applications in gaming, education, healthcare, and more.

  • Biotechnology: Advances in biotechnology, including genomics and gene editing, have significant implications for healthcare, agriculture, and environmental conservation.

  • Autonomous Vehicles: The development of self-driving cars and autonomous transportation systems is a rapidly advancing field with potential to revolutionize the automotive industry.

  • Green Technology: Sustainable and environmentally friendly technologies, such as renewable energy sources and energy-efficient practices, are critical for addressing climate change and reducing environmental impact.

  • Human-Computer Interaction (HCI): HCI focuses on how humans interact with technology and aims to create user-friendly, accessible, and inclusive digital interfaces.

  • Quantum Information Science: This field explores the fundamental principles of quantum mechanics for information processing and communication, with applications in cryptography and secure communication.

  • Space Technology: Advancements in space technology are enabling space exploration, satellite communications, and the potential for future human missions to other planets.

  • 3D Printing/Additive Manufacturing: This technology allows the creation of three-dimensional objects by adding material layer by layer, revolutionizing manufacturing and prototyping.

As technology advances, the ethical and legal implications of its use, including privacy, data protection, and artificial intelligence ethics, become increasingly important. These topics represent a snapshot of the diverse and dynamic field of technology, and each has its own set of challenges and opportunities for innovation and progress.

This article was originally published at http://micro.rodeo and is being used with permission from the author.

Guide to Web Servers

Exploring the Heart of the Internet: A Comprehensive Guide to Web Servers

Introduction

The internet is an intricate ecosystem of interconnected devices and services, and at the heart of this digital universe are web servers. These powerful machines play a vital role in delivering web content to users worldwide. In this comprehensive guide, we will delve into the world of web servers, exploring their functions, types, and the technologies that make them tick.

What is a Web Server?

At its core, a web server is a specialized software or hardware system that responds to requests from clients (typically web browsers) by serving web content. These requests are initiated when users enter a URL in their browser, and the web server processes the request, retrieves the requested information, and sends it back to the user’s browser. This entire process happens in a matter of seconds, making web servers a fundamental component of the internet.

Functions of Web Servers

Web servers perform several essential functions that enable websites and web applications to function effectively:

  • Request Handling: When a user enters a URL or clicks on a link, the web server receives the request and processes it, determining what content to deliver to the client.

  • Content Storage: Web servers store web content, which includes HTML files, images, stylesheets, scripts, and more. This content is organized into directories and made accessible for retrieval.

  • Content Delivery: After processing the request, the web server sends the requested content to the client’s browser, which can be in the form of static files or dynamically generated pages.

  • Authentication and Security: Web servers often enforce security measures like authentication, SSL/TLS encryption, and access control to protect data and ensure safe interactions between clients and the server.

  • Load Balancing: In cases of high traffic or resource-intensive applications, web servers can distribute requests across multiple servers to ensure optimal performance and uptime.

  • Logging and Monitoring: Web servers maintain logs of incoming requests and server performance, helping administrators analyze traffic and diagnose issues.

Types of Web Servers

There are several popular web server software solutions, each with its unique features and capabilities. Some of the most commonly used web servers include:

  • Apache HTTP Server: Apache is one of the oldest and most widely used open-source web server software. Known for its flexibility and robust performance, it powers a significant portion of websites worldwide.

  • Nginx: Nginx is another open-source web server that excels in handling high levels of concurrent connections. It is often chosen for its performance and efficiency, particularly in serving static content and as a reverse proxy.

  • Microsoft Internet Information Services (IIS): IIS is a web server developed by Microsoft, primarily used on Windows servers. It offers seamless integration with Microsoft technologies and is a popular choice for organizations using Windows-based systems.

  • LiteSpeed Web Server: LiteSpeed is a commercial web server known for its speed and high-performance features. It offers advanced caching and optimization capabilities, making it a great choice for high-traffic websites.

  • Caddy: Caddy is a modern, open-source web server that emphasizes simplicity and automation. It is known for its automatic HTTPS support and easy configuration.

Technologies Behind Web Servers

Web servers rely on various technologies and protocols to function efficiently. Some of the key technologies and protocols include:

  • HTTP/HTTPS: The Hypertext Transfer Protocol (HTTP) is the foundation of web communication, enabling clients and servers to exchange data. HTTPS (HTTP Secure) adds an extra layer of security through SSL/TLS encryption.

  • DNS (Domain Name System): DNS translates user-friendly domain names into IP addresses, allowing browsers to locate web servers on the internet.

  • IP Addresses: Web servers are assigned IP addresses that help clients identify and connect to them.

  • SSL/TLS: Secure Sockets Layer (SSL) and its successor, Transport Layer Security (TLS), provide encryption and secure communication between clients and servers, ensuring data confidentiality and integrity.

  • Content Management Systems (CMS): Web servers often work in conjunction with CMS platforms like WordPress, Drupal, or Joomla, which allow for easy content creation and management.

Hosting Solutions and Deployment

Web servers can be deployed in various ways, depending on the hosting solution and requirements. Some common deployment options include:

  • Shared Hosting: In shared hosting, multiple websites share resources on a single server. This is a cost-effective solution for small websites but can lead to performance issues if not properly managed.

  • Virtual Private Servers (VPS): VPS hosting provides users with a virtualized server environment, offering more control and resources than shared hosting. It’s a good choice for medium-sized websites and applications.

  • Dedicated Servers: Dedicated server hosting offers an entire physical server for a single website or application. This provides maximum control and performance but comes at a higher cost.

  • Cloud Hosting: Cloud hosting leverages the flexibility and scalability of cloud infrastructure, allowing users to allocate resources on-demand. This is suitable for websites with varying traffic levels.

Conclusion

Web servers are the unsung heroes of the internet, working tirelessly to serve web content to users around the world. They come in various types and use a multitude of technologies to ensure reliable and secure web delivery. Understanding the functions, types, and technologies behind web servers is crucial for anyone working in web development, system administration, or online business. As technology continues to evolve, web servers will remain at the core of the internet, facilitating the exchange of information and services on a global scale.

This article was originally published at http://micro.rodeo and is being used with permission from the author.

Guide To Types Of Web Hosting

Introduction

If you want to create a website and you know that you need web hosting. If you search around you will see that companies are selling shared hosting, workplace hosting, cloud hosting, virtual private servers (VPS), server clusters, dedicated servers... Some of these are managed, some of these are unmanaged, and the prices differ greatly. It can be complicated so I will explain web hosting differences in a clear way so you can make a good decision when you choose your web hosting services. The very first thing that I feel is very important and I want to mention first is that, if you're looking for web hosting don't limit yourself to the same company. Always look for companies that specialize in different technologies. For example if you're needs require shared hosting then look for companies that specialize in shared hosting. If you're looking for a VPS you need companies that specialize in VPS


Shared Hosting

Imagine one tall building... let's call it ACME Shared Hosting Condo's. It has 300 rooms inside of it. Every room has a person living in it with their own personal goals but all rooms share the same electricity bill the same lift and the same water supply. The benefit is that you can live in the nice big building that has everything taking care for you you just pay rent but essentially you're splitting the bill with 300 other people and all of you get an affordable place to live. This is exactly how shared web hosting works. You get a smaller piece of a bigger server and every user on that server shares resources. You can get good shared web hosting plans from one dollar to around four dollars a month. If you expect no more than 20 to 30 people per hour on your website you should be fine. Much of the performance of the server is determined by its operating system, with the best performance being on OpenBSD. Vultr is our choice for everything that is possible in the cloud. Vultr.com even has a free tier incase you just want to dabble a bit or get your feet wet in the cloud vapors while testing out your setup. There are some downsides however, for example every single user on the server is sharing the exact same IP address so if you're sending emails every single user is sending emails from the same address....let's say just 5 of the 300 people start spamming... that means everyone's gonna suffer and everyone's emails goes to spam even if you didn't do anything because as far as google is concerned you're all guilty. There's another big downside if you want to scale your website resources for a limited time shared web hosting isn't really scalable, so it could cost you three or four times the regular cost if you want to scale it up. If I go back to the housing analogy, imagine you want to get two rooms because your friend is visiting for the weekend but the landlord says well there's a one room per person limit if you want to get two rooms you need to move to another building where everyone gets two rooms. You try to explain that you only need the extra space for two days, but he won't listen. I recommend shared web hosting to people that just need a simple website to be on the internet. If you are not planning to build a store, and you're not sending out emails, or you're not building a community...you just need for something to be online where people can come visit take a look and then leave. You can think of it exactly like your room you can have 100 people visit you in one day if they come and go but most likely if all 100 try to fit in at once, you'll have some issues. Or if you try running an actual store from your room there would be lines all across your hallway everyone will be bumping into each other everyone's knocking over your products stuff is breaking all around..it's chaos! 


VPS Hosting

If shared hosting is one building with 300 rooms in it VPS hosting would be a piece of land...let's call it vps land. Divided into 300 pieces, you're still sharing the piece of land with other people but you have much more control over what's going on on it. Because you're only getting a piece of land you can build your website as small or as big as you want while you couldn't build a shopping mall inside your room you can definitely build one using a virtual private server. The way a virtual private server works is instead of getting a preset amount of resources that you can't really change, you get to choose how many resources you want and you can even change that number while your website is already running! Going back to the housing analogy with a VPS one person could be taking up 50 pieces of land for a shopping mall. Another one could have 10 pieces of land for a museum and another one could have four pieces of land for a house. Everyone doesn't have to be equal here like with shared hosting. At this point I hope everything is a little bit more clear and you're starting to understand  the topic of web hosting more. Now I want to touch on another very important subject... the vps is actually split into two categories, managed vps, where you get a lot of help setting everything up, and unmanaged vps, where you basically have to do everything yourself. Back to our housing analogy... imagine you bought one piece of VPS land and you want to build your house. If you get managed VPS then the VPS land owner would give you contacts of the construction company he would also make sure that the internet, heat, electricity and water is taken care of. Once your house is built and he would even give you various tools and contacts if needed or even help you out himself. If your house requires that if you buy unmanaged VPS you would get anything but the piece of land. You would need to do everything yourself and buy your own tools build your house do the plumbing install all of the essentials.. basically you bought the land, you do what you want with it, but you won't get any help. That's why I always recommend buying managed vps even if you are tech savvy because yeah sure it's a little bit more expensive, but not by that much to be honest, and it's gonna save you a lot of time. In my opinion managed vps is actually the best way to host your website and it can be as cheap as 10 dollars per month.


Cloud Hosting

Finally we have cloud hosting which is actually really similar to VPS... to a point where people even confuse the two. There's one major difference: while a virtual private server takes resources from just one server, cloud VPS actually pulls resources from multiple servers. A good way to explain this would be if you're using a virtual private server and one component in that server breaks everything goes offline because it's taking resources from just one server but cloud hosting is actually pulling resources from different computers, so if one component breaks it just replaces that with a component from another computer. It's much more reliable. Imagine if you have one home but electricity to your home is provided from 10 different available sources. When one fails it just switches to another one and this way you always have electricity. 


This article was originally published at Micro Rodeo and is being used with the author's permission.

How To Install OpenBSD 7.4 On Virtualbox VM

How To Install OpenBSD 7.4 On Virtualbox VM

INSTALLING OPENBSD 7.4 ON VIRTUALBOX

Download an OpenBSD Image

OpenBSD can be downloaded from one of its openbsd.org. Select the disk image for your CPU architecture. Once you’ve selected a mirror, you will be brought to a page with several directories. To download the most recent disk image, select the highest release number. The “7.4” folder should include the most recently updated version as of October 2023, but if you see anything newer, use that. Once in the most recent version directory, there should be subdirectories for different system architectures. For most users, amd64 or i386 images will be the most useful. After selecting a system architecture subdirectory, a number of files will be available for download. Among this set, the “install74.iso” file represents the installation image for version 7.4 of OpenBSD. Click on this file to download and save it onto your system.

Prepare VirtualBox

VirtualBox is one of the simplest virtualization environments for Windows, macOS, and Linux. It can be downloaded from VirtualBox’s website, or it can be installed on Debian-based Linux distros like Ubuntu by using apt as in the command below.

~$ sudo apt install virtualbox

Once VirtualBox is downloaded, installed, and opened, click the “New” button at the top of the window to begin creating the new virtual machine. A window will open, requesting a name, type, and version. Typing OpenBSD into the Name field should lead to the automatic population of the following two selections, but if not, set Type to “BSD” and Version to “OpenBSD” 32- or 64-bit, whichever is appropriate for your system. Choose “Continue”. The next portion of the virtual machine configuration is memory allocation. Generally speaking, the more memory one can grant to a virtual machine, the faster the VM will be able to run. The amount of memory one is willing to provide to the VM generally depends on the amount of RAM available on the host machine, shown at the right end of the memory slider bar within VirtualBox. A relatively lightweight operating system such as OpenBSD can function with a limited amount of memory if necessary. Choose your RAM and choose “Continue”.

At the Hard disk step, choose to “Create a virtual hard disk now.” OpenBSD will need to be installed within the virtual machine, so a virtual hard drive to install this to will be required. Choose “Create”. If you have no need to move the virtual machine image between different virtualization tools, it’s best to leave VDI selected for the Hard disk file type selection step. Choose “Continue”. The next selection is between a dynamically allocated or fixed size virtual hard disk. For most users, “Dynamically allocated” is the most simple to use, as it requires the least configuration. Choose “Continue”. Lastly, the maximum size and storage location of the virtual hard drive can be set. This may be an external hard drive or a specific spot on a local drive. The size is the maximum size to which the virtual hard drive can grow, so if there are considerable size restraints based on hard drive size, it may be worthwhile to limit this amount. The base installation size of OpenBSD will be relatively small, so this limit could easily be set to only a few GB. Choose and choose “Create”.

Now the OpenBSD VM should be available from the main VirtualBox menu to be started. To launch it, simply click the “Start” button at the top of the interface while the OpenBSD virtual machine is selected. You can also double-click on it to start it. Once the virtual machine is started, it will request a boot medium to start the virtual machine from. Click on the folder icon to open a file selector. Click “Add,” then browse to and select the OpenBSD ISO image downloaded earlier. Click “Open,” then “Choose”. Now, click “Start” to launch the virtual machine. The OpenBSD installer should begin to boot.

Install OpenBSD

On first boot, the OpenBSD image will load a text-based installer environment, as shown in the image below. To begin the installation process, type i and press Enter. This process includes many questions and configuration options, each of which is explained with a short statement. The first prompt requests the preferred keyboard layout. Type L or ? and press Enter if you wish to list all available options, or simply type us or uk to set the keyboard layout to US or UK English.

At any prompt except password prompts you can escape to a shell by
typing '!'. Default answers are shown in []'s and are selected by
pressing RETURN. You can exit this program at any time by pressing
Control-C, but this can leave your system in an inconsistent state.

Choose your keyboard layout ('?' or 'L' for list) [default] ?

Available layouts: be be.swapctrlcaps br cf cf.nodead de de.nodead dk dk.nodead
ee ee.nodead es fr fr.dvorak fr.swapctrlcaps fr.swapctrlcaps.dvorak hu is is.nodead
it jp jp.swapctrlcaps la lt lv nl nl.nodead no no.nodead pl pt ru sf sf.nodead sg
sg.nodead si sv sv.nodead tr tr.nodead ua uk uk.swapctrlcaps us us.colemak
us.declk us.dvorak us.iopener us.swapctrlcaps us.swapctrlcaps.colemak
us.swapctrlcaps.dvorak us.swapctrlcaps.iopener

Choose your keyboard layout ('?' or 'L' for list) [default] us
Then, give the hostname a name. I'm just going with openbsd.

System hostname? (short form, e.g., 'foo') openbsd
The next questions regard network configuration. Within a virtual machine, the 
network settings are relatively simple to set. Each option, beginning with Available 
network interfaces until DNS domain name, can be responded with by merely 
pressing Enter, as the default network configuration options should be suitable for 
most users. On a hardware install, it may be worth taking more care when choosing 
these settings, depending on your network configuration.


Available network interfaces are: em0 vvlan0.
Which network interface do you wish to configure? (or 'done') [em0]

IPv4 address for em0? (or 'dhcp' or 'none') [dhcp]
emo: 10.0.2.15 lease accepted from 10.0.2.2 (XX.XX.XX.XX.XX.XX)

IPv6 address for em0? (or 'autoconf' or 'none') [done]

Available network interfaces are: em0 vvlan0.
Which network interface do you wish to configure? (or 'done') [done]

DNS domain name? (e.g. 'example.com') [my.domain]
Using DNS nameservers at 8.8.8.8 8.8.4.4

The next option, Password for root account, allows one to set the root password. The “will not echo” string denotes that when pressing the keys for the password, it will not be visible, nor will it be returned to the user after entering. The root password should generally be strong, especially for a server or internet-connected system.

Password for root account? (will not echo)
Password for root account? (again)
After entering the root password twice, the installer asks if you would like to start
the SSH daemon, or background service, by default. While this is not necessary, it may 
be useful. To enable it, press Enter.

Start sshd(8) by default? [yes]
The following two questions regard the graphical configuration of the system. If you'd 
like to use a graphical interface, enable the X Window System by pressing Enter.

Do you expect to run the X Window System? [yes]

Do you want the X Window System to be started by xenodm(1)? [no] yes
Next, enter a name and password for a standard-level user. For security reasons,
it's best not to run as the root user, so this user will be used for most standard
desktop operations. For most users, it will also be worth denying root SSH login for 
security reasons.


Setup a user? (enter a lower-case loginname, or 'no') [no] agentadept

Full name for user agentadept? [agentadept] Agent Adept

Password for user agentadept? (will not echo)
Password for user agentadept? (again)

WARNING: root is targeted by password guessing attacks, pubkeys are safer.
Allow root ssh login? (yes, no, prohibit-password) [no}
For the last question in this set, enter ? to see the available time zones, then type 
your preferred choice from the list or press Enter to continue with the default 
selection. Then, so the same thing with the sub-time zone.

What timezone are you in? ('?' for list) [US/Eastern] ?

Africa/     Chile/      GB-Eire     Israel      Navajo      US/
America/    Cuba        GMT         Jamaica     PRC         UTC
Antarctica/ EET         GMT+0       Japan       PST8PDT     Universal
Arctic/     EST         GMT-0       Kwajalein   Pacific/    W-SU
Asia/       EST5EDT     GMT0        Libya       Poland      WET
Atlantic/   Egypt       Greenwich   MET         Portugal    Zulu
Australia/  Eire        HST         MST         ROC         posixrules
Brazil/     Etc/        Hongkong    MST7MDT     ROK
CET         Europe/     Iceland     Mexico/     Singapore
CST6CDT     Factory     Indian/     NZ          Turkey
Canada/     GB          Iran        NZ-CHAT     UCT

What timezone are you in? ('?' for list) [US/Eastern] America

What sub-timezone of 'America' are you in? ('?' for list) ?

Argentina/      Curacao         Iqaluit         Montserrat      Santo_Domingo
Aruba           Danmarkshavn    Jamaica         Nassau          Sao_Paulo
Asuncion        Dawson          Jujuy           New_York        Scoresbysund
Atikokan        Dawson_Creek    Juneau          Nipigon         Shiprock
Atka            Denver          Kentucky/       Nome            Sitka
Bahia           Detroit         Knox_IN         Noronha         St_Barthelemy
Bahia_Banderas  Dominica        Kralendijk      North_Dakota/   St_Johns
Barbados        Edmonton        La_Paz          Nuuk            St_Kitts
Belem           Eirunepe        Lima            Ojinaga         St_Lucia
Belize          El_Salvador     Los_Angeles     Panama          St_Thomas
Blanc_Sablon    Ensenada        Louisville      Pangnirtung     St_Vincent
Boa_Vista       Fort_Nelson     Lower_Princes   Paramaribo      Swift_Current
Bogota          Fort_Wayne      Maceio          Phoenix         Tegucigalpa
Boise           Fortaleza       Managua         Port-au-Prince  Thule
Buenos_Aires    Glace_Bay       Manaus          Port-of-Spain   Thunder_Bay
Cambridge_Bay   Godthab         Marigot         Porto_Acre      Tijuana
Campo_Grande    Goose_Bay       Martinique      Porto_Velho     Toronto
Cancun          Grand_Turk      Matamoros       Puerto_Rico     Tortola
Caracas         Grenada         Mazatlan        Punta_Arenas    Vancouver
Catamarca       Guadeloupe      Mendoza         Rainy_River     Virgin
Cayenne         Guatemala       Menominee       Rankin_Inlet    Whitehorse
Cayman          Guayaquil       Merida          Recife          Winnipeg
Chicago         Guyana          Metlakatla      Regina          Yakutat
Chihuahua       Halifax         Mexico_City     Resolute        Yellowknife

What sub-timezone of 'America' are you in? ('?' for list) New_York
Next, the installer will partition the disks. In general, the only disk available 
for the virtual machine will be fine for the installation — hit Enter.

While custom partitioning works even within the virtual machine environment, the 
default Whole disk MBR selection, abbreviated to w, is an ideal selection for the 
virtual machine. Press Enter again to continue the installation.

Available disks are: wd0
Which disk is the root disk? ('?' for details) [wd0]

No valid MBR or GPT.
Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [whole] w
Setting OpenBSD MBR partition to whole wd0...done.
The auto-allocated layout for wd0 is:
#           size        offset      fstype  [fsize  bsize   cpg]
  a:      429.8M            64      4.2BSD    2048  16384     1 # /
  b:      639.7M        880352        swap
  c:    16384.0M             0      unused
  d:      567.7M       2190432      4.2BSD    2048  16384     1 # /tmp
  e:      807.6M       3353120      4.2BSD    2048  16384     1 # /var
  f:     2059.7M       5007008      4.2BSD    2048  16384     1 # /usr
  g:      551.9M       9225216      4.2BSD    2048  16384     1 # /usr/X11R6
  h:     1863.5M       10355488     4.2BSD    2048  16384     1 # /usr/local
  i:     1411.9M       14171936     4.2BSD    2048  16384     1 # /usr/src
  j:     5343.9M       17063552     4.2BSD    2048  16384     1 # /ussr/obj
  k:     2703.1M       28007776     4.2BSD    2048  16384     1 # /home

Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a]
The next portion of the installation allows for "sets" of packages to be selected, 
downloaded, and installed. To download them from the internet, enter http when 
prompted for the location of the sets.

Let's install the sets!
Location of sets? (cd0 disk http nfs or 'done') [cd0] http
You can define your preferred HTTP proxy and server, but the default setting with no 
proxy will work for most users.

HTTP proxy URL? (e.g. 'http://prozy:8080', or 'non') [none]

HTTP Server? (hostname, list#, 'done' or '?') ?

    1. mirrors.sonic.net/pub/OpenBSD            San Francisco, CA,  USA
    2. ... (there are many more to choose from, but I'm not writing them all here)

HTTP Server? (hostname, list#, 'done' or '?') 1

HTTP Server? (hostname, list#, 'done' or '?') [mirrors.sonic.net]

Server directory? [pub/OpenBSD/7.4/amd64]
Next, sets can be selected, or you can simply install all of them. Hit Enter to begin 
installing the sets. After the sets finish installing, hit Enter again to choose 
"done" for the location of the sets.

Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'.
    [X] bsd             [X] comp74.tgz      [X] xbase74.tgz     [X] xserv74.tgz
    [X] bsd.rd          [X] man74.tgz       [X] xshare74.tgz
    [X] base74.tgz      [X] games74.tgz     [X] xfont74.tgz
Set name(s)? (or 'abort' or 'done') [done]

Get/Verify SHA256.sig   100% |******************************|    2141       00:00
Signature Verified      100% |******************************|
Get/Verify bsd          100% |******************************|   18117 KB    00:02
Get/Verify bsd.rd       100% |******************************|   10109 KB    00:01
Get/Verify base74.tgz   100% |******************************|     238 MB    00:39
Get/Verify comp74.tgz   100% |******************************|   74451 KB    00:08
Get/Verify man74.tgz    100% |******************************|    7464 KB    00:01
Get/Verify games74.tgz  100% |******************************|    2745 KB    00:00
Get/Verify xbase74.tgz  100% |******************************|   22912 KB    00:03
Get/Verify xshare74.tgz 100% |******************************|    4499 KB    00:01
Get/Verify xfont74.tgz  100% |******************************|   39342 KB    00:05
Get/Verify xserv74.tgz  100% |******************************|   16767 KB    00:03
Installing bsd          100% |******************************|   18117 KB    00:00
Installing bsd.rd       100% |******************************|   10109 KB    00:00
Installing base74.tgz   100% |******************************|     238 MB    00:17
Extracting etc.tgz      100% |******************************|     261 KB    00:00
Installing comp74.tgz   100% |******************************|   74451 KB    00:08
Installing man74.tgz    100% |******************************|    7464 KB    00:01
Installing games74.tgz  100% |******************************|    2745 KB    00:00
Installing xbase74.tgz  100% |******************************|   22912 KB    00:02
Extracting etc.tgz      100% |******************************|    7023       00:00
Installing xshare74.tgz 100% |******************************|    4499 KB    00:00
Installing xfont74.tgz  100% |******************************|   39342 KB    00:02
Installing xserv74.tgz  100% |******************************|   16767 KB    00:01

Location of sets? (cd0 disk http nfs or 'done') [done]
If a time option appears, just hit Enter. Then, the OpenBSD installation should be 
complete! To start it, hit Enter to select "Reboot" and wait for the system to load.

Time appears wrong. Set to 'Sat Oct 21 18:23:33 EDT 2023'? [yes]

Saving configuration files... done.
Making all devices nodes... done.
Relinking to create unique kernel... done.

CONGRATULATIONS! Your OpenBSD install has been successfully completed!

When you login to your new system the first time, please read your mail
using the 'mail' command.

Exit to (S)hell, (H)alt or (R)eboot? [reboot]

Delete the Install File

You may find that the system boots back into the installation screen, most likely due to the initial installation media still being loaded, rather than the virtual hard drive. If this is the case, power down the OpenBSD VM. Then, within VirtualBox, select the OpenBSD virtual machine and click “Settings”. Under the “Storage” menu, right-click on the ISO installation file shown under Storage Devices, and click “Remove Attachment.” Choose “Remove” on the prompt, and “OK” to exit the settings. Then, restart the virtual machine. If a login screen such as the one below appears, OpenBSD has installed and booted from its virtual hard drive. Now, we can log in to the OpenBSD desktop environment and begin making changes to the operating system.

Configure & Use OpenBSD

After logging in using the username and password defined during the installation process, the OpenBSD X Window System and the fvwm window manager will load. This is a very basic graphical environment, but it does create a stacking window manager which can be used for visual tasks. A left-click menu and Control-click menu are available when clicking on the default desktop.

Opening an XTerm window from this menu will help us install additional packages, some of which will allow us to add additional elements to the desktop environment. Once a terminal window is open, we’ll use pkg_add to install additional packages. First, run su in a new terminal window to gain superuser privileges. If you logged in as root, you won’t need to use su.

~$ su
Password:

Now we can install some additional packages. To replace the default window manager, we’ll install the Xfce desktop environment, the Leafpad text editor, the Thunar file manager, consolekit2 to assist with login session management, and the Firefox web browser. I’ll also add in nano because why not.

 pkg_add xfce xfce-extras leafpad thunar firefox consolekit2 nano

After these packages are installed, we can return to our regular user terminal session by typing exit and pressing Enter. After this, we can create a “xsession” startup file, which will launch Xfce at the next login, by running the command below. This command “echoes” the statement within the quotation marks into the file “.xsession”.

 exit
~$ echo "exec ck-launch-session startxfce4" > .xsession

Now, you can restart the system. To restart the system, you need to have root privileges, so first run su once again to regain a root terminal window, then type reboot and press Enter to reboot the system.

~$ su
Password:
 reboot

When the virtual machine reboots, Xfce should automatically start. Once the desktop environment is installed, OpenBSD is ready to be used just like any other Unix-like operating system, including Linux. The OpenBSD operating system has software in its repository to do practically any task of other operating systems, including word processors, image editors, and even games. If a tool isn’t already available, it can very likely be compiled if the source code is available.

Using OpenBSD

With Xfce installed, the graphical usage of OpenBSD should be relatively familiar for users of Linux distributions or Unix-like operating systems. The command-line environment, ksh, will also generally be familiar to users of Bash. OpenBSD offers extensive documentation, with pages that thoroughly explain the often unfamiliar components of the operating system, such as package management and system administration. 

Open BSD Vitrualbox Screen Resolution Workaround

How to Adjust Screen Resolution on Open BSD in Virtualbox 


Introduction

One of the first thing that you will want to do after installing Open BSD on Virtualbox is to adjust the screen resolution. But if you go to the view menu you see that the resize options are disabled. Well there is good news and bad news...I'll start with the bad news: Virtualbox guest additions does not support Open BSD but the good news is with some custom scripts and hacking we can simply resize the screen resolutions to what we want. I have created two scripts to solve the issue.


This is the first script that is that we are going to execute on the host machine.



#!/bin/sh

if [ -z "$1" ] || [ -z "$2" ]; then
	echo "Pass VBox machine name and screen resolution"
	echo "Example: 'OpenBSD New' '1920x1080x32'"
	exit 1
fi

VBoxManage setextradata "$1" CustomVideoMode1 "$2"

result=`VBoxManage getextradata "$1" CustomVideoMode1`

case "$result" in
*$2*) VBoxManage getextradata "$1" CustomVideoMode1 && echo success;;
*       ) echo failure ;;
esac


This is the second script that we are going to run it inside of the Open BSD.



#!/bin/sh


if [ "$(id -u)" -ne 0 ]; then
    echo "This script must be run as root"
    exit 1
fi

mkdir -p /etc/X11/xorg.conf.d

cat << EOF > /etc/X11/xorg.conf.d/00-virtualbox-monitor.conf
Section "Device"
  Identifier   "VirtualBox-Card"
  Driver       "vesa"
  VendorName   "InnoTek"
  BoardName    "VirtualBox Graphics Adapter"
EndSection
Section "Monitor"
  Identifier   "VirtualBox-Monitor"
  VendorName   "InnoTek"
  ModelName    "VirtualBox Screen"
  HorizSync    1.0 - 1000.0
  VertRefresh  1.0 - 1000.0
EndSection
Section "Screen"
  Identifier   "VirtualBox-Screen"
  Device       "VirtualBox-Card"
  Monitor      "VirtualBox-Monitor"
  DefaultDepth 24
  SubSection "Display"
    Viewport   0 0
    Depth      24
    #Modes "1368x768" "1360x768" "1280x800" "1024x768"
    Modes  "$1"
  EndSubSection
EndSection
EOF

echo "Success - reboot your system"


So all you have to do is save the shell scripts to each machine (customize first if needed) and then execute the scripts. I will go over the rest of this process now.

On The Host machine

I power off my virtual machine and bring up my terminal so on the host. I will chmod +x the script and if you execute the script without passing any parameter it tells you that you need to specify two parameters.... the first one is the name of the virtual machine that you want to set the screen resolution for, and the second option is the desirable screen resolution to set the screen resolution on the machine. We need to pass the s switch and then type the name of the virtual machine here in my case my VM is named Puffdaddy. Make sure to wrap the name and the screen resolution in single quotation then as the screen resolution you can pass anything. My screen is full HD so I specify full HD 32-bit color. We are done with the host machine... now we have to start the Open BSD VM and run the second script.

Inside The OpenBSD VM

Switch to the root user then make sure that the script is executable with chmod +x (after customizing script to meet your requirements). Specify the desirable resolution in my case again full HD and then you shoould a success message. What the script does is it creates a file under x11 directory xorg and then this is the file we show a box monitor conf and then it sets the resolution that has been specified by you in the script. Now restart your machine and check whether everything works as expected.


Final Notes

After restarting the OpenBSD virtual machine you will now have a much larger workspace. Hopefully this enriches your Open BSD expirience and has helped you solve the issue with Virtual Box VM resolution & Open BSD.

Web Hosting Explained

You've probably seen terms like shared hosting, VPS, dedicated hosting, cloud compute, WordPress, and reseller. They represent the different web hosting types, but not every web host offers them all. Plus, the hosting types differ from one another in significant ways. Nearly every web host offers shared hosting which will be your cheapest option. With shared hosting, your website shares a  server, as well as server resources with many other sites. If you don't expect much traffic and want to keep your web hosting budget small, shared hosting is the way to go. You should expect to pay less than ten dollars a month, though keep in mind shared hosting is best suited for small sites that don't need a huge amount of bandwidth. Since you're sharing resources with other websites, you should be prepared for the occasional slowdown. Larger businesses that expect big traffic to their sites should pick up VPS or dedicated hosting, each of which offers increasingly powerful server specs. VPS hosting is like a high-powered version of shared hosting, except that far fewer websites share a server's resources, which are also a bit more segregated. VPS hosting also costs more than shared hosting but you should be paying less than a hundred dollars per month. 

Dedicated hosting places your site on a server all by itself, so it can leverage a server's full power. This most expensive type of hosting may cost you a hundred dollars or more per month for the raw power you get. Reseller hosting lets you start your own branded web hosting business without worrying about building the infrastructure from scratch. WordPress hosting lets you build a site in an environment that caters to the   world's most popular content management system. Cloud hosting lets you easily scale website power across multiple servers, though not every web host offers it. The pricing for these hosting tiers are all over the place, so shopping around is vital. "Bandwidth" and "data transfer" are frequently used interchangeably to define the amount of data that your website serves to visitors, but the terms technically don't have the same definitions. Bandwidth represents the total amount of data that can be transferred at one time, while data transfer is the throughput or the actual amount of information that can be used over a given period of time-typically a month. If your website exceeds its allotted monthly data transfers, a web host may slow your site's data transfer speeds or charge you a penalty fee. It may even prompt you to upgrade to a higher web hosting tier. It's good to know your site's data limitations before you run into situations like this. 

Web hosts will entice you to sign up for their web hosting plans by tempting you with the promise of unlimited storage or data transfers. In most cases, it's not a completely honest deal as it almost always has limitations that vary by company. Unlimited storage and data transfers are typically associated with shared or WordPress plans, and they let you run wild, within limits. If your blog gets a steady stream of reasonable traffic, you'll be in good standing. However, you shouldn't expect to stream or upload 50TB of data per day. You should consult a web host's terms of service or a customer service representative to learn exactly what you can and can't do within the scope of your plan's unlimited offering. For example, DreamHost states that it doesn't track "bandwidth or traffic, so you never have to worry about "those pesky overage fees." If you're looking to sign up for shared web hosting, you'll likely receive real estate on a traditional hard disk drive server. The advantage of an HDD-based server is the large storage amounts offered on the cheap. As you move up the hosting ladder, web hosts will give you the option to build a site on a solid-state drive. SSD-based servers are lightning-fast storage units, but they're quite pricey. So your SSD-based servers typically carry much smaller storage totals than HDDs. You'll rarely see 1TB SSD servers, which is a number that's commonplace in the HDD arena. 

Nearly every web host offers Linux as an operating system option to power their servers. Even if you aren't familiar with Linux, you don't need to do any special work on the back end to build a website. That said, if your site needs the ASP or ASP.NET scripting frameworks, you'll need to run with the Windows Server operating system. That's because the script you write and webpage you produce will only function in a Windows-based environment. Microsoft apps such as Office or Outlook easily integrate with the server.

How To Install Commando VM On Windows 10

Overview

In this post we are going over the procedure to deploy Commando VM. Commando VM is a Windows pen-testing virtual machine which is designed for helping you achieve your red team / pen testing objectives. Commando VM is Windows environment with many useful tools and settings to help make your pen testing job much easier. It is especially useful when it comes to exploit development research, exploits, threat intelligence, or any kind of windows exploitation. it has variety of tools and if anything is missing it can pretty much be installed and most of those has with all support especially if they are built on python.

System Requirements

All right first things first let's go and look at the prerequisites so this is the official github page of commando hosted by Mandiant. Next what you're gonna need is to download the standard windows 10 iso from microsoft. I do recommend that you use an official copy of Windows 10 as we will need to disable windows defender and other security mechanisms for the installation to succeed. It is  recommended to use the 22H2 release of the Windows 10 ISO. Then you're going to need at least 4 gigs of ram and 60 gigs of a hard drive space. This minimal setup is good to test the setup and get used to how it all works, however 100 gigs hard drive space & 8 gigs ram is much better option if you are doing a Full intsall of all the features available. I suggest creating a VM just for the purpose of "trial run" take note of aspects of installation then test it all out. Later you can make clean VM with improvements and edits to the trial run.

Installing Standard Windows 10 VM


Inside my vmware workstation I create a new windows virtual machine all you'll need is go to file your virtual machine then go to typical next load your iso which downloaded from microsoft. Documentation from microsoft visual page story what it there now that's going then name it the proper name so windows 10 commando. Now both we're pretty much the commando is gonna be stored so i'm gonna do vms commando. Just click ok command all right click next now we need to pretty much say how much the disk we want at my case it's 60 gigs click next customize hardware now as as I mentioned go with at least 4 gigs of ram i'm going to put 8 because i have a lot and then to process it's okay processor is ok. Then network adapter not this should be ok now close finish and this should be enough now let's just wait a little bit because it's gonna work still a standard windows installation. I'm going to click to vm and install vm tools when you click that you should be mounting an iso on D:\  drive and then click the run  setup 64. Vmware tools is pretty much all the vm support that you need for example the screen resize the double mouse button and all the extras that you need for your vms to run smooth so it's always a good idea to have them go with complete next install and you should be pretty fast. 

AV Removal and VM Setup


If you paid attention we can see pre-installed procedures so there's the thing we must do before installing commando you must disable windows defender for smooth install keep in mind that commando is offensive vm so it is going to install a lot of things most of them which are triggered by the defender so it must be disabled. The best way to accomplish this with policy in windows versions of higher than 1909 template protection was hired and protection was disabled so device group of settings have ignored. Go to in windows security type windows security search box and it's going to bring up the defender. Now here we're going to need to various thread protection go to manage setting and pretty much disable all these things here is the damper protection all right then to permanently disable real-time protection let's open up gp edit which is the group policy editor and maybe we're going to need an administrator right so cmd right click administrator gpedit. There we are now what we need to do here computer configuration computer configuration administrative templates windows component microsoft defender where is it microsoft defined antivirus and real-time protection. All right now enable turn off real-time protection turn off your time protection enable it apply and it should be disabled. Next we're  gonna need to reboot and we need to build before making the next change. Then we're gonna need to disable permanently disable microsoft defender and then we're gonna need to install the commando.  This is done because every single time you restart the box or windows machine the defender is automatically turning itself to on no matter what. If you don't permanently disable defender he's gonna find a way to pretty much turn itself back on that's why we're gonna need a lot of starts because each procedure is turning this table is disabling the defender off and by the last one which is gonna be performed. Right now we should have not non-defender box then we're gonna smoothly start commando and be happy to be a red team ninja.

Installing Commando VM


We're gonna need run cmd as administrator and now do gp edit all right and here we're gonna need to do again computer configuration administrative templates, windows components, microsoft defender antivirus pretty much the same path all right and then enable turn off microsoft defender antivirus. Next we're gonna go with the standard install. all right so where was it here when we download that there is the file called install.ps1 and pretty much it take cares of all the installation process so we're going to follow the steps we're going to run that script. Take a snapshot of the machine!!! This is really important because if something breaks up you must have the ability to revert back to the box. We download that script  open powershell as administrator yes administrator cd users test desktop commando we have that install.ps1. Unblock file ps1 set execution policy unrestricted so we can pretty much execute scripts for the install. We can either run it like that or we can supply a password i've never supplied a password because i would need i would not need that but if you want you can try it out. The last step is to pretty much even install that ps1 script. You need to to change this setting so checking to make sure we don't defender tamper protection is disabled. It is disabled so do you need to change the settings i didn't know all right do you need to take snapshot. I already took that type your password a bit carefully this style is not 100 unattended please monitor this stuff with possible failures. After the final reboot you should be seeing something like that whenever you see the command vmware logo your machine is good to go. If there's anything left over you just have to click enter and reboot the box once again. It is a really easy straightforward install all you need is just wanna install script using powershell with administrative fights and that's it keep in mind that it takes a lot of time and it restarts a lot of thing a lot of times so you have to be patient but you end up having a Commando VM!