Complete C programming training course description A hands-on introduction to programming in the ANSI C programming language. The course initially moves at a fast pace in order to spend as much time as possible on the subject of pointers - the area which cause the most bugs in C programs. What will you learn Write ANSI C programs Use the C libraries Debug C programs Examine existing code and determine its function. Complete C programming training course details Who will benefit: Programmers wishing to learn C. Programmers wishing to learn C++ or Java. Prerequisites: None, although experience in another high level language would be useful. Duration 5 days Complete C programming training course contents Getting started The compilation process, comments, main(), statement blocks, printf(). C data types and operators char, int, float and double, qualifiers, arithmetic and assignment operators, precedence, Associativity. Basic I/O C libraries, stdin and stdout, getchar(), putchar(), printf() formatting. Flow control if else, dangling elses, else if, while and for loops. switch statements, the null statement, break, continue and gotos. Functions Function calls, arguments and return types, function declarations (prototypes), function definitions, scope of variables. The preprocessor Preprocessor actions, macros, #include. Libraries and their relationship with header files. Conditional compilation. More data types and operators Logical, bitwise and other operators, type conversion, casting, typedefs and access modifiers. Arrays Declaring and handling arrays, common gotchas, multidimensional arrays. Pointers What are pointers? Why they are so important, declaring and using pointers,The three uses of the *,pointer example - scanf, pointers as arguments. More pointers Golden rules of pointers and arrays, pointers to arrays, pointer arithmetic, arrays of pointers, multiple indirection. Character/string manipulation Arrays of characters, string definition, working with strings, String library. Program arguments argc and argv, example uses,char *argv[] versus char ** argv. Program structure and storage classes Globals (externals), multi source programs, the look of a C program. Structures Declaration, the . and - operators, unions and bitfields. Library functions File handling, fopen and fclose, reading from and writing to files, fseek().calloc() and malloc()
Programming in HTML5 with CSS course description This course provides an introduction to HTML5, CSS3, and JavaScript. It is an entry point into both the Web application and Windows Store apps training paths. The course focuses on using HTML5 / CSS3 / JavaScript to implement programming logic, define and use variables, perform looping and branching, develop user interfaces, capture and validate user input, store data, and create well-structured application. What will you learn Create and style HTML5 pages. Use JavaScript. Style HTML5 pages by using CSS3. Use common HTML5 APLs in interactive Web applications. Create HTML5 Web pages that can adapt to different devices and form factors. Enhance the user experience by adding animations to the HTML5 page. Programming in HTML5 with CSS course details Who will benefit: Website developers. Prerequisites: HTML5 development fundamentals. Duration 5 days Programming in HTML5 with CSS course contents Overview of HTML and CSS Overview of HTML, Overview of CSS, Creating a Web Application by Using Visual Studio 2012. Hands on Exploring the Contoso Conference Application. Creating and Styling HTML5 Pages Creating an HTML5 Page, Styling an HTML5 Page. Hands on Creating and Styling HTML5 Pages. Introduction to JavaScript Overview of JavaScript Syntax, Programming the HTML DOM with JavaScript, Introduction to jQuery. Hands on Displaying Data and Handling Events by Using JavaScript. Creating Forms to Collect and Validate User Input Overview of Forms and Input Types, Validating User Input by Using HTML5 Attributes, Validating User Input by Using JavaScript. Hands on Creating a Form and Validating User Input. Communicating with a Remote Data Source Sending and Receiving Data by Using XMLHTTPRequest, Sending and Receiving Data by Using jQuery AJAX operations. Hands on Communicating with a Remote Data Source. Styling HTML5 by Using CSS3 Styling Text, Styling Block Elements, CSS3 Selectors, Enhancing Graphical Effects by Using CSS3. Hands on Styling Text and Block Elements using CSS3. Creating Objects and Methods by Using JavaScript Writing Well-Structured JavaScript, Creating Custom Objects, Extending Objects. Hands on Refining Code for Maintainability and Extensibility. Creating Interactive Pages using HTML5 APIs Interacting with Files, Incorporating Multimedia, Reacting to Browser Location and Context, Debugging and Profiling a Web Application. Hands on Creating Interactive Pages by Using HTML5 APIs. Adding Offline Support to Web Applications Reading and Writing Data Locally, Adding Offline Support by Using the Application Cache. Hands on Adding Offline Support to a Web Application. Implementing an Adaptive User Interface Supporting Multiple Form Factors, Creating an Adaptive User Interface. Hands on Implementing an Adaptive User Interface. Creating Advanced Graphics Creating Interactive Graphics by Using Scalable Vector Graphics, Programmatically Drawing Graphics by Using a Canvas. Hands on Creating Advanced Graphics. Animating the User Interface Applying CSS Transitions, Transforming Elements, Applying CSS Key-frame Animations. Hands on Animating User Interface Elements. Web Sockets for Real-Time Communications Introduction to Web Sockets, Sending and Receiving Data by Using Web Sockets. Hands on Implementing Real-Time Communications by Using Web Sockets. Creating a Web Worker Process Introduction to Web Workers, Performing Asynchronous Processing by Using a Web Worker. Hands on Creating a Web Worker Process.
Java training course description A comprehensive introduction of the Java language and environment. It is important to note that the course will assume that the delegates are already familiar with the C language as this enables more advanced features of the Java language to be covered in the course. The course will also give an overview of areas related to programming in Java. What will you learn Describe the Java architecture. Write Java applets and applications. Debug Java programs. Examine existing code and determine its function. Use multimedia extensions, the awt, multithreading, exceptions within Java Java training course details Who will benefit: Those wishing to program in Java. Prerequisites: Complete C programming Duration 5 days Java training course contents Review of UNIX fundamentals What is Java? What Java is, history of Java, reasons for success. The Java Virtual Machine, Bytecodes, getting up and running with Java, Java resources. Simple Java applications. C features in Java Java data structures, Java flow control, differences from C, arrays, strings and packages. OO features in Java Java classes and objects, inheritance, overloading, packages. Differences from C++. Java applets Applications vs. applets, HTML, the applet tag, applet methods, life cycle, testing and debugging. Multimedia applets Images, sounds, fonts, colours and animation. Java products The JDK in detail, other development environments. Javabeans and JDBC overviews. Abstract Window Toolkit JFC and Swing versus AWT. Event handling (JDK 1.1), GUIs, panels, buttons, lists, scrollbars, text areas, frames⦠Exception handling and multithreading Handling exceptions. Starting, pausing, stopping threads, producers, consumers, monitoring. More standard classes Java file I/O, Streams, The system class. The networking model, java.net classes. Security and Java Types of attack, the security manager, craplets, securing the network. Integrating legacy code with Java
Cyber security training course description This cyber security course focusses on the network side of security. Technologies rather than specific products are studied focussing around the protection of networks using firewalls and VPNs. What will you learn Describe: - Basic security attacks - RADIUS - SSL - VPNs Deploy firewalls and secure networks Explain how the various technologies involved in an IP VPN work. Describe and implement: - L2TP - IPsec - SSL - MPLS, L3, VPNs. Cyber security training course details Who will benefit: Anyone working in the security field. Prerequisites: TCP/IP foundation for engineers Duration 5 days Cyber security training course contents Security review Denial of service, DDOS, data manipulation, data theft, data destruction, security checklists, incident response. Security exploits IP spoofing, SYN attacks, hijacking, reflectors and amplification, keeping up to date with new threats. Hands on port scanning, use a 'hacking' tool. Client and Server security Windows, Linux, Log files, syslogd, accounts, data security. Hands on Server hardening. Firewall introduction What is a firewall? Firewall benefits, concepts. HAnds on launching various attacks on a target. Firewall types Packet filtering, SPI, Proxy, Personal. Software firewalls, hardware firewalls. Firewall products. Hands on Simple personal firewall configuration. Packet filtering firewalls Things to filter in the IP header, stateless vs. stateful filtering. ACLs. Advantages of packet filtering. Hands on Configuring packet filtering firewalls. Stateful packet filtering Stateful algorithms, packet-by-packet inspection, application content filtering, tracks, special handling (fragments, IP options), sessions with TCP and UDP. Firewall hacking detection: SYN attacks, SSL, SSH interception. Hands on SPI firewalls. Proxy firewalls Circuit level, application level, SOCKS. Proxy firewall plusses and minuses. Hands on Proxy firewalls. Firewall architectures Small office, enterprise, service provider, what is a DMZ? DMZ architectures, bastion hosts, multi DMZ. Virtual firewalls, transparent firewalls. Dual firewall design, high availability, load balancing, VRRP. Hands on Resilient firewall architecture. Testing firewalls Configuration checklist, testing procedure, monitoring firewalls, logging, syslog. Hands on Testing firewalls. Encryption Encryption keys, Encryption strengths, Secret key vs Public key, algorithms, systems, SSL, SSH, Public Key Infrastructures. Hands on Password cracking. Authentication Types of authentication, Securid, Biometrics, PGP, Digital certificates, X.509 v3, Certificate authorities, CRLs, RADIUS. Hands on Using certificates. VPN overview What is a VPN? What is an IP VPN? VPNs vs. Private Data Networks, Internet VPNs, Intranet VPNs, Remote access VPNs, Site to site VPNs, VPN benefits and disadvantages. VPN Tunnelling VPN components, VPN tunnels, tunnel sources, tunnel end points, tunnelling topologies, tunnelling protocols, which tunnelling protocol? Requirements of tunnels. L2TP Overview, components, how it works, security, packet authentication, L2TP/IPsec, L2TP/PPP, L2 vs L3 tunnelling. Hands on Implementing a L2TP tunnel. IPsec AH, HMAC, ESP, transport and tunnel modes, Security Association, encryption and authentication algorithms, manual vs automated key exchange, NAT and other issues. Hands on Implementing an IPsec VPN. SSL VPNs Layer 4 VPNs, advantages, disadvantages. SSL. TLS. TLS negotiation, TLS authentication. TLS and certificates. Hands on Implementing a SSL VPN. MPLS VPNs Introduction to MPLS, why use MPLS, Headers, architecture, label switching, LDP, MPLS VPNs, L2 versus L3 VPNs. Point to point versus multipoint MPLS VPNs. MBGP and VRFs and their use in MPLS VPNs. Hands on Implementing a MPLS L3 VPN. Penetration testing Hacking webservers, web applications, Wireless networks and mobile platforms. Concepts, threats, methodology. Hands on Hacking tools and countermeasures.
C++ training course description A hands on introduction to programming in the C++ language. The course concentrates on aspects that will be new to experienced C programmers and so is not suitable for those without C knowledge. What will you learn Write C++ programs Debug C++ programs. Examine existing code and determine its function. Use classes, function overloading, operator overloading, inheritance and virtual functions within C++ programs. C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C programming foundation. Duration 5 days C++ training course contents The origins of C++ C++ as a better C, C++ and Object Oriented Programming, encapsulation, polymorphism, inheritance. C++ standards. Getting started Simple C++ programs. Classes Basics, constructor and destructor functions, member and friend functions. Using objects. Default, copy and conversion constructors. A better C Arrays, pointers and references, new and delete. Improved safety with smart pointers, Resource Acquisition in Initialization (RAII). Functions in C++ Function overloading, default arguments, inline functions, Lambda functions. Templates Template classes and functions. Standard Library Containers, Iterators, algorithms, function objects. Operator overloading Basics, binary operators, the this pointer, relational operators, unary operators. Members versus friends. Inheritance Base class access control, protected members, multiple inheritance, virtual base classes. More I/O Manipulators, customising inserters, extractors. File I/O. Virtual functions Pointers to derived classes, run time polymorphism. Exception handling Throwing errors, trying code and catching errors.
Complete C# programming training course description This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language. Students review the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of the .NET Framework. What will you learn Use the syntax and features of C#. Create and call methods, catch and handle exceptions, and describe the monitoring requirements of large-scale applications. Implement a typical desktop application. Create class, define and implement interfaces, and create and generic collections. Read and write data to/from files. Build a GUI using XAML. Complete C# programming training course details Who will benefit: Programmers wishing to learn C#. Prerequisites: Developers attending this course should already have gained some limited experience using C# to complete basic programming tasks. Duration 5 days Complete C# programming training course contents Review of C# Syntax Overview of Writing Applications using C#, Datatypes, Operators, and Expressions. C# Programming Language Constructs. Hands on Developing the Class Enrolment Application. Methods, exceptions and monitoring apps Creating and Invoking Methods. Creating Overloaded Methods and Using Optional and Output Parameters. Handling Exceptions. Monitoring Applications. Hands on Extending the Class Enrolment Application Functionality. Developing a graphical application Implementing Structs and Enums. Organizing Data into Collections. Handling Events. Hands on Writing the Grades Prototype Application. Classes and Type-safe collections Creating Classes. Defining and Implementing Interfaces. Implementing Type-safe Collections. Hands on Adding Data Validation and Type-safety to the Grades Application. Class hierarchy using Inheritance Class hierarchies. Extending .NET framework classes. Creating generic types. Hands on Refactoring common functionality into the User Class. Reading and writing local data Reading and Writing Files. Serializing and Deserializing Data. Performing I/O Using Streams. Hands on Generating the Grades Report. Accessing a Database Creating and using entity data models. Querying and updating data by using LINQ. Hands on Retrieving and modifying grade data. Accessing remote data Accessing data across the web and in the cloud. Hands on Modifying grade data in the Cloud. Designing the UI for a graphical applicatione Using XAML to design a User Interface. Binding controls to data. Styling a UI. Hands on Customizing Student Photographs and Styling the Application. Improving performance and responsiveness Implementing Multitasking by using tasks and Lambda Expressions. Performing operations asynchronously. Synchronizing concurrent data access. Hands on Improving the responsiveness and performance of the application. Integrating with unmanaged code Creating and using dynamic objects. Managing the Lifetime of objects and controlling unmanaged resources. Hands on Upgrading the grades report. Creating reusable types and assemblies Examining Object Metadata. Creating and Using Custom Attributes. Generating Managed Code. Versioning, Signing and Deploying Assemblies. Hands on Specifying the Data to Include in the Grades Report. Encrypting and Decrypting Data Implementing Symmetric Encryption. Implementing Asymmetric Encryption. Hands on Encrypting and Decrypting Grades Reports.
Advanced Java training course description A tour of the more advanced features of Java following on from the Introduction to Java course. JDBC and JavaBeans are covered in separate courses. What will you learn Use Java to implement OOA/D. Use within Java programs - Internationalisation - Object serialisation - Reflection - RMI - Swing - JAR files Write Servlets and Java Server Pages Advanced Java training course details Who will benefit: Those wishing to program in Java. Prerequisites: Introduction to Java programming Duration 5 days Advanced Java training course contents What you should already know OO features in Java Static initialisers, object destruction, finalisation, constructor chaining, shadowing, Abstract classes and interfaces, inner classes, nested classes, member classes, local classes, anonymous classes. Internationalisation Locales, Unicode, local customs, localising messages. Object Serialisation Simple and custom serialisation, class versioning. Reflection Obtaining class and member information. RMI Restrictions, RMI architecture, Stubs, skeletons, rmic, the registry server, The RMI API. Swing An overview, examples, comparison vs. AWT, data transfer cut & paste. Servlets Servlet API, Java Web server, The servlet life cycle, chaining servlets, Hybrid servlets. JAR files and signed applet JAR files and signed applet
Complete Python training course description Python is an agile, robust, expressive, fully objectoriented, extensible, and scalable programming language. It combines the power of compiled languages with the simplicity and rapid development of scripting languages. This course covers Python from the very basics of 'hello world!' through to object oriented programming and advanced topics such as multi threading. Hands on follows all the major sections in order to reinforce the theory. What will you learn Read Python programs. Write Python programs. Debug Python programs. Use Python's objects and memory model as well as its OOP features. Complete Python programming training course details Who will benefit: Anyone wishing to learn Python. Prerequisites: None. Duration 5 days Complete Python programming training course contents Welcome to Python: What is Python? Origins, features. Downloading and installing Python, Python manuals, comparing Python, other implementations. Getting started: Program output, the print statement, "hello world!", Program input, raw_input(), comments, operators, variables and assignment, numbers, strings, lists and tuples, dictionaries, indentation, if statement, while Loop, for loop. range(), list comprehensions. Files, open() and file() built-in functions. Errors and exceptions. Functions, Classes, Modules, useful functions. Python basics: Statements and syntax, variable assignment, identifiers, basic style guidelines, memory management, First Python programs, Related modules/developer tools. Python Objects: Other built-in types, Internal Types, Standard type operators, Standard type built-in functions, Categorizing standard types, Unsupported types. Numbers: Integers, Double precision floating point numbers, Complex numbers, Operators, Built-in and factory functions, Other numeric types. Sequences: strings, lists, and tuples: Sequences, Strings, Strings and operators, String-only operators, Built-in functions, String built-in methods, Special features of strings, Unicode, Summary of string highlights, Lists, Operators, Built-in functions, List type built-in methods, Special features of lists, Tuples, Tuple operators and built-in functions, Tuples special features, Copying Python objects and shallow and deep copies. Mapping and set types: Mapping Type: dictionaries and operators, Mapping type built-in and factory functions, Mapping type built-in methods, Dictionary keys, Set types, Set type operators, Built-in functions, Set type built-in methods. Conditionals and loops: If, else and elif statements, Conditional expressions, while, for, break, continue and pass statements, else statement . . . take two, Iterators and iter(), List comprehensions, Generator expressions. Files and input/output: File objects, File built-in functions [open() and file()], File built-in methods and attributes, Standard files, Command-line arguments, File system, File execution, Persistent storage modules. Errors and exceptions: What are exceptions? Detecting and handling exceptions, Context management, Exceptions as strings, Raising exceptions, Assertions, Standard exceptions, Creating Exceptions, Why exceptions, Exceptions and the sys module. Functions: Calling, creating and passing functions, formal arguments, variable-length arguments, functional programming, Variable scope, recursion, generators. Modules: Modules and files, Namespaces, Importing modules, Module import features, Module built-in functions, Packages, Other features of modules. Object-Oriented Programming (OOP): Classes, Class attributes, Instances, Instance attributes, Binding and method invocation, Static methods and class methods, Composition, Sub-classing and derivation, Inheritance, Built-in functions for classes, and other objects, Customizing classes with special methods, Privacy, Delegation, Advanced features of new-style classes (Python 2.2+), Related modules and documentation. Execution environment: Callable and code Objects, Executable object statements and built-in functions, Executing other programs. 'Restricted' and 'Terminating' execution, operating system interface. Regular expressions: Special symbols and characters, REs and Python, Regular expressions example. Network programming: Sockets: communication endpoints, Network programming in Python, SocketServer module, Twisted framework introduction. Internet client programming: What are internet clients? Transferring files, Network news, E-mail. Multithreaded Programming: Threads and processes Python, threads, and the global interpreter lock, The thread and threading Modules. GUI programming: Tkinter and Python programming, Tkinter Examples, Brief tour of other GUIs. Web programming: Web surfing with Python: creating simple web clients, Advanced Web clients, CGI: helping web servers process client data, Building CGI applications, Using Unicode with CGI, Advanced CGI, Web (HTTP) Servers. Database programming: Python database application programmer's interface (DB-API), ORMs. Miscellaneous Extending Python by writing extensions, Web Services, programming MS Office with Win32 COM, Python and Java programming with Jython.
CWSP training course description A hands-on training course concentrating solely on WiFi security with an emphasis on the delegates learning the necessary knowledge and skills to pass the CWSP exam. The course progresses from simple authentication, encryption and key management onto in depth coverage of 802.X and EAP along with many other security solutions such as access control, intrusion prevention and secure roaming. What will you learn Demonstrate the threats to WiFi networks. Secure WiFi networks. Configure: WPA2 RADIUS 802.1x EAP Pass the CWSP exam. CWSP training course details Who will benefit: Technical network staff. Technical security staff. Prerequisites: Certified Wireless Network Associate. Duration 5 days CWSP training course contents WLAN Security overview Standards, security basics, AAA, 802.11 security history. Hands on WLAN connectivity. Legacy 802.11 security Authentication: Open system, shared key. WEP. VPNs. MAC filters. SSID segmentation, SSID cloaking. Hands on Analysing 802.11 frame exchanges, viewing hidden SSIDs. Encryption Basics, AES, TKIP, CCMP, WPA, WPA2. Hands on Decrypting 802.11 data frames. 802.11 layer 2 authentication 802.1X: Supplicant, Authenticator, Authentication server. Credentials. Legacy authentication. EAP, Weak EAP protocols, Strong EAP protocols: EAP -PEAP, EAP-TTLS, EAP-TLS, EAP-FAST. Hands on Analysing 802.1X/EAP frames. 802.11 layer 2 dynamic key generation Robust Security Network. Hands on Authentication and key management. SOHO 802.11 security WPA/WPA2 personal, Preshared Keys, WiFi Protected Setup (WPS). Hands on PSK mapping. WLAN security infrastructure DS, Autonomous APs, WLAN controllers, split MAC, mesh, bridging, location based access control. Resilience. Wireless network management system. RADIUS/LDAP servers, PKI, RBAC. Hands on 802.1X/EAP configuration. RADIUS configuration. 802.11 Fast secure roaming History, RSNA, OKC, Fast BSS transition, 802.11k. Hands on Roaming. Wireless security risks Rogue devices, rogue prevention. Eavesdropping, DOS attacks. Public access and hotspots. Hands on Backtrack. WiFi security auditing Layer 1 audit, layer 2 audit, pen testing. WLAN security auditing tools. WiFi security monitoring Wireless Intrusion Detection and Prevention Systems. Device classification, WIDS/WIPS analysis. Monitoring. 802.11w. Hands on Laptop spectrum analysers. VPNs, remote access, guest access Role of VPNs in 802.11, remote access, hotspots, captive portal. Wireless security policies General policy, functional policy, recommendations.
Securing Linux systems training course description This course teaches you everything you need to know to build a safe Linux environment. The first section handles cryptography and authentication with certificates, openssl, mod_ssl, DNSSEC and filesystem encryption. Then Host security and hardening is covered with intrusion detection, and also user management and authentication. Filesystem Access control is then covered. Finally network security is covered with network hardening, packet filtering and VPNs. What will you learn Secure Linux accounts. Secure Linux file systems. Secure Linux access through the network. Securing Linux systems training course details Who will benefit: Linux technical staff needing to secure their systems. Prerequisites: Linux system administration (LPIC-1) Duration 5 days Securing Linux systems training course contents Cryptography Certificates and Public Key Infrastructures X.509 certificates, lifecycle, fields and certificate extensions. Trust chains and PKI. openssl. Public and private keys. Certification authority. Manage server and client certificates. Revoke certificates and CAs. Encryption, signing and authentication SSL, TLS, protocol versions. Transport layer security threats, e.g. MITM. Apache HTTPD with mod_ssl for HTTPS service, including SNI and HSTS. HTTPD with mod_ssl to authenticate users using certificates. HTTPD with mod_ssl to provide OCSP stapling. Use OpenSSL for SSL/TLS client and server tests. Encrypted File Systems Block device and file system encryption. dm-crypt with LUKS to encrypt block devices. eCryptfs to encrypt file systems, including home directories and, PAM integration, plain dm-crypt and EncFS. DNS and cryptography DNSSEC and DANE. BIND as an authoritative name server serving DNSSEC secured zones. BIND as an recursive name server that performs DNSSEC validation, KSK, ZSK, Key Tag, Key generation, key storage, key management and key rollover, Maintenance and resigning of zones, Use DANE. TSIG. Host Security Host Hardening BIOS and boot loader (GRUB 2) security. Disable useless software and services, sysctl for security related kernel configuration, particularly ASLR, Exec-Shield and IP / ICMP configuration, Exec-Shield and IP / ICMP configuration, Limit resource usage. Work with chroot environments, Security advantages of virtualization. Host Intrusion Detection The Linux Audit system, chkrootkit, rkhunter, including updates, Linux Malware Detect, Automate host scans using cron, AIDE, including rule management, OpenSCAP. User Management and Authentication NSS and PAM, Enforce password policies. Lock accounts automatically after failed login attempts, SSSD, Configure NSS and PAM for use with SSSD, SSSD authentication against Active Directory, IPA, LDAP, Kerberos and local domains, Kerberos and local domains, Kerberos tickets. FreeIPA Installation and Samba Integration FreeIPA, architecture and components. Install and manage a FreeIPA server and domain, Active Directory replication and Kerberos cross-realm trusts, sudo, autofs, SSH and SELinux integration in FreeIPA. Access Control Discretionary Access Control File ownership and permissions, SUID, SGID. Access control lists, extended attributes and attribute classes. Mandatory Access Control TE, RBAC, MAC, DAC. SELinux, AppArmor and Smack. etwork File Systems NFSv4 security issues and improvements, NFSv4 server and clients, NFSv4 authentication mechanisms (LIPKEY, SPKM, Kerberos), NFSv4 pseudo file system, NFSv4 ACLs. CIFS clients, CIFS Unix Extensions, CIFS security modes (NTLM, Kerberos), mapping and handling of CIFS ACLs and SIDs in a Linux system. Network Security Network Hardening FreeRADIUS, nmap, scan methods. Wireshark, filters and statistics. Rogue router advertisements and DHCP messages. Network Intrusion Detection ntop, Cacti, bandwidth usage monitoring, Snort, rule management, OpenVAS, NASL. Packet Filtering Firewall architectures, DMZ, netfilter, iptables and ip6tables, standard modules, tests and targets. IPv4 and IPv6 packet filtering. Connection tracking, NAT. IP sets and netfilter rules, nftables and nft. ebtables. conntrackd Virtual Private Networks OpenVPN server and clients for both bridged and routed VPN networks. IPsec server and clients for routed VPN networks using IPsec-Tools / racoon. L2TP.