Remote Access Security with Single-Packet Port Knocking WHO’S THERE? If You Are Looking for an Extra Layer of Remote Access Security, Try Single-Packet

Total Page:16

File Type:pdf, Size:1020Kb

Remote Access Security with Single-Packet Port Knocking WHO’S THERE? If You Are Looking for an Extra Layer of Remote Access Security, Try Single-Packet Cover sTory Single-Packet Port Knocking Remote access security with single-packet port knocking WHO’S THERE? If you are looking for an extra layer of remote access security, try single-packet port knocking. BY JULIET KEMP ublic key cryptography port-knocking configuration, all means that the traffic ports on the server are closed by Pis secured and that if default. To the outsider, the net- you verify keys correctly, it work seems inaccessible. A re- isn’t vulnerable to man-in-the- mote user who wants access at- middle attacks. Exploits are tempts to initiate a series of con- occasionally found, but they nections to a specific sequence are quickly fixed. However, of (closed) ports. These connec- your system could still be vul- tions are not successful, but they nerable to brute-force attacks. If are logged by the server. After the you have only a small number of appropriate sequence of connec- user accounts, if your usernames tion attempts (“knocks”), a dae- are unusual, and if your passwords mon running on the server edits the are carefully crafted, this might not firewall rules to allow a connection be an issue. But if you have multiple from the IP address that has originated users on a system, it becomes harder to the “knock” sequence. The user can ensure that all passwords really are se- then log in normally. cure. One solution is to run a password- The SSH port is thus opened only in guessing system such as John the Ripper certain circumstances (when a user [1], which can discover a poor pass- has demonstrated that they’re legiti- word before anyone with nefarious mate), rather than being open all the intentions has time to exploit it. time. A password is usually required Also, you can create firewall for login once the port is opened, pro- rules that establish a maximum viding an additional layer of security. number of connection at- Port knocking has a few benefits: tempts from the same IP • It’s hidden – an outsider cannot address, either indefi- detect whether a firewall is listen- nitely or for the next ing for port knocking (which is few minutes. (The lat- the most important feature). Even ter option is prefera- if a cracker has access to an SSH ble to avoid prob- exploit, they can’t get at the SSH lems for real users, server to try it out. who do occasion- • It’s very flexible – you ally mistype their can set up whatever rules password several you want. times.) • It’s foolproof – if you Another al- cannot rely on your users ternative is to create secure passwords, Olga Lyubkina, Fotolia Lyubkina, Olga port knock- you are vulnerable to brute- ing. In a force attacks, as well as to tradi- any holes in your SSH imple- tional mentation. 24 ISSUE 91 JUNE 2008 Single-Packet Port Knocking Cover sTory However, traditional port knocking also has some disadvantages. First, a cli- ent program needs to do the knocking. Depending on your users’ tolerance for such things – and your own ability to manage the remote client configuration – this could be problematic. Also, it might not be possible to run such a pro- gram from some locations (e.g., from a library or network cafe). If the server side of the process goes wrong, no one (including you!) will be able to connect to the machine. Port knocking also increases network traffic, although if the port-knocking configuration reduces the overall traffic because of scanning and brute-force at- tempts, this reduction could more than balance out the increased traffic for the knocking process. Another problem is that traditional port knocking isn’t ex- actly unbeatable: It might be possible for Figure 1: Setting up iptables. an attacker to monitor traffic and detect the knocking sequence. recommend that you use SPA solution in access.conf. The sample access.conf instead. file allows SSH access for 30 seconds single-Packet after the specified key is sent success- Authorization Installation fully, which is a reasonable default. A more recent version of the same basic To start, you’ll need to install the libp- The only line you actually need to edit idea – running a server that appears cap-dev package (on Debian), or which- is the one that begins with KEY – alter closed until the proper “secret knock” is ever package your distro uses to provide the key to a password of your choice. detected – is Single-Packet Authorization the PCAP development libraries. Then, Before starting fwknop, you need to (SPA). In contrast to traditional port download the most up-to-date fwknop set up your iptables config so that exist- knocking, which requires a sequence of tarball [3]. To unzip and install the soft- ing connections and loopback are al- several knocks, SPA requires, as its name ware, enter: lowed but all other connections are suggests, only a single encrypted packet dropped. Be very careful when setting to communicate all the information nec- $ tar zxf fwknop-1.9.1.tar.gz up iptables rules. It is entirely possible essary. $ cd fwknop-1.9.1 to lock yourself out of your server if you An SSH session can occur only after a $ ./install.pl get things wrong. valid encrypted packet is detected, and If you already have iptables running, as with port knocking, if you are looking During the install process, select server type iptables -F to flush all the rules; at the firewall/ server from outside. you for the local execution mode, then pcap then. set rules for the INPUT chain as can’t tell that sshd (or any other service) for the data acquisition method. Choose follows, is listening. your network interface when asked The major advantage of SPA is that its (probably eth0), and set the access alert iptables -A INPUT -d 1.2.3.4 U packets are not replayable, whereas with email address you want to use (this is -m state --state RELATED,U traditional port knocking, it is possible – the address that will receive an alert ESTABLISHED -j ACCEPT at least in theory – for an attacker who when the server is accessed or when ac- iptables -A INPUT -i lo -j U discovers the sequence to replay it. In cess is turned off again). You probably ACCEPT addition, SPA is faster and harder to want to choose yes for fwknop to run at iptables -P INPUT DROP detect because it requires only a single boot time. packet. To ensure that fwknop will run cor- and replace 1.2.3.4 with the IP address rectly on your system, run the test suite of your server. Fwknop after install: test/fwknop_test.pl from the This configuration accepts packets The best tool for implementing SPA is fwknop install directory. from established connections (first line) fwknop, available at the CipherDyne Now you need to complete the config- and from loopback connections (second website [2], which is operated by the uration by editing the file /etc/fwknop/ line), but it drops all other packets (third security researcher Michael Rash. Even access.conf, but you shouldn’t need to line). The OUTPUT and FORWARD though fwknop can also perform tradi- edit the config settings in /etc/fwknop/ chains are not affected – this code just tional port knocking, its authors strongly fwknop.conf: All the access rules are set changes the rules about which inbound JUNE 2008 ISSUE 91 25 Cover sTory Single-Packet Port Knocking packets are accepted. Now start fwknop with the passphrase, you can change this the changes in iptables as a connection with /etc/init.d/fwknop start. in access.conf on the server. If the test occurs. does not succeed, it is possible that the Testing Fwknop setup packet was sent over a high-value Using a GPG key To test your setup, you need a client as UDP port. A plaintext key might not be the ideal well as a server. Again, you will need to If your client and server are on differ- form of authentication. Fwknop also install libpcap-dev on the client machine ent networks with an external firewall supports GPG authorization, but you and then install fwknop as above; how- between them that blocks these ports, probably don’t want to use your regular ever, answer client during the installa- your “knock” packet will not get GPG key on the server end, since the tion process. through. If this is the case, you can edit password for decrypting it must be For an initial test, confirm that you the PCAP_FILTER value in /etc/fwknop/ stored in /etc/fwknop/access.conf. How- cannot log in to your server via SSH: fwknop.conf on the server to set a port ever, you can use an existing GPG key value that is allowed through, and then on the client end if you have one. $ ssh [email protected] use the --Server-port <port> switch In this example, I will assume you with the client fwknop command: don’t have one, and I'll go through the Although you should get no response, if steps to set up a new key at both ends. you do, check your iptables setup on the $ fwknop -A tcp/22 U To create the server key, use: server with iptables -L to list the rules. --Server-port 330 -a U Next, try sending the “knock” packet: client.example.com -k U $ gpg --gen-key server.example.com $ gpg --list-keys $ fwknop -A tcp/22 -a U client.example.com -D U To get more information on what is hap- The default options for the first com- server.example.com pening, you can run the daemon on the mand (DSA and Elgamal key, 2,048-bit server in debug or verbose mode: fw- key size, and no key expiry) are fine.
Recommended publications
  • A Single Packet Authorization System for Tor Bridges
    BridgeSPA: A Single Packet Authorization System for Tor Bridges by Robin Smits A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Mathematics in Computer Science Waterloo, Ontario, Canada, 2012 c Robin Smits 2012 I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii Abstract Tor is a network designed for low-latency anonymous communications. Tor clients form circuits through relays that are listed in a public directory, and then relay their encrypted traffic through these circuits. This indirection makes it difficult for a local adversary to determine with whom a particular Tor user is communicating. Tor may also be used to circumvent regional Internet censorship, since the final hop of a user’s connection can be in a different country. In response, some local adversaries restrict access to Tor by blocking each of the publicly listed relays. To deal with such an adversary, Tor uses bridges, which are unlisted relays that can be used as alternative entry points into the Tor network. Unfortunately, issues with Tor’s bridge implementation make it easy to discover large numbers of bridges. This makes bridges easy to block. Also, an adversary that hoards this information may use it to determine when each bridge is online over time. If a bridge operator also browses with Tor on the same machine, this information may be sufficient to deanonymize him.
    [Show full text]
  • An Object Oriented Approach for Port Knocking
    International Journal of New Innovations in Engineering and Technology An Object Oriented Approach for Port Knocking Prof. Dr. Sudan Jha School of Computer Engineering, Campus 15 KIIT University, Patia Bhubaneswar - 751024 Email- <[email protected]> <[email protected]> Abstract- Broadly, port knocking is a form of host-to-host communication in which information flows across closed ports. There are various variants of the port knocking method - information may be encoded into a port sequence or a packet-payload. In general, data are transmitted to closed ports and received by a monitoring daemon which intercepts the information without sending a receipt to the sender. In one instance, port knocking refers to a method of communication between two computers (arbitrarily named here client and server) in which information is encoded, and possibly encrypted, into a sequence of port numbers. This sequence is termed the knock. Initially, the server presents no open ports to the public and is monitoring all connection attempts. The client initiates connection attempts to the server by sending SYN packets to the ports specified in the knock. This process of knocking is what gives port knocking its name. The server offers no response to the client during the knocking phase, as it "silently" processes the port sequence. When the server decodes a valid knock it triggers a server- side process. It is sometimes desirable to allow access to open ports on a firewall only to authorized external users and present closed ports to all others. We examine ways to construct an authentication service to achieve this goal, and then examine one such method, “port knocking”, and its existing implementations, in detail.
    [Show full text]
  • Single Packet Authorization: the Ghost in the Machine
    toolsmith ISSA Journal | January 2010 Single Packet Authorization: The Ghost in the Machine By Russ McRee – ISSA member, Puget Sound (Seattle), USA Chapter Prerequisites 4. The authorization server passively monitors authorization packets via Linux libcap; there is no “server” connection build-essential, libpcap-dev, mailx for installation from in the traditional sense. source iptables – consider firewall.sh to test SPA 5. Access to a protected service is only granted after a valid encrypted and non-replayed packet is Similar Projects received from an fwknop client. No such thing ;-) 6. SPA can utilize asymmetric ciphers for encryption. oolsmith covered Michael Rash’s (Cipherdyne) fws- 7. SPA packets are non-replayable. nort in October 2008,1 and I knew then I’d be sure 8. SPA cannot be broken by trivial sequence busting attacks. to bring Single Packet Authorization (SPA)2 to your T 9. SPA only sends a single packet over the network; IDS will attention. When Michael recently discussed “Creating Ghost not interpret it as a port scan. Services with Single Packet Authorization”3 on his website, I knew it was time. Each time I engage with one of Michael’s 10. SPA is much faster because it only sends a single packet.5 offerings, I am reminded of what it is to encounter real ge- SPA has been under continued development since 2004. As nius. It’s not enough that Cipherdyne tools work really well; part of such ongoing efforts, Michael has a continued vision they’re also insanely cool. Further, Michael’s one of those regarding SPA and fwknop; his recent feedback follows: people who’d much rather talk about detective security ap- When the fwknop project was first started in 2004, it was writ- plications than himself.
    [Show full text]
  • Bachelor Thesis Project Behaviour of Port-Knocking Authentication
    Bachelor Thesis Project Behaviour of port-knocking authentication mechanism Author: Petko Gerdzhikov Supervisor: Ola Flygt Semester: VT 2016 Subject: Computer Science Abstract Port-knocking is a security mechanism used in computer systems to hide available network services. Its operation relies on a drop policy firewall setting in order to make impossible for port-scanning attacks to occur. This project researches the im- pact of implementing such a software solution. Furthermore, it looks into the be- haviour of three chosen implementations and make conclusions on the benefits and disadvantages that they bring. In addition, the surrounding implications related to both user and administrator are explored. This thesis includes tests on the resource consumption of the implementations as well as records of the added delay of using the mechanism when initiating a SSH session. There has not been such research performed in this field and the results of it could be beneficial to those who are in- volved in computer science and network security in particular. Finally, the product of this study state that port-knocking is overlooked and has great benefits in preventing zero-day exploits and hacker tools relying on exposed network services. Keywords: port knocking, network security, security through obscurity, concealment, single packet authorization Contents 1 Introduction1 1.1 Background and history...........................1 1.2 Previous research..............................1 1.3 Problem formulation and motivation....................2 1.4 Research
    [Show full text]
  • Hiding the SSH Port Via Smart Port Knocking
    INTERNATIONAL JOURNAL OF COMPUTERS Volume 11, 2017 Hiding the SSH port via smart Port Knocking Antonios S. Andreatos Abstract—A good security practice in web servers is to sequence will be the same each time the system re-starts; de-activate services when not needed in order to reduce the so-called another possible weakness is that if the generator has a small attack surface. For this purpose, port-knock software has been period, the pseudo-random sequence may be revealed, hence developed; port-knock software hides a specific port (in our case, the the system is not safe enough. In order to solve this problem, a SSH port) until a specific port sequence happens. A port-knock powerful PRNG could be used. software for Linux servers is knockd. A knockd server listens to all traffic on an Ethernet interface, looking for special knock sequences of port-hits. This paper proposes an advanced port-knocking mechanism 13821:tcp, 7803:udp, 19552:tcp, 35813:udp, 54926:udp based on a Pseudo-Random Number Generator and a Chaotic Random Number Generator which produces proper pseudo-random knock Fig. 1 Example port-knocking sequence sequences. The proposed mechanism produces different sequences each time and is highly parameterizable. This paper proposes an advanced port-knocking mechanism based on two totally uncorrelated PRNGs, which produces Keywords—Hénon map, knockd, knock sequences, pseudo-random number generator, port-knocking. different sequences each time. The proposed mechanism meets the following requirements: I. INTRODUCTION a) It generates a series of pseudo-random port numbers and/or protocols (TCP or UDP) and writes them in a special file; popular protocol for connecting to servers remotely is the produced pseudo-random is different in each run because it Secure Shell, or SSH.
    [Show full text]
  • Improved Port Knocking with Strong Authentication
    Improved Port Knocking with Strong Authentication Rennie deGraaf, John Aycock, and Michael Jacobson, Jr.∗ Department of Computer Science University of Calgary Calgary, Alberta, Canada fdegraaf,aycock,[email protected] Abstract is no way for users to authenticate themselves. A com- mon solution to this is to limit the hosts from which It is sometimes desirable to allow access to open users can connect. ports on a firewall only to authorized external users and The usual method of limiting the sources of network present closed ports to all others. We examine ways connections is to use a firewall. A firewall works by se- to construct an authentication service to achieve this lectively accepting or rejecting network packets based goal, and then examine one such method, “port knock- on their source addresses or other characteristics. Un- ing”, and its existing implementations, in detail. We fortunately, source addresses on packets tell little about improve upon these existing implementations by pre- the person who sent those packets; determined attack- senting a novel port knocking architecture that provides ers are quite capable of disguising the source of packets strong authentication while addressing the weaknesses that they send. Once a port on a firewall is open to one of existing port knocking systems. host, any attacker could potentially (ab)use that open- ing. Also, not all authorized users have predictable IP addresses, so granting them access through a firewall re- 1. Introduction quires opening the firewall to much or all of the Internet. Thus, while firewalls are useful and effective defenses Thirty-five years after the birth of the Internet, it against many attacks, they are not complete solutions.
    [Show full text]
  • Cryptographic One-Time Knocking
    COK¨ - Cryptographic One-Time Knocking David Worth - [email protected] http://www.hexi-dump.org Have you seen me? Port-Knocking: Define, Defend, Attack Define: Port-Knocking originally described a means of passing a shared secret from an arbitrary host to another, generally “secure”, host. This shared secret was nothing more than a (short) sequence of connect(2) calls to a sequence of ports, at which point the firewall would be opened to the sending host. i.e. 31335,31336,31337 -> Open Sesame, you’re SO |337! Attack: This system is vulnerable to a trivial replay attack. Some port-knocking systems which use cryptography to protect themselves from this attack use their source IP as part of their encrypted payload to specify the host to which the firewall should be opened; for the port-knock to be successful in a NATed context, a WiFi hotspot for example, the external address, which acts as the source address of the NAT provider, must be opened, at which point *any* user of the hotspot has access to the same service without replaying, or the ability to replay later from the hotspot. Defend: Applications of port-knocking include limiting access to important resources, using the port-knocking system as a gate-keeper, and those pesky replay attacks can be foiled via cryptographic techniques... Cryptographic Techniques Employed in Port-Knocking By using appropriate cryptographic techniques we can prevent replay attacks. Shared secrets are a bad idea, so we use a more appropriate system... One candidate for such a system is One-Time-Passwords (OTP A.K.A.
    [Show full text]
  • SILENTKNOCK: Practical, Provably Undetectable Authentication
    SILENTKNOCK: Practical, Provably Undetectable Authentication Eugene Y. Vasserman1, Nicholas Hopper1, John Laxson2, and James Tyra1 1 Computer Science and Engineering, University of Minnesota, Minneapolis, MN 55455 USA 2 Stanford University, Box 15255, Stanford, CA 94309 USA Abstract. Port knocking is a technique first introduced in the blackhat and trade literature to prevent attackers from discovering and exploiting potentially vul- nerable services on a network host, while allowing authenticated users to access these services. Despite being based on some sound principles and being a po- tentially useful tool, most work in this area suffers from a lack of a clear threat model or motivation. We introduce a formal security model for port knocking that addresses these issues, show how previous schemes fail to meet our defini- tion, and give a provably secure scheme that uses steganographic embedding of pseudorandom message authentication codes. We also describe the design and analysis of SILENTKNOCK, an implementation of this protocol for the Linux 2.6 operating system, that is provably secure, under the assumption that AES and a modified version of MD4 are pseudorandom functions, and integrates seamlessly with any existing application, with no need to recompile. Experiments indicate that the overhead due to running SILENTKNOCK on a server is minimal – on the order of 150 μs per TCP connection initiation. 1 Introduction A port scan is a kind of network attack (or attack precursor) in which an adversary attempts to connect to all, or some subset of, TCP and UDP ports at a given IP address. Port scans are useful to attackers because the results often indicate the operating system, architecture, and even a set of specific binaries that a host is running.
    [Show full text]
  • Closed Port Authentication with Port Knocking
    Closed Port Authentication with Port Knocking Phil Lunsford, Evan C. Wright East Carolina University, Greenville, NC Abstract Port knocking is a promising new technology to further secure remote services. This technology can be used to keep all TCP ports closed until a user has authenticated with a port knock sequence. During the port knock sequence all ports remain closed, thus rendering the server invisible to any malicious port scans. After a valid knock sequence has been verified by the system, a predetermined TCP or UDP port is opened allowing for a standard connection for a predefined service. This allows an extra layer of authentication at the transport layer without requiring changes to the application. A review of the current implementations is given. Introduction The addressing scheme for the TCP/IPv4 protocol allows for a unique 32-bit IP address for each computer. In addition to an IP address for a computer, 16-bit port numbers are used to establish logical connections for transmission of data. For a given packet being transmitted from a source to a destination, there is a total of two IP addresses, source and destination, and also two ports, source and destination. Most applications transmit data based on a client/server architecture. One machine is the server and the other is the client. When the client requests data from a server, the destination port number used in the requesting packet determines the service. For example, for a web browser running on a client computer to access a web page, a datagram with the destination of port 80 is sent to the server.
    [Show full text]
  • Disrupting Attacker Value Propositions in Residential Networks
    Disrupting Attacker Value Propositions in Residential Networks by Joseph Turcotte A Thesis Proposal Submitted to the Faculty of the WORCESTER POLYTECHNIC INSTITUTE In partial fulfillment of the requirements for the Degree of Master of Science in Computer Science by May 2021 APPROVED: Professor Craig A. Shue, Thesis Advisor Professor Mark L. Claypool, Thesis Reader Professor Craig E. Wills, Head of Department Abstract Attacks on residential networks continue to rise because poor security practices provide access for infiltration and compromised smart devices serve as ideal systems for botnets. Reducing the target on home networks requires a defense model that disrupts an attacker's value proposition; that is, the defense increases the required work to access a home network and decreases the perceived benefits of controlling home-networked devices. In this work, we explore two classes of home network security, namely remote access and residential proxy detection. Remote access is a simple and straightforward approach that addresses the threat of home network intrusion and allows homeowners to access their devices and services anywhere outside the network. With a remote access scheme in place, attackers must spend more time and effort to find and compromise vulnerable devices. Residential proxy detection addresses the threat of IoT malware that allows attackers to remotely control home-networked devices; furthermore, residential proxies are relatively new services, and thus detecting them has not received much attention in network security research. With a proxy detection scheme in place, attackers' benefits decrease because they lose control of home-networked devices once their activity is detected. We implement both classes of security services on a consumer-grade home router to show how the services work in practice.
    [Show full text]
  • WORLDCOMP'12 Typing Instructions for Preparation of Final Camera
    Port Knocking- An Additional Layer of Security for SSH and HTTPS Jigar A. Raval1, and Samuel Johnson1 1Computer Center, Physical Research Laboratory, Ahmedabad, Gujarat, India attempts from different or same IP addresses. The SSH, Abstract - The availability of communication resources HTTPS does not limit unsuccessful login attempts by itself. remote access of e-mails and data is increasingly required There are multiple ways to deal with problem. One good way and desirable by users. This, however, implies security of user is to use different non-standard port to hide the service to data and e-mails. The vulnerability of the system depends on discover and use the service vulnerabilities to exploit the the ability to scan the system for an open port and on the server. But using latest freely available tools like nmap[1] a service running on the open port. Such open ports are entry complete scan of all the ports on the server will quickly reveal points for attacks. Masking of open ports and services on the the open port and get the associated service detail like version system, using port knocking technique, provides a simple and of the service, running on the server. Then the hackers use the reliable method. Initially, during the port knock sequence all details, to find the vulnerabilities of the service and try to the ports remains closed, thus the services or open ports exploit the system using the service vulnerabilities. Another become invisible to any malicious port scan. After a valid port important point is to have a strong authentication mechanism.
    [Show full text]
  • Split Management of TR069 Enabled CPE Devices
    POLITECNICO DI TORINO III Facolta` di Ingegneria Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Master of Science Thesis Split Management of TR069 Enabled CPE Devices Supervisor: Author: Prof. Marco Mellia Juan Pablo Martinez Rojas Dipl. Ing. Max Riegel Dipl. Ing. Klaus Wich June, 2011 1 Summary Everyday the world witnesses the overwhelming telecommunications' revolution that has been unleashed over the past few decades. The new ways of communications have changed and touched most of the inhabitants of our planet, reaching even the most remote places, transforming the way how people communicate, interact, work, study and more. All these aspects of life have been affected for a new generation of amazing devices and technologies that give the chance to people to stay connected any time and anywhere. Nonetheless, due to the incredibly growth of the mobile industry and its evolution, an evolution that indeed is happening at rates that even 5 years ago would have been really difficult to foreseen, is leading the mobile networks into a stage of data overload. Fuelled by the new smart-phone devices, USB dongles, tablet PCs and all the new generation of mobile devices, it is estimated that the mobile networks have increased their data load in 159% from 2009 to 2010[10], and the market is expected to grow even more in the years to come. The exponential growth of this huge wave of data bytes going through the networks is also result of the big competition between mobile companies with all their flat rates of unlimited data consume in order to attract more customers.
    [Show full text]