]> git.ipfire.org Git - ipfire.org.git/blame - src/templates/static/features.html
features: Fix scrollspy
[ipfire.org.git] / src / templates / static / features.html
CommitLineData
9b5ac075 1{% extends "../base.html" %}
1b75294e 2
60024cc8 3{% block title %}{{ _("About IPFire") }}{% end block %}
1b75294e 4
60b0917c 5{% block container %}
cc59f0e1 6 <div class="container">
0955047d 7 <div class="row">
346e30de 8 <nav id="sidebar" class="col-12 col-md-3" role="dropdown">
f59b40f6
S
9 <ul class="nav flex-column features_nav">
10 <li class="nav-item"><a class="nav-link active" href="#about">About IPFire</a></li>
11 <li class="nav-item"><a class="nav-link" href="#security">Security</a></li>
12 <li class="nav-item"><a class="nav-link" href="#firewall">Firewall</a></li>
13 <li class="nav-item"><a class="nav-link" href="#pakfire">PakFire</a></li>
14 <li class="nav-item"><a class="nav-link" href="#updates">Updates</a></li>
15 <li class="nav-item"><a class="nav-link" href="#dialup">Dialup</a></li>
16 <li class="nav-item"><a class="nav-link" href="#proxy">Web Proxy</a>
0955047d 17 <ul>
f59b40f6
S
18 <li class="nav-item"><a class="nav-link" href="#">Content Filter</a></li>
19 <li class="nav-item"><a class="nav-link" href="#">Update Accelerator</a></li>
20 <li class="nav-item"><a class="nav-link" href="#">Transparent Virus Scanner</a></li>
0955047d 21 </ul>
60b0917c 22 </li>
f59b40f6
S
23 <li class="nav-item"><a class="nav-link" href="#crypto">Cryptography</a></li>
24 <li class="nav-item"><a class="nav-link" href="#vpn">VPN</a>
0955047d 25 <ul>
f59b40f6
S
26 <li class="nav-item"><a class="nav-link" href="#">IPsec</a></li>
27 <li class="nav-item"><a class="nav-link" href="#">OpenVPN</a></li>
0955047d 28 </ul>
60b0917c 29 </li>
f59b40f6
S
30 <li class="nav-item"><a class="nav-link" href="#ids">Intrusion Detection System</a></li>
31 <li class="nav-item"><a class="nav-link" href="#qos">Quality of Service</a></li>
32 <li class="nav-item"><a class="nav-link" href="#hardware">Hardware</a></li>
33 <li class="nav-item"><a class="nav-link" href="#virtualization">Virtualisation</a></li>
34 <li class="nav-item"><a class="nav-link" href="#wlanap">Wireless Access Point</a></li>
60b0917c 35 </ul>
0955047d 36 </nav>
8d7dd2e9 37
9f043320 38 <section class="content col-12 col-md-9">
cc59f0e1
MT
39 <div class="card">
40 <div class="card-body">
41 <section id="about">
42 <h3 class="text-center mb-0">About IP<strong>Fire</strong></h3>
43 <p class="text-center text-muted">The Open Source Firewall Distribution</p>
44
8d7dd2e9 45 <p>
cc59f0e1
MT
46 IP<strong>Fire</strong> was designed with both modularity and a high-level of
47 flexibility in mind. You can easily deploy many variations of it, such as a firewall,
48 a proxy server or a VPN gateway.
49 The modular design ensures that it runs exactly what you've configured it for and
50 nothing more. Everything is simple to manage and update through the package manager,
51 making maintenance a breeze.
52 </p>
8d7dd2e9
MT
53
54 <p class="text-muted">
cc59f0e1
MT
55 The IP<strong>Fire</strong> development team understands that security means different things to
56 different people and certainly can change over time.
57 The fact that IPFire is modular and flexible make it perfect for integrating
58 into any existing security architecture.
59 Don't forget that ease-of-use is a key principle.
60 If all this sounds a little too much for you, IPFire comes with great default
61 settings out-of-the-box, meaning it's a snap to get going quickly!
62 </p>
63 </section>
8d7dd2e9 64
cc59f0e1 65 <div class="divider"></div>
8d7dd2e9 66
cc59f0e1 67 <section id="security">
8d7dd2e9
MT
68 <h3 class="text-center">{{ _("Security") }}</h3>
69
70 <p>
cc59f0e1
MT
71 The primary objective of IPFire is security.
72 As there is of course no one, single way to achieve network security, it is important
73 for a network administrator to understand their environment and what the term
74 <em>security</em> means in the context of their own network.
75 IPFire forms the base of a secure network.
76 It has the power to segment networks based on their respective security levels
77 and makes it easy to create custom policies that manage each segment
78 (see the Firewall page for more information).
79 </p>
8d7dd2e9
MT
80
81 <p>
cc59f0e1
MT
82 Security of the modular components is a top priority.
83 Updates are digitally signed and encrypted, as well as can be automatically installed
84 by Pakfire (<a href="#updates">the IPFire package management system</a>).
85 Since IPFire is typically directly connected to the Internet, it is going to be a
86 primary target for hackers and other threats.
87 The simple Pakfire package manager helps administrators feel confident that
88 they are running the latest security updates and bug fixes for all of the
89 components they utilize.
90 </p>
8d7dd2e9
MT
91
92 <p>
cc59f0e1
MT
93 <span class="badge badge-success">IPFire 2.15 - Core Update 77</span>
94 <a href="//planet.ipfire.org/post/feature-highlights-ipfire-2-15-1-hardening-the-system">Since IPFire 2.15</a>,
95 the IPFire Linux kernel is patched with the
96 <a href="//grsecurity.net">grsecurity</a> patchset, which
97 pro-actively hardens the kernel against various forms of attacks.
98 Most importantly, it protects from zero-day exploits by
99 eliminating entire bug classes and exploit vectors.
100 It makes stack buffer overflows almost impossible to exploit
101 and comes with strict access controls, that make it
102 harder for attackers to cause harm to the system.
103 </p>
104 </section>
8d7dd2e9 105
cc59f0e1 106 <div class="divider"></div>
8d7dd2e9 107
cc59f0e1 108 <section id="firewall">
8d7dd2e9 109 <h3 class="text-center">{{ _("Firewall") }}</h3>
cc59f0e1 110
8d7dd2e9
MT
111 <p>
112 IPFire employs a Stateful Packet Inspection (SPI) firewall,
113 which is built on top of netfilter (the Linux packet filtering framework).
114 </p>
115
116 <p>
117 During the installation of IPFire, the network is configured into different,
118 separate segments.
119 This segmented security scheme means that there is a perfect place for each
120 machine in the network.
121 These different segments may be enabled separately, depending on your requirements.
122 Each segment represents a group of computers who share a common security level:
123 </p>
124
125 <div class="row d-flex align-items-center mb-6 mb-md-5">
126 <div class="green-600 outline_i rounded-circle mb-3 mb-md-0 mr-md-4 ml-md-0 mx-auto">
127 <svg class="icon i_features i_verified"><use xlink:href="#verified"/></svg>
cc59f0e1 128 </div>
8d7dd2e9
MT
129
130 <p class="green-600 col-12 col-md-10 m-0">
131 Green represents a "safe" area.
132 This is where all regular clients will reside.
133 It is usually comprised of a wired, local network.
134 Clients on Green can access all other network
135 segments without restriction.
136 </p>
137 </div>
138
139 <div class="row d-flex align-items-center mb-6 mb-md-5">
140 <div class="red-900 outline_i rounded-circle mb-3 mb-md-0 mr-md-4 ml-md-0 mx-auto">
141 <svg class="icon i_features i_warning"><use xlink:href="#warning"/></svg>
cc59f0e1 142 </div>
8d7dd2e9
MT
143
144 <p class="red-900 col-12 col-md-10 m-0">
145 Red indicates "danger" or the connection to the Internet.
146 Nothing from Red is permitted to pass through the
147 firewall unless specifically configured by the
148 administrator.
cc59f0e1 149 </p>
8d7dd2e9
MT
150 </div>
151
152 <div class="row d-flex align-items-center mb-6 mb-md-5">
153 <div class="blue-700 outline_i rounded-circle mb-3 mb-md-0 mr-md-4 ml-md-0 mx-auto">
154 <svg class="icon i_features i_wifi"><use xlink:href="#wifi"/></svg>
155 </div>
156 <p class="blue-700 col-12 col-md-10 m-0">
157 Blue represents the "wireless" part of the local
158 network (chosen because it's the color of the sky).
159 Since the wireless network has the potential for abuse,
160 it is uniquely identified and specific rules govern
161 clients on it.
162 Clients on this network segment must be explicitly
163 allowed before they may access the network.
cc59f0e1 164 </p>
8d7dd2e9
MT
165 </div>
166
167 <div class="row d-flex align-items-center mb-5">
168 <div class="amber-800 outline_i rounded-circle mb-3 mb-md-0 mr-md-4 ml-md-0 mx-auto">
169 <svg class="icon i_features i_server"><use xlink:href="#server"/></svg>
170 </div>
171 <p class="amber-800 col-12 col-md-10 m-0">
172 Orange is referred to as the "demilitarized zone" (DMZ).
173 Any servers which are publicly accessible are separated
174 from the rest of the network here to limit security
175 breaches.
cc59f0e1 176 </p>
8d7dd2e9
MT
177 </div>
178
179 <p class="mb-5">
180 <span class="label label-success">IPFire 2.15 - Core Update 77</span>
181 With IPFire 2.15, the graphical user interface has been completely rewritten
182 and massively extended with new functionality.
183 It is now possible to manage groups of hosts or services. That makes it simpler
184 to create many similar rules for a great number of hosts, networks or services.
185 </p>
186
187 <h5>Managing firewall rules has never been easier before.</h5>
188
189 <p>
190 Because even with a big number of rules, the configuration remains
191 easily manageable and that makes it possible to build more restrictive
192 configurations without losing control.
193 </p>
194
195 <p>
196 Additionally, the firewall can be used to control outbound Internet
197 access from any segment.
198 This feature gives the network administrator complete control
199 over how their network is configured and secured.
200 </p>
201
202 <p class="mb-5">
203 <a href="//wiki.ipfire.org/en/configuration/firewall/start">
204 Firewall Documentation
205 </a>
206 </p>
207
208 <h5>Web User-Interface screenshots</h5>
209
210 <div class="row my-gallery" itemscope itemtype="https://schema.org/ImageGallery">
211 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
212 <a class="thumbnail" href="{{ static_url("images/screenshots/en/firewall/rules.png") }}" itemprop="contentUrl" data-size="999x589">
213 <img class="img-fluid" src="{{ static_url("images/screenshots/en/firewall/rules.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
cc59f0e1 214 </a>
8d7dd2e9
MT
215 </figure>
216
217 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
218 <a class="thumbnail" href="{{ static_url("images/screenshots/en/firewall/new-rule.png") }}" itemprop="contentUrl" data-size="1033x1077">
219 <img class="img-fluid" src="{{ static_url("images/screenshots/en/firewall/new-rule.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
220 </a>
221 </figure>
222
223 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
224 <a class="thumbnail" href="{{ static_url("images/screenshots/en/firewall/service-groups.png") }}" itemprop="contentUrl" data-size="977x825">
225 <img class="img-fluid" src="{{ static_url("images/screenshots/en/firewall/service-groups.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
226 </a>
227 </figure>
228 </div>
229
230 <div class="row my-gallery">
231 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
232 <a class="thumbnail" href="{{ static_url("images/screenshots/en/firewall/host-groups.png") }}" itemprop="contentUrl" data-size="1029x675">
233 <img class="img-fluid" src="{{ static_url("images/screenshots/en/firewall/host-groups.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
234 </a>
235 </figure>
236
237 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
238 <a class="thumbnail" href="{{ static_url("images/screenshots/en/firewall/connections-1.png") }}" itemprop="contentUrl" data-size="776x686">
239 <img class="img-fluid" src="{{ static_url("images/screenshots/en/firewall/connections-1.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
240 </a>
241 </figure>
242 </div>
cc59f0e1 243 </section>
8d7dd2e9 244
cc59f0e1 245 <div class="divider"></div>
8d7dd2e9 246
cc59f0e1 247 <section id="pakfire">
8d7dd2e9
MT
248 <h3 class="text-center mb-0">Pakfire</h3>
249 <p class="text-center text-muted">{{ _("The IPFire package management system") }}</p>
cc59f0e1 250
8d7dd2e9 251 <p>
cc59f0e1
MT
252 From a technical point of view, IPFire is a minimalistic, hardened firewall system
253 which comes with an integrated package manager called Pakfire.
254 The primary task of Pakfire is to update the system with only a single click.
255 It is very easy to install <a href="/features/updates">security patches,
256 bugfixes and feature enhancements</a>, which make IPFire safer and faster
257 - or simply: better.
258 </p>
8d7dd2e9
MT
259
260 <p>
cc59f0e1
MT
261 Another task of Pakfire is to install additional software that adds new
262 functionality to the IPFire system.
263
264 Some useful of them are:
8d7dd2e9 265
cc59f0e1
MT
266 <ul>
267 <li>File sharing services such as Samba and vsftpd</li>
268 <li>Communications server using Asterisk</li>
269 <li>
270 Various command-line tools as <em>tcpdump</em>,
271 <em>nmap</em>, <em>traceroute</em> and many more.
272 </li>
273 </ul>
274 </p>
8d7dd2e9
MT
275
276 <div class="row my-gallery mb-5" itemscope itemtype="https://schema.org/ImageGallery">
cc59f0e1
MT
277 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
278 <a class="thumbnail" href="{{ static_url("images/screenshots/en/pakfire/pakfire-overview-1.png") }}" itemprop="contentUrl" data-size="770x508">
279 <img class="img-fluid" src="{{ static_url("images/screenshots/en/pakfire/pakfire-overview-1.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
280 </a>
281 </figure>
8d7dd2e9 282
cc59f0e1
MT
283 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
284 <a class="thumbnail" href="{{ static_url("images/screenshots/en/pakfire/addon-services-1.png") }}" itemprop="contentUrl" data-size="698x284">
285 <img class="img-fluid" src="{{ static_url("images/screenshots/en/pakfire/addon-services-1.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
286 </a>
287 </figure>
288 </div>
289
8d7dd2e9
MT
290 <h5>Pakfire as a build system</h5>
291
292 <p>
cc59f0e1
MT
293 The next major release of IPFire will also ship a new generation
294 of the Pakfire packagement system.
295 This new generation has been made faster, more secure, more
296 easy to handle and adds a whole bunch of new features.
297 </p>
8d7dd2e9
MT
298
299 <p>
cc59f0e1
MT
300 One of this features is that pakfire is now the
301 buildsystem as well. Having a customized build system for
302 the needs of IPFire and the IPFire developers improved
303 the development process very much. Building new packages
304 became a lot more easy and less time-consuming.
305 </p>
8d7dd2e9
MT
306
307 <p>
cc59f0e1
MT
308 Quality assurance became more social right now. Check it
309 out at <a href="//pakfire.ipfire.org/">pakfire.ipfire.org</a>.
310 </p>
311 </section>
8d7dd2e9 312
cc59f0e1 313 <div class="divider"></div>
8d7dd2e9 314
cc59f0e1 315 <section id="updates">
8d7dd2e9 316 <h3 class="text-center">{{ _("Updates") }}</h3>
cc59f0e1 317
8d7dd2e9 318 <p>
cc59f0e1
MT
319 IPFire is based on Linux, which is the best Open Source kernel around.
320 Additionally, IPFire is <strong>not</strong> based on any other
321 distribution like Knoppix is on Debian. It is compiled from the sources
322 of every single package. This consumes a lot of work, but finally
323 gives the opportunity to not rely on the update cycles of others.
324 The advantages we gain is that we are able to select very stable
325 versions of software and build the distribution from them. For example
326 is the most part of the distribution quite well tested and long maintained
327 - in contrast to the kernel which is very recent and regularly updated
328 with patches to support as much hardware as possible and more importantly
329 fix security errors.
330 </p>
8d7dd2e9
MT
331
332 <p>
cc59f0e1
MT
333 This is what makes IPFire a very strong and hardened system.
334 </p>
8d7dd2e9
MT
335
336 <p>
cc59f0e1
MT
337 To keep up that strength and be prepared for new
338 <a href="/features/hardware">hardware</a>, we give
339 out the so called <strong>Core Updates</strong> which are issued in
340 about every four weeks and updating collected fixes. If there is a
341 security emergency, we provide updates in less than a day to overcome
342 zero-day holes in the system.
343 </p>
8d7dd2e9
MT
344
345 <p>
cc59f0e1
MT
346 All of the updates can be installed by the
347 <a href="/features/pakfire">package management system</a>
348 and users are notified by mail. So in all cases, the update is just
349 a simple click and your system is running safe again.
350 </p>
351 </section>
8d7dd2e9 352
cc59f0e1 353 <div class="divider"></div>
8d7dd2e9 354
cc59f0e1 355 <section id="dialup">
8d7dd2e9 356 <h3 class="text-center">{{ _("Dialup") }}</h3>
cc59f0e1 357
8d7dd2e9 358 <p>
cc59f0e1
MT
359 IPFire as an Internet Gateway is able to dialup through various techniques
360 to connect to the Internet.
361 </p>
8d7dd2e9
MT
362
363 <p>
cc59f0e1
MT
364 It supports all popular types of broadband access, as well as mobile access:
365 </p>
8d7dd2e9 366
cc59f0e1
MT
367 <ul>
368 <li>
369 <strong>VDSL</strong><br>
370 VDSL is short for <em>Very High Data Rate Digital Subscriber Line</em> and
371 it currently offers bandwidth up to 50 Mbit/s downstream and 10 Mbit/s upstream.
372 VDSL brings the possibility of using new technologies such as IPTV. With IPFire, a conventional
373 router can be replaced by a full-fledged system that brings the IPTV stream into your own home network.
374 </li>
375 <li>
376 <strong>ADSL / SDSL</strong><br>
377 Conventional DSL is also supported, although it is technically
378 called also PPPoE or PPPoA. In some countries, the PPTP protocol is also widely used and it is also fully
379 supported by IPFire.
380 </li>
381 <li>
382 <strong>Ethernet</strong><br>
383 Over Ethernet, IPFire can also be connected to the Internet and obtain
384 an IP address either via DHCP or static configuration.
385 </li>
386 <li>
387 <strong>4G / 3G</strong><br>
388 Mobile broadband connections over USB modems, which are also known by the names
389 UMTS, 3G, CDMA, HSDPA or LTE are also supported by IPFire.
390 </li>
391 </ul>
392 </section>
8d7dd2e9 393
cc59f0e1 394 <div class="divider"></div>
8d7dd2e9 395
cc59f0e1 396 <section id="proxy">
8d7dd2e9 397 <h3 class="text-center">{{ _("Web proxy") }}</h3>
cc59f0e1 398
8d7dd2e9 399 <p>
cc59f0e1
MT
400 IPFire includes a full-fledged web proxy, which is the well-known, open-source software Squid. It is used by ISPs, universities, schools and large companies use because of its diversity, stability and mature development. Even for small home networks, it
401 is a useful feature. In addition to the stateful paket inspection (SPI) filtering by the firewall on
402 the TCP/IP layer, the web content which is transmitted over HTTP, HTTPS or FTP can be analysed
403 and filtered as well.
404 </p>
8d7dd2e9
MT
405
406 <ul class="mb-5">
cc59f0e1
MT
407 <li>
408 <strong>Security:</strong> The client does not query web servers directly, it queries the proxy first.
409 The server response goes back to the proxy and not to the client, which actually does not technically even appear on the
410 Internet. A related attack would therefore primarily reach the proxy and not the client. There are also
411 functions available for data privacy, which is an significant advantage in comparison to a pure NAT router.
412 </li>
413 <li>
414 <strong>Authentication:</strong> Using the access lists, the web proxy can also be configured to allow
415 access only after a user has been authenticated. At this point you have the choice between LDAP, identd,
416 Windows, Radius or local authentication methods. The web proxy can connect, for example to a
417 Microsoft Windows domain controller and only the users of that Windows domain can be granted access to the Internet.
418 </li>
419 <li>
420 <strong>Authorization:</strong> If the Internet access needs to be limited to specific time of a day,
421 or if it should be even completely disabled for any clients, is this easily configured by the
422 “network-based access control”, which can also be found on the IPFire web interface. A useful application for this feature can be for example, a school classroom.
423 </li>
424 <li>
425 <strong>Logging:</strong> Since each access can be logged over the proxy, possibilities for the
426 examination of the accessed content can be very useful, as well as statistics and bills can be issued afterwards.
427 Through the use of a logfile analyzer named Calamaris, log files can be charted by varying criteria
428 on the IPFire web interface.
429 </li>
430 <li>
431 <strong>Bandwidth management:</strong> The download management function allows for control of the bandwidth
432 to specified zones. Thus, content-based throttling (for example for binary files, CD images or
433 multimedia content) is configurable with bandwidth limitations for individual zones or for each host
434 in a particular zone.
435 </li>
436 </ul>
cc59f0e1 437
8d7dd2e9
MT
438 <h5>{{ _("Content filter") }}</h5>
439
440 <p>
cc59f0e1
MT
441 SquidGuard is a URL filter add-on which is connected via the redirector mechanism of the proxy.
442 The heart of SquidGuard is something called a "blacklist." This is a content control list created by the official site. These lists contain a number of categorically-classified websites and can be kept up-to-date automatically. There are different, independent
443 sources for pre-built blacklists available, which allow among other classes filtering for adult
444 content, shopping, warez, social networking, or sites containing violent/abusive content.
445 </p>
8d7dd2e9
MT
446
447 <p>
cc59f0e1
MT
448 Individual extensions for particular domains or URLs can be set up on the IPFire web interface for
449 blacklists and whitelists as well. IPFire also offers a black list editor, that makes the editing
450 and creating your own blacklists quite easy.
451 </p>
8d7dd2e9
MT
452
453 <p>
cc59f0e1
MT
454 Possible areas of application for the SquidGuard on IPFire are:
455 </p>
8d7dd2e9
MT
456
457 <ul class="mb-5">
cc59f0e1
MT
458 <li>
459 Block or restrict Internet content conditionally by time, user and/or computers.
460 </li>
461 <li>
462 Preventing access to certain (eg. youth-endangering) pages and content categories.
463 </li>
464 <li>
465 Hiding advertising.
466 </li>
467 </ul>
cc59f0e1 468
8d7dd2e9
MT
469 <h5>{{ _("Update accelerator") }}</h5>
470
471 <p>
cc59f0e1
MT
472 The Update Accelerator is a feature that can greatly accelerate deploying updates for operating systems.
473 All downloaded updates are cached and if requested another time, are delivered from the cache.
474 </p>
8d7dd2e9
MT
475
476 <p>
477 For example, Service Packs for Microsoft Windows (which often are several hundred megabytes) are cached for future retrieval, as well as virus scanner definition updates and other product updates which the system automatically identifies. This saves a massive amount of time when updating large amounts of computers (such as corporate networks).
cc59f0e1 478 </p>
8d7dd2e9
MT
479
480 <h5>{{ _("Transparent virus scanner") }}</h5>
481
482 <p>
cc59f0e1
MT
483 The package manager Pakfire offers the addon SquidClamAV - a virus scanner for the web proxy. This checks in real-time all web traffic for viruses, utilizing the ClamAV virus definitions and scanning engine.
484 </p>
8d7dd2e9
MT
485
486 <p>
cc59f0e1
MT
487 The additional protection to a conventional virus scanner lies in the fact that the files are transparently checked before ever making it to the client machine before the client machine's virus scan can be performed. So potentially-malicious files are blocked by
488 SquidClamAV before the client's actual download.
489 </p>
490 </section>
8d7dd2e9 491
cc59f0e1 492 <div class="divider"></div>
8d7dd2e9 493
cc59f0e1 494 <section id="crypto">
8d7dd2e9 495 <h3 class="text-center">{{ _("Cryptography") }}</h3>
cc59f0e1 496
8d7dd2e9 497 <p class="mb-5">
cc59f0e1
MT
498 Cryptography is one of the foundations for various services
499 like <a href="#vpn">VPNs</a> and secure communication on the Internet.
500 Therefore, IPFire is putting an emphasis on this topic.
501 </p>
8d7dd2e9
MT
502
503 <h5>{{ _("Hardware Acceleration") }}</h5>
504
505 <p>
cc59f0e1
MT
506 <span class="badge badge-success">IPFire 2.15 - Core Update 77</span>
507 IPFire can use various crypto processors like those to be found
508 in AMD Geode CPUs, the VIA Padlock or CPU extensions like AES-NI
509 of recent Intel and AMD CPUs.
510 These help us to achieve much better throughput where ever
511 data is sent through an encrypted tunnel.
512 </p>
513
8d7dd2e9 514 <ul class="mb-5">
cc59f0e1
MT
515 <li>
516 <a href="//wiki.ipfire.org/en/cryptography/hardware">
517 List of supported crypto hardware
518 </a>
519 </li>
520 </ul>
cc59f0e1 521
8d7dd2e9
MT
522 <h5>{{ _("Random Number Generators") }}</h5>
523
524 <p>
cc59f0e1
MT
525 <span class="badge badge-success">IPFire 2.15 - Core Update 77</span>
526 IPFire is also able to use various random hardware number generators
527 to seed the kernel's entropy pool. That entropy is needed to generate
528 secure keys and speeds up cryptographic operations as well.
529 </p>
530
531 <ul>
532 <li>
533 <a href="//wiki.ipfire.org/en/cryptography/entropy">
534 List of supported hardware random number generators
535 </a>
536 </li>
537 </ul>
538 </section>
8d7dd2e9 539
cc59f0e1 540 <div class="divider"></div>
8d7dd2e9 541
cc59f0e1 542 <section id="vpn">
8d7dd2e9
MT
543 <h3 class="text-center mb-0">{{ _("VPN") }}</h3>
544 <p class="text-center text-muted">{{ _("Virtual Private Networks") }}</p>
cc59f0e1 545
8d7dd2e9 546 <p>
cc59f0e1
MT
547 IPFire also includes functionality to create virtual private networks (VPN).
548 A VPN is a gateway which connects remote networks to the local one using an
549 encrypted link.
550 Uses for a VPN include business connections to branch offices or datacenters,
551 as well as providing traveling staff with a secure portal to the corporate network.
552 </p>
8d7dd2e9
MT
553
554 <p class="mb-5">
cc59f0e1
MT
555 For maximum flexibility, IPFire uses both IPsec and OpenVPN protocols,
556 giving administrators maximum flexibility when configuring their VPN.
557 Use of these protocols allows IPFire to connect to a variety of VPN endpoint
8d7dd2e9 558 devices by manufacturers such as Cisco, Juniper, Checkpoint, etc.
cc59f0e1 559 </p>
8d7dd2e9
MT
560
561 <h5>{{ _("IPsec") }}</h5>
562
563 <p>
cc59f0e1
MT
564 IPsec is a widely-deployed VPN solution that was originally developed to be used in conjunction with IPv6. Because it was so secure and IPv6 was so slowly deployed, it was backported to secure IPv4 traffic as well.
565 </p>
566
8d7dd2e9 567 <p>
cc59f0e1
MT
568 In contrast to SSL-VPNs, IPsec is hard to set-up. In IPFire, we
569 thought about how to make this technology easy-to-use and as a result, there
570 is a web user interface that handles all settings and takes care of the rest
571 of the configuration for you. It also keeps the tunnels alive and
572 re-establishes them automatically after a remote site has lost the connection. A secure connection to a branch office, a
573 business partner, or a home office is done within a couple of minutes
574 and compatible with all other implementations.
575 </p>
576
8d7dd2e9 577 <p class="mb-5">
cc59f0e1
MT
578 This high-level of compatibility is achieved by using the free
579 implementation called
580 <a href="//www.strongswan.org" target="_blank">strongSwan</a>. It is maintained by Andreas Steffen, who is a professor for security in communications and head of the Institute for Internet Technologies
581 and Applications at the University of Applied Sciences Rapperswil, in
582 Switzerland. StrongSwan also works with all current, major operating systems, such as Microsoft
583 Windows 7, Microsoft Windows Vista and macOS.
584 </p>
585
8d7dd2e9
MT
586 <h5>{{ _("OpenVPN") }}</h5>
587
588 <p>
cc59f0e1
MT
589 OpenVPN is a frequently-encountered and most popular representative
590 of the class of Open Source SSL VPNs.
591 Its relative ease of configuration has again, been made easier
592 by the IPFire web interface. The firewall settings are controlled
593 by IPFire automatically, as well as the required certificates will be
594 generated with a few mouse clicks and can be downloaded and distributed
595 as a very compact client package.
596 </p>
8d7dd2e9
MT
597
598 <p>
cc59f0e1
MT
599 Due to its high compatibility to all sorts of operating systems,
600 such as Microsoft Windows, macOS, Linux, Android and many more,
601 it is perfectly useful for roadwarrior connections.
602 With those, it is easy to connect your laptop, phone, tablet or
603 other devices to your company network, which makes it easy to
604 work from anywhere in the world.
605 </p>
8d7dd2e9
MT
606
607 <p>
cc59f0e1
MT
608 But besides connecting portable devices, OpenVPN can also be used
609 to securely connect branches to the headquater.
610 This makes it easy to access resources on other networks
611 remotely without any complicated configuration on each client
612 on your local network.
613 </p>
614 </section>
8d7dd2e9 615
cc59f0e1 616 <div class="divider"></div>
8d7dd2e9 617
cc59f0e1 618 <section id="ids">
8d7dd2e9
MT
619 <h3 class="text-center">{{ _("Intrusion detection system") }}</h3>
620
621 <p>
cc59f0e1
MT
622 An Intrusion Dection System (or IDS), is a piece of software designed to detect attacks against computer systems
623 and networks. Thereby the IDS will analyze the network traffic and search for attack samples. If someone
624 scans the ports of the IPFire-System to see which services are available, the IDS will immediately notice it.
625 </p>
8d7dd2e9
MT
626
627 <p>
cc59f0e1
MT
628 An Intrusion Prevention System (or IPS), in addition to the detection system, will perform actions.
629 The IPS gets the information from the IDS and reacts accordingly. That means, recalling the example above with
630 the portscan, the system would automatically block the attacker immediately in order to prevent further inquiries.
631 </p>
8d7dd2e9
MT
632
633 <p>
cc59f0e1
MT
634 It is possible to use IDS and IPS on the IPFire system. We call this system "Intrusion Detection
635 and Prevention System" (or IDPS). A very important deputy of this system is Snort, the free Network Intrusion Dection System
636 (NIDS). It analyzes the network traffic and if something abnormal happens, it will log the event. IPFire gives you
637 the possibility to see it very explicitly in the web interface.
638 </p>
8d7dd2e9
MT
639
640 <p>
cc59f0e1
MT
641 For automatic prevention, IPFire has an add-on called Guardian which can be installed optionally.
642 </p>
8d7dd2e9
MT
643
644 <p>
cc59f0e1
MT
645 An IDPS is a wise addition to the normal packet filter. It makes intelligent decisions about
646 incoming and outgoing network traffic and how to deal with it.
647 </p>
648 </section>
8d7dd2e9 649
cc59f0e1 650 <div class="divider"></div>
8d7dd2e9 651
cc59f0e1 652 <section id="qos">
8d7dd2e9
MT
653 <h3 class="text-center">{{ _("Quality of Service") }}</h3>
654
655 <p>
cc59f0e1
MT
656 Quality of Service (QoS) is able to save the quality of a service on one internet connection. This
657 means that on a highly-utilized internet connection, a service (for example VoIP) gets a stable size of bandwidth,
658 to transfer the information without delay and without loss. This is at the expense of the other
659 data flows on the line, which is tolerated, albeit transmitted more slowly (such as a file upload to an FTP server).
660 </p>
8d7dd2e9
MT
661
662 <p>
cc59f0e1
MT
663 QoS does not only increase the functionality of real-time services, but also offers a little bit of overall improvement. For example:
664 </p>
8d7dd2e9 665
cc59f0e1
MT
666 <ul>
667 <li>
668 <strong>Connections establish much faster.</strong>
669 This is works very well on busy links.
670 </li>
671 <li>
672 <strong>Connections are much more stable.</strong>
673 Every service gets a minimum, guaranteed amount of bandwidth.
674 </li>
675 </ul>
8d7dd2e9
MT
676
677 <p>
cc59f0e1
MT
678 For the classification of the packets, a Level-7-Filter is used. It also analyses the content, as well as the source-ports/IPs, and destination-ports/IPs of the packets. With that analysis, it will decide if it's a long download or a real-time
679 protocol and then subsequently determines the optimal use of the connection.
680 </p>
8d7dd2e9
MT
681
682 <p>
cc59f0e1
MT
683 To put all in a nutshell, QoS reduces the latency and packet loss of an
684 internet connection. This is certainly a function that you don't want to miss where bandwidth is limited.
685 </p>
686 </section>
8d7dd2e9 687
cc59f0e1 688 <div class="divider"></div>
8d7dd2e9 689
cc59f0e1 690 <section id="hardware">
8d7dd2e9
MT
691 <h3 class="text-center">{{ _("Hardware") }}</h3>
692
693 <p>
cc59f0e1
MT
694 Since IPFire is based on a recent version of the Linux kernel, it supports most
695 of the latest hardware such as 10Gbit network cards and a variety of wireless
696 hardware out of the box.
697 The IPFire developers are very concerned with the ability to run IPFire as many
698 system variations as possible.
699 This helps IPFire to run on older or cheap hardware, as well as high-performance systems.
700 </p>
8d7dd2e9
MT
701
702 <p>
cc59f0e1
MT
703 Minimum system requirements are an Intel Pentium I (i586),
704 512MB RAM and 2GB hard drive space.
705 </p>
8d7dd2e9
MT
706
707 <p class="mb-5">
cc59f0e1
MT
708 Some add-ons have extra requirements to perform smoothly.
709 On a system that fits the hardware requirements, IPFire
710 is able to serve hundreds of clients simultaneously.
711 </p>
712
8d7dd2e9
MT
713 <h5>Heads up: More architectures in development!</h5>
714
715 <p>
cc59f0e1
MT
716 The IPFire project is always interested in creating systems
717 which save the environment. The ARM architecture consumes
718 much less power and certainly has a lot of potential.
719 </p>
8d7dd2e9
MT
720
721 <!-- <p>
cc59f0e1
MT
722 More about this may be found on the
723 <a href="/features/ports/arm">ARM project page</a>.
724 </p> -->
725
726 <div class="row my-gallery" itemscope itemtype="https://schema.org/ImageGallery">
727 <figure class="col-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
728 <a class="thumbnail" href="{{ static_url("images/screenshots/en/hardware/hwtemp-1.png") }}" itemprop="contentUrl" data-size="756x432">
729 <img class="img-fluid" src="{{ static_url("images/screenshots/en/hardware/hwtemp-1_thumb.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
730 </a>
731 </figure>
732 </div>
733 </section>
8d7dd2e9 734
cc59f0e1 735 <div class="divider"></div>
8d7dd2e9 736
cc59f0e1 737 <section id="virtualization">
8d7dd2e9 738 <h3 class="text-center">{{ _("Virtualization") }}</h3>
cc59f0e1 739
8d7dd2e9 740 <p class="mb-5">
cc59f0e1
MT
741 IPFire brings many front-end drivers for high-performance virtualization
742 and can be run as virtual guest operating system on the following
743 virtualization platforms.
744 It has also been optimized to some of the mostly distributed ones to bring
745 the best possible performance without impacting the hardware very much.
746 </p>
747
8d7dd2e9
MT
748 <h5>Supported hypervisors</h5>
749
750 <ul class="mb-5">
cc59f0e1
MT
751 <li>
752 <strong>KVM</strong><br>
753 <a href="//www.linux-kvm.org">KVM</a> is short for
754 Kernel-based Virtual Machine and is developed by
755 <a href="//www.redhat.com">Red Hat Inc.</a>.
756 It is becoming the most advanced hypervisor and succeeding Xen, which
757 has been used so far.<br>
758 IPFire is coming with the <em>virtio</em> kernel modules, that have best
759 performance due to very less virtualization overhead.
760 </li>
761 <li>
762 <strong>VMware</strong><br>
763 IPFire runs on different VMware products like <em>vSphere</em>,
764 <em>ESXi</em> and <em>VMware workstation</em>. The additional package
765 <em>open-vm-tools</em> offers tools for a better integration.
766 </li>
767 <li>
768 <strong>Xen</strong>
769 Xen has recently been the de-facto Open Source hypervisor but is now
770 succeeded by KVM.<br>
771 IPFire can optionally be run with a paravirtualized kernel, which has very
772 less virtualization overhead as well. To make the installation very easy,
773 a pregenerated Xen image can be downloaded from the download page.
774 </li>
775 <li>
776 <strong>Others</strong>
777 IPFire is not limited to the hypervisors described above. It runs perfectly on
778 <em>Qemu</em>, <em>Microsoft Hyper-V</em> or <em>Oracle VirtualBox</em>, too.
779 </li>
780 </ul>
781
8d7dd2e9
MT
782 <h5>A note on virtualization</h5>
783
784 <p>
cc59f0e1
MT
785 Virtualization does have advantages, but it is not without disadavantages.
786 There is always the possibility that the VM container security can be
787 bypassed in some way and a hacker can gain access beyond the VM.
788 Because of this, it is not suggested to use IPFire as a virtual machine
789 in a production-level environment.
790 </p>
791
792 <div class="row my-gallery">
793 <figure class="col-sm-12 col-md-3" itemprop="associatedMedia" itemscope itemtype="https://schema.org/ImageObject">
794 <a class="thumbnail" href="{{ static_url("images/screenshots/en/virtualization/virt-manager-1.png") }}" itemprop="contentUrl" data-size="605x375">
795 <img class="img-fluid" src="{{ static_url("images/screenshots/en/virtualization/virt-manager-1_thumb.png") }}" itemprop="thumbnail" alt="{{ _("Screenshot") }}">
796 </a>
797 </figure>
798 </div>
799 </section>
8d7dd2e9 800
cc59f0e1 801 <div class="divider"></div>
8d7dd2e9 802
cc59f0e1 803 <section id="wlanap">
8d7dd2e9 804 <h3 class="text-center">{{ _("Wireless Access Point") }}</h3>
cc59f0e1 805
8d7dd2e9 806 <p>
cc59f0e1
MT
807 IPFire offers several options for the integration of wireless clients. First, an access point can
808 be connected via a LAN card. In this scenario, IPFire offers MAC/IP address filtering to allow only authorized
809 clients. The clients are allowed by default to access the Internet, but they are not allowed access the local LAN.
810 The second option is to install a wireless LAN (WLAN) card in the IPFire machine that takes the functionality of the access
811 point over, using the add-on "hostapd". This add-on supports both unencrypted and WPA/WPA2-encrypted connections. Also
812 the use of 5 GHz (802.11a standard) is possible if the wireless card supports it.
813 </p>
8d7dd2e9
MT
814
815 <p>
cc59f0e1
MT
816 Wireless card support in IPFire is excellent. The drivers in the stable kernel are very up-to-date
817 and IPFire therefore supports a significant amount of WLAN cards.
818 </p>
8d7dd2e9 819 </section>
0955047d 820 </div>
cc59f0e1 821 </div>
0955047d 822 </section>
cc59f0e1
MT
823 </div>
824 </div>
f9b71176 825
cc59f0e1
MT
826 <!-- Gallery Lightbox -->
827 <!-- Root element of PhotoSwipe. Must have class pswp. -->
828 <div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
829
8d7dd2e9 830 <!-- Background of PhotoSwipe.
cc59f0e1
MT
831 It's a separate element, as animating opacity is faster than rgba(). -->
832 <div class="pswp__bg"></div>
833
834 <!-- Slides wrapper with overflow:hidden. -->
835 <div class="pswp__scroll-wrap">
836
837 <!-- Container that holds slides. PhotoSwipe keeps only 3 slides in DOM to save memory. -->
838 <!-- don't modify these 3 pswp__item elements, data is added later on. -->
839 <div class="pswp__container">
840 <div class="pswp__item"></div>
841 <div class="pswp__item"></div>
842 <div class="pswp__item"></div>
843 </div>
844
845 <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
846 <div class="pswp__ui pswp__ui--hidden">
847 <div class="pswp__top-bar">
848
849 <!-- Controls are self-explanatory. Order can be changed. -->
850 <div class="pswp__counter"></div>
851 <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
852 <button class="pswp__button pswp__button--share" title="Share"></button>
853 <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
854 <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
855
856 <!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR -->
857 <!-- element will get class pswp__preloader--active when preloader is running -->
858 <div class="pswp__preloader">
859 <div class="pswp__preloader__icn">
860 <div class="pswp__preloader__cut">
861 <div class="pswp__preloader__donut"></div>
862 </div>
863 </div>
864 </div>
9b5ac075 865 </div>
e52b45b6 866
cc59f0e1 867 <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
8d7dd2e9 868 <div class="pswp__share-tooltip"></div>
e52b45b6 869 </div>
e52b45b6 870
cc59f0e1
MT
871 <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"></button>
872 <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"></button>
873
874 <div class="pswp__caption">
875 <div class="pswp__caption__center"></div>
e52b45b6 876 </div>
cc59f0e1 877 </div>
60b0917c 878 </div>
0955047d 879 </div>
cc59f0e1
MT
880 <script src="{{ static_url("js/photoswipe.min.js") }}"></script>
881 <script src="{{ static_url("js/photoswipe-ui-default.min.js") }}"></script>
882 <script src="{{ static_url("js/photoswipe-index.js") }}"></script>
883
884 <!-- Icons -->
885 <svg aria-hidden="true" style="display: none">
886 <symbol id="verified" viewBox="0 0 24 24">
887 <path d="M12 0L3 4v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V4l-9-4zm-2 16l-4-4 1.41-1.41L10 13.17l6.59-6.59L18 8l-8 8z"/>
888 </symbol>
889 <symbol id="warning" viewBox="0 0 24 24">
890 <path d="M1 20h22L12 1 1 20zm12-3h-2v-2h2v2zm0-4h-2V9h2v4z"/>
891 </symbol>
892 <symbol id="wifi" viewBox="0 0 24 24">
893 <path d="M1 8l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 1.93 7.08 1.93 1 8zm8 8l3 3 3-3a4.237 4.237 0 0 0-6 0zm-4-4l2 2a7.074 7.074 0 0 1 10 0l2-2C15.14 8.14 8.87 8.14 5 12z"/>
894 </symbol>
895 <symbol id="server" viewBox="0 0 24 24">
896 <<path d="M13 18h1a1 1 0 0 1 1 1h7v2h-7a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1H2v-2h7a1 1 0 0 1 1-1h1v-2H4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1h-7v2zM4 2h16a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm5 4h1V4H9v2zm0 8h1v-2H9v2zM5 4v2h2V4H5zm0 8v2h2v-2H5z"/>
897 </symbol>
898 </svg>
e52b45b6 899{% end block %}
9f043320
MT
900
901{% block javascript %}
902 <script>
903 $(document).ready(function () {
904 $("body").scrollspy({ target: "#sidebar", offset: 148 })
905
906 $("a[href^='#']").on("click", function(event) {
907 var target = $(this.getAttribute("href"));
908 if (target.length) {
909 event.preventDefault();
910
911 $("html, body").stop().animate({
912 scrollTop: target.offset().top - 147
913 }, 750);
914 }
915 });
916 });
917 </script>
918{% end block %}