How to protect websites against Attackers or Hackers by using X-Security Headers.

TwinzTech
4 min readJul 23, 2018

X-Security Headers are the header part of a Hypertext Transfer Protocol (HTTP) request and response messages. They define the operating parameters of an HTTP transaction. It passes additional information with the request and response between the client (browser) and the web server. It is an integral part of HTTP requests and responses. X-Security Headers are also said as HTTP headers.

By using .htaccess techniques to increase your website’s security. X-Security Headers are protecting against cross-site scripting (XSS) attacks, Clickjacking (UI redress attack) attacks, Reducing MIME Type Security Risks, etc.

Most Popular Names of the X-Security Headers are:

  • 1. X-XSS-Protection
  • 2. X-Frame-Options
  • 3. X-Content-Type-Options

1. Protect Against cross-site scripting (XSS) Attacks:

Cross-site scripting (XSS) attack is a type of computer security vulnerability typically found in web applications or websites. It enables attackers to inject client-side scripts or malicious javascript code into web pages viewed by other users.

A Cross-site scripting (XSS) vulnerability Web applications or websites run on malicious JavaScript code in a victim’s browser (client). Hackers are executing malicious JavaScript code in another user’s browser (client). See more about cross-site scripting (XSS).

By using this code in the .htaccess file, we can protect against cross-site scripting (XSS) attacks.

# Reflected Cross-Site Scripting (XSS) attacks: <IfModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$"> Header unset X-XSS-Protection </FilesMatch> </IfModule>

2. Protect Against Clickjacking (User Interface redress, UI redress, and UI redressing) Attacks:

Clickjacking attack is a malicious technique of tricking a Web application user into clicking on something different from what the user understand they are clicking on the website, thus potentially leak the confidential information (data) and taking control of their computer while clicking on apparently offensive web pages.

Protect your website against hackers

Clickjacking is also named as User Interface redress attack, UI redress attack, and UI redressing. Clickjacking is possible because apparently harmless or offensive features of HTML web pages can be employed to perform unexpected actions. On a Clickjacking attacked pages, the attackers load another page over it in a transparent layer. by using this way attacks steal the data by clicking on web pages.

Few more attacks which are Similarly like as Clickjacking those are Likejacking and Cross-Frame Scripting (XFS) attacks.

By using this code in the .htaccess file, we can protect against Clickjacking (User Interface redress, UI redress, and UI redressing), likejacking, and Cross-Frame Scripting (XFS) attacks.

# Protect From Clickjacking (UI redress) attacks: <IfModule mod_headers.c> Header set X-Frame-Options "DENY" <FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$"> Header unset X-Frame-Options </FilesMatch> </IfModule>

3. Protect Against MIME Type Security Risks (Content/Media Security Risks):

MIME Type attack is a malicious technique used by some web browsers (likely Internet Explorer, Opera etc) to focus on the content of particular assets on web applications. This technique is used to Phishing/Sniffing the main assets of the web page or website.

MIME Type sniffing attacks are a risk when you allow users to upload data on web applications. By using the .htaccess file and HTTP Headers technique, we can protect our data securely.

By using this code in the .htaccess file, we can protect against MIME Type Security Risks (Content/Media Security Risks).

# Reducing MIME Type Security Risks: <IfModule mod_headers.c> Header set X-Content-Type-Options "nosniff" </IfModule>

Top 10 HTTP Headers You Must Implement on Your Website, It is more useful HTTP Headers for better Web Application Security:

  • 1. HTTP ETag Header
  • 2. HTTP X-Powered-By
  • 3. HTTP Strict Transport Security (HSTS)
  • 4. HTTP Public Key Pinning (HPKP)
  • 5. HTTP Content Security Policy (CSP)
  • 6. HTTP Referrer-Policy
  • 7. HTTP Feature-Policy
  • 8. HTTP Expect-CT
  • 9. HTTP Timing-Allow-Origin
  • 10. HTTP Access-Control-Allow-Origin

The above HTTP headers are used to protect your websites against attacks, Data Sniffing, Data Breaching, Data Phishing, and Hacking.

See the below examples how to use the HTTP headers in the .htaccess file to protect data or information against hackers.

Also, Read More About .htaccess file and How to use & handle the .htaccess file and HTTP Headers.

# It Disables Apaches ETag Header: <IfModule mod_headers.c> Header unset ETag </IfModule> # Server-side Technology Information: <IfModule mod_headers.c> Header unset X-Powered-By </IfModule> # HTTP Strict Transport Security (HSTS): <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" </IfModule> # HTTP Public Key Pinning (HPKP) <IfModule mod_headers.c> Header always set Public-Key-Pins "pin-sha256=\"iPkQ5Cig6y69MBkqnbEk4aIdjiuY4exLSiDRSp5GeJg2m4=\"; pin-sha256=\"Cig6y69MBkqnbEk4aIklO2XCfCig6y69MBkqnbEk469MBkY=\"; pin-sha256=\"a9wgrX4Ta9HpZx6tSfc4$2dsavHkmCrvpApwsgbrLg5yRME=\"; max-age=2592000; includeSubDomains; preload" </IfModule> # HTTP Content Security Policy (CSP): <IfModule mod_headers.c> Header set Content-Security-Policy "base-uri 'self'" </IfModule> # Send Custom HTTP Headers Referrer-Policy: <IfModule mod_headers.c> Header always set Referrer-Policy "strict-origin-when-cross-origin" </IfModule> # Send Custom HTTP Headers Feature-Policy: <IfModule mod_headers.c> Header always set Feature-Policy "vibrate 'self'" </IfModule> # Send Custom HTTP Headers Expect-CT: <IfModule mod_headers.c> Header always set Expect-CT "max-age=604800; report-uri=''" </IfModule> # Cross-origin requests: <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "Origin" </IfModule> # Cross-origin resource timing: <IfModule mod_headers.c> Header set Timing-Allow-Origin: "*" </IfModule>

Originally published at www.twinztech.com on July 23, 2018.

--

--

TwinzTech

Transform your business into digital with TwinzTech. we deliver optimized web applications that create a advantage to your business. https://www.twinztech.com